Terminal/Osascript: автоматически скрывать и показывать строку меню

Есть ли способ включить флажок "Автоматически скрывать и показывать строку меню" через applscript/osascript или просто терминал?

Текущая ОС: macOS Mojave 10.14

Я читал такие вещи, как LSUIPresentationMode и пробовал разные вещи с osascript уже

3 ответа

Решение

Этот код AppleScript должен работать для вас

if application "System Preferences" is running then quit application "System Preferences"
repeat until application "System Preferences" is not running
    delay 0.1
end repeat
tell application "System Preferences" to reveal pane id "com.apple.preference.general"

tell application "System Events" to tell process "System Preferences" to tell window "General"
    repeat while not (exists of checkbox "Automatically hide and show the menu bar")
        delay 0.1
    end repeat
    click checkbox "Automatically hide and show the menu bar"
end tell

quit application "System Preferences"


Согласно запросу из комментария к моему ответу для исходного поста, этот следующий код является преобразованием из AppleScript в скрипт оболочки… и может быть запущен в Terminal.app и должен давать те же результаты

printf 'aWYgYXBwbGljYXRpb24gIlN5c3RlbSBQcmVmZXJlbmNlc
yIgaXMgcnVubmluZyB0aGVuIHF1aXQgYXBwbGljYXRpb24gIlN5c3RlbSBQcmVmZ
XJlbmNlcyIKcmVwZWF0IHVudGlsIGFwcGxpY2F0aW9uICJTeXN0ZW0gUHJlZmVyZ
W5jZXMiIGlzIG5vdCBydW5uaW5nCiAgICBkZWxheSAwLjEKZW5kIHJlcGVhdAp0Z
WxsIGFwcGxpY2F0aW9uICJTeXN0ZW0gUHJlZmVyZW5jZXMiIHRvIHJldmVhbCBw
YW5lIGlkICJjb20uYXBwbGUucHJlZmVyZW5jZS5nZW5lcmFsIgoKdGVsbCBhcHBsa
WNhdGlvbiAiU3lzdGVtIEV2ZW50cyIgdG8gdGVsbCBwcm9jZXNzICJTeXN0ZW0gUH
JlZmVyZW5jZXMiIHRvIHRlbGwgd2luZG93ICJHZW5lcmFsIgogICAgcmVwZWF0IH
doaWxlIG5vdCAoZXhpc3RzIG9mIGNoZWNrYm94ICJBdXRvbWF0aWNhbGx5IGhp
ZGUgYW5kIHNob3cgdGhlIG1lbnUgYmFyIikKICAgICAgICBkZWxheSAwLjEKICAgI
GVuZCByZXBlYXQKICAgIGNsaWNrIGNoZWNrYm94ICJBdXRvbWF0aWNhbGx5IG
hpZGUgYW5kIHNob3cgdGhlIG1lbnUgYmFyIgplbmQgdGVsbAoKcXVpdCBhcHBsa
WNhdGlvbiAiU3lzdGVtIFByZWZlcmVuY2VzIiA='|base64 -D|osascript

Если кто-то пытается сделать это в Монтерее, я смог изменить команду терминала из @wch1zpink, и она отлично работает.

      printf 'tell application "System Preferences" to reveal pane id "com.apple.preference.dock"\n tell application "System Events" to tell process "System Preferences" to tell window "Dock & Menu Bar"\n click checkbox "Automatically hide and show the menu bar in full screen"\n end tell\n quit application "System Preferences"' | osascript

Код может быть короче на " MacOS Catalina" @2019-12 с " AppleScript Editor"

tell application "System Preferences" to reveal pane id "com.apple.preference.general"

    tell application "System Events" to tell process "System Preferences" to tell window "General"
        click checkbox "Automatically hide and show the menu bar"
    end tell

quit application "System Preferences"

и вы можете запустить его из командной строки напрямую

printf 'tell application "System Preferences" to reveal pane id "com.apple.preference.general"\n tell application "System Events" to tell process "System Preferences" to tell window "General"\n click checkbox "Automatically hide and show the menu bar"\n end tell\n quit application "System Preferences"' | osascript

или из файла

osascript {{script_name}}.scpt

спасибо @wch1zpink

/questions/4640092/terminalosascript-avtomaticheski-skryivat-i-pokazyivat-stroku-menyu/4640101#4640101

Другие вопросы по тегам