Изменение «Звуковых эффектов пользовательского интерфейса» с помощью applescript

Доброе утро всем, я хотел бы иметь возможность выключать (и снова включать) системные звуки на моем Mac с помощью applescript, активированного как расширение для Alfred .

У меня мало знаний о яблочных сценариях, но я обнаружил, что могу открыть панель настроек системы. Как установить и снять флажки «Воспроизведение звуковых эффектов пользовательского интерфейса» и «Воспроизведение отклика при изменении громкости»?

Начало моего кода выглядит следующим образом

tell application "System Preferences" to activate (reveal anchor "effects" of pane id "com.apple.preference.sound")

Спасибо ребята

Ответы (1)

Системные настройки и предварительная панель «Звуки» не имеют прямых путей для этого. Но вы можете использовать обычные сценарии пользовательского интерфейса в AppleScript:

tell application "System Preferences"
    reveal anchor "effects" of pane id "com.apple.preference.sound"
end tell

tell application "System Events"
    tell process "System Preferences"
        if value of theBox is not 1 then
            click checkbox 1 of tab group 1 of window 1
        end if
    end tell
end tell

Или, если вы хотите установить определенное значение, а не просто переключить флажок:

tell application "System Preferences"
    reveal anchor "effects" of pane id "com.apple.preference.sound"
end tell

tell application "System Events"
    tell process "System Preferences"
        set theBox to checkbox 1 of tab group 1 of window 1
        if value of theBox is not 1 then -- or "is 1"
            click theBox
        end if
    end tell
end tell

Вы также можете явно указать checkbox "Play user interface sound effects" of ...вместо просто checkbox 1, но я не уверен, как это ведет себя с локализациями.

Ах, хорошо, «щелкните флажок 1 группы вкладок 1 окна 1» - это то, что мне нужно, но я не понял. Спасибо