Доступ к объектам контекстного меню значка панелей с AppleScript

Там какой-либо путь состоит в том, чтобы заставить AppleScript получать доступ к пунктам меню, которые подходят, когда Вы щелкаете правой кнопкой по значку панелей?

А именно, вот то, что я хочу сделать:

Я использую Google Chrome в качестве своего веб-браузера на MacOS X Snow Leopard. Я - наркоман сочетания клавиш, и я использую QuickSilver для создания сочетаний клавиш для чего-либо, что я могу. Одна из наиболее распространенных вещей, которые я делаю, состоит в том, чтобы открыть новое окно веб-браузера. Но я использую Пробелы часто для разделения моих задач, что я в настоящее время продолжаю работать, и когда я открываю веб-браузер, или веб-страница с триггером QuickSilver, пробелы переключаются на последнее пространство, на котором я использовал Chrome и открываю новую вкладку, которая часто отвлекает меня на часы, потому что это приносит мне к другому пространству и таким образом другой задаче. Я могу зафиксировать это путем щелчка правой кнопкой по значку Google Chrome и нажатия на опцию "New Window", которая открывает новое окно на текущем пространстве. Но в AppleScript, чтобы сделать что-либо с Google Chrome, первая вещь, которую я должен сделать, активируют его, который возвращает меня исходной проблеме! Кто-либо может думать о решении этой проблемы, AppleScript или иначе? Это стало серьезной проблемой. Назад, когда я использовал Firefox, я решил проблему путем изменения предпочтительного объекта, который говорит "Всегда открытые всплывающие ссылки в новом окне" или чем-то как этот, который был своего рода подходом молотка саней, но это работало. Я могу всегда возвращаться к Firefox, но я думал, что задам свой вопрос здесь сначала. Кто-либо с какими-либо идеями?

7
задан Vadim Kotov 11 August 2017 в 09:25
поделиться

2 ответа

Для всех, кто заинтересован, я думаю, что у меня есть разумное рабочее решение этой проблемы, но оно не включает в себя щелчок правой кнопкой мыши по значкам в доке.

Во-первых, необходимо снять флажок «При переключении на приложение переключаться на пространство с открытыми окнами для приложения» на панели настроек «Пространства» в Системных настройках. Затем я написал следующий AppleScript:

tell application "Google Chrome" to activate

tell application "System Events"
    tell process "Google Chrome"
        try
            set var to get name of window 1
        on error
            set var to "no window exists!!!"
        end try
    end tell
end tell

if var is "no window exists!!!" then
    tell application "System Events"
        tell process "Google Chrome"
            click menu item "New Window" of menu "File" of menu bar 1
        end tell
    end tell
else
    tell application "System Events"
        tell process "Google Chrome"
            click menu item "New Tab" of menu "File" of menu bar 1
        end tell
    end tell
end if

Я запускаю этот AppleScript с помощью Spark, что позволяет мне назначить ему комбинацию клавиш.

Это немного медленно, особенно когда система находится под нагрузкой, но обычно запуск не занимает больше секунды или около того. Это также позволяет избежать проблемы, с которой я столкнулся с Firefox, когда в конце дня у меня были открыты десятки окон.

3
ответ дан 6 December 2019 в 08:42
поделиться

Ночные сборки Chromium теперь содержат поддержку AppleScript, и вскоре она должна появиться в Chrome. Это означает, что теперь вы можете сделать:

tell application "Chromium"
    make new window
    activate
end tell
3
ответ дан 6 December 2019 в 08:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: