使用AppleScript更改系统偏好设置而不可见?

时间:2013-05-23 10:43:24

标签: macos applescript

我想更改系统偏好设置中的设置,而不会让用户看到事情发生 如果我的脚本开头如下:

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.sound"
end tell

系统首选项窗口将显示给用户 我想知道是否有办法在某种程度上在后台进行,或至少保持窗口最小化。

(可以找到示例脚本in this question。)

2 个答案:

答案 0 :(得分:2)

您可以使用命令行应用defaults执行您想要的操作,还有一些其他命令行应用可以操作其他系统内容,例如pmset

也可以使用脚本添加设置一些内容,例如可以使用标准添加设置系统volumn,您也可以找到其他脚本添加以添加更多内容。

答案 1 :(得分:1)

您只需删除activate命令即可。系统事件可以在隐藏窗口中执行操作。

tell application "System Preferences"
    reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"

如果您打开菜单,它们将会显示。

tell application "System Preferences"
    reveal anchor "TTS" of pane "com.apple.preference.speech"
end tell
tell application "System Events" to tell process "System Preferences"
    tell pop up button 1 of tab group 1 of window 1
        delay 0.1
        click
        if value is "Alex" then
            click menu item "Kathy" of menu 1
        else
            click menu item "Alex" of menu 1
        end if
    end tell
end tell
quit application "System Preferences"

也可以使用brightness.c更改显示屏的亮度。