Там какой-либо путь состоит в том, чтобы заставить AppleScript получать доступ к пунктам меню, которые подходят, когда Вы щелкаете правой кнопкой по значку панелей?
А именно, вот то, что я хочу сделать:
Я использую Google Chrome в качестве своего веб-браузера на MacOS X Snow Leopard. Я - наркоман сочетания клавиш, и я использую QuickSilver для создания сочетаний клавиш для чего-либо, что я могу. Одна из наиболее распространенных вещей, которые я делаю, состоит в том, чтобы открыть новое окно веб-браузера. Но я использую Пробелы часто для разделения моих задач, что я в настоящее время продолжаю работать, и когда я открываю веб-браузер, или веб-страница с триггером QuickSilver, пробелы переключаются на последнее пространство, на котором я использовал Chrome и открываю новую вкладку, которая часто отвлекает меня на часы, потому что это приносит мне к другому пространству и таким образом другой задаче. Я могу зафиксировать это путем щелчка правой кнопкой по значку Google Chrome и нажатия на опцию "New Window", которая открывает новое окно на текущем пространстве. Но в AppleScript, чтобы сделать что-либо с Google Chrome, первая вещь, которую я должен сделать, активируют его, который возвращает меня исходной проблеме! Кто-либо может думать о решении этой проблемы, AppleScript или иначе? Это стало серьезной проблемой. Назад, когда я использовал Firefox, я решил проблему путем изменения предпочтительного объекта, который говорит "Всегда открытые всплывающие ссылки в новом окне" или чем-то как этот, который был своего рода подходом молотка саней, но это работало. Я могу всегда возвращаться к Firefox, но я думал, что задам свой вопрос здесь сначала. Кто-либо с какими-либо идеями?
Для всех, кто заинтересован, я думаю, что у меня есть разумное рабочее решение этой проблемы, но оно не включает в себя щелчок правой кнопкой мыши по значкам в доке.
Во-первых, необходимо снять флажок «При переключении на приложение переключаться на пространство с открытыми окнами для приложения» на панели настроек «Пространства» в Системных настройках. Затем я написал следующий 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, когда в конце дня у меня были открыты десятки окон.
Ночные сборки Chromium теперь содержат поддержку AppleScript, и вскоре она должна появиться в Chrome. Это означает, что теперь вы можете сделать:
tell application "Chromium"
make new window
activate
end tell