Галочка в строке меню OSX - PullRequest
0 голосов
/ 27 июня 2018

Screenshot

Для моего приложения MuteSpotifyAds Я не хочу добавлять функцию, которая автоматически включает режим приватной сессии.

Для этого я не хочу переключать пункт меню Private Session в меню Spotify строки меню OSX. Я использую следующий яблочный скрипт, который работает:

Источник: https://stackoverflow.com/a/16497564/6286431

tell application "System Events" to tell process "Spotify" tell menu bar item 2 of menu bar 0 click click menu item "Private Session" of menu 1 end tell end tell

Проблема в том, что я должен проверить, не отмечен ли флажок, потому что иначе я бы отключил Private Session.

Есть ли способ проверить, отмечен ли флажок меню?

Я уже пробовал это , но, кажется, работает только для флажков в реальных окнах.

Если у вас есть решение, которое не использует яблочный скрипт, это тоже хорошо!

1 Ответ

0 голосов
/ 27 июня 2018

Информация, если пункт меню отмечен, содержится в атрибуте "AXMenuItemMarkChar" пункта меню

tell application "System Events" to tell process "Spotify"
    tell menu bar item 2 of menu bar 1 -- AppleScript indexes are 1-based
        tell menu item "Private Session" of menu 1
            set isChecked to value of attribute "AXMenuItemMarkChar" is "✓"
            if not isChecked then click it
        end tell
    end tell
end tell
...