Можно ли использовать AppleScript/osascript для выбора дополнительных пунктов меню?
У меня установлено приложение, которое отображается только в строке меню (как дополнительное меню справа). Я хотел бы щелкнуть один из пунктов, содержащихся в его меню через osascript. Я нашел следующий фрагмент кода:
osascript -e '
tell application "System Events"
tell process "SystemUIServer"
tell (1st menu bar item of menu bar 1 whose value of attribute "AXDescription" is "keymando menu extra")
perform action "AXPress" of menu item "Edit Config" of menu 1
end tell
end tell
end tell
К сожалению, это не работает. Я предполагаю, что у меня есть правильное название меню: "Keymando menu extra".
3 ответа
SystemUIServer включает в себя только дополнительные элементы меню (значки справа, которые можно переставить), но не меню состояния (как в используемом Keymando).
tell application "System Events" to tell process "SystemUIServer"
tell (menu bar item 1 of menu bar 1 where description is "clock")
click
click menu item "Open Date & Time Preferences…" of menu 1
end tell
end tell
В некоторых приложениях menu bar 2
это меню состояния, но tell application "System Events" to UI elements of process "Keymando"
возвращает пустой список
Мне удалось открыть видеовстречу с
tell application "System Events" to tell process "Google Chrome" to tell menu bar 2
click (first menu bar item where help is "Google Hangouts")
end tell
Это может быть там, это запишет список во временную папку, которую вы можете просмотреть для "дескриптора".
`osascript -sso > /private/tmp/StatusBarItems <&- <<EOF
tell application "System Events"
get properties of every menu bar item of every menu bar of process "SystemUIServer"
end tell
EOF`
или вы можете поэкспериментировать с
` osascript -sso > /private/tmp/SU_reLoad <&- <<BUTTON
tell application "System Events"
click menu bar item 1 of menu bar 2 of application process "SystemUIServer"
end tell
BUTTON`
к сожалению, нужного мне там нет... "Выход из полноэкранного режима" для приложения без сценариев… Джон