Настройки диктовки с AppleScript

Я пытаюсь создать AppleScript, чтобы включить или выключить диктовку (а не просто заставить его слушать). Моя цель - отключить диктовку, когда я работаю от батареи. Я новичок в AppleScript и не знаю, как это сделать. Мне это нужно для работы на macOS Sierra.

1 ответ

Решение

Я нашел свой ответ!

Вот мой код, если кто-то хочет:

set quitting to 0
delay 1
repeat until quitting is 1
    set PowerSource to (do shell script "pmset -g ps")
    repeat until PowerSource does not contain "AC Power" or quitting is 1
        set PowerSource to (do shell script "pmset -g ps")
    end repeat
    --START
    tell application "System Events"
        set ProcessList to name of every process
        if "System Prefrences" is in ProcessList then
            set ThePID to unix id of process "System Prefrences"
            do shell script "kill -KILL " & ThePID
        end if
    end tell

    tell application "System Preferences"
        activate
        set the current pane to pane id "com.apple.preference.keyboard"
    end tell
    tell application "System Events"
        --Part 1:
        tell process "System Preferences"
            --Part 2:
            delay 1
            --Part 3:
            tell application "System Events" to tell radio button "Dictation" of tab group 1 of window "Keyboard" of application process "System Preferences" of application "System Events" to if exists then click
            tell application "System Events" to tell radio button "Off" of radio group 1 of tab group 1 of window "Keyboard" of application process "System Preferences" of application "System Events" to if exists then click
        end tell
    end tell
    tell application "System Preferences" to quit
    display notification "Hey siri is now off."
    --END
    repeat until PowerSource contains "AC Power" or quitting is 1
        set PowerSource to (do shell script "pmset -g ps")
    end repeat
    --START
    tell application "System Events"
        set ProcessList to name of every process
        if "System Prefrences" is in ProcessList then
            set ThePID to unix id of process "System Prefrences"
            do shell script "kill -KILL " & ThePID
        end if
    end tell

    tell application "System Preferences"
        activate
        set the current pane to pane id "com.apple.preference.keyboard"
    end tell
    tell application "System Events"
        --Part 1:
        tell process "System Preferences"
            --Part 2:
            delay 1
            --Part 3:
            tell application "System Events" to tell radio button "Dictation" of tab group 1 of window "Keyboard" of application process "System Preferences" of application "System Events" to if exists then click
            tell application "System Events" to tell radio button "On" of radio group 1 of tab group 1 of window "Keyboard" of application process "System Preferences" of application "System Events" to if exists then click
        end tell
    end tell
    tell application "System Preferences" to quit
    display notification "Hey siri is now on."
    --END
end repeat
on quit
    set quitting to 1
    continue quit
end quit

Просто откройте его в редакторе сценариев и скомпилируйте в приложение. Затем запустите приложение. Надеюсь это поможет!

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