Apple 脚本将系统偏好面板置于最前面

Apple script to bring System Preferences pane to front

我正在尝试使用以下脚本导航到系统偏好设置中的安全窗格,如果窗格已经打开并最小化,则脚本无法将其置于最前面。有没有激活的方法,我可以把它带到前面

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

此脚本检查 window 的状态。

  • 如果 window 不存在打开它。
  • 如果 window 存在但已缩小,则使其可见。
  • 如果 window 可见,则什么也不做。

    tell application "System Preferences"
        activate
        if exists window "Security & Privacy" then
            tell window "Security & Privacy" to if it is miniaturized then set miniaturized to false
        else
            set current pane to pane "com.apple.preference.security"
        end if
    end tell
    

我会简单地退出 系统偏好设置 然后再次激活它:

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

注意: 有时,退出然后立即激活应用程序可能会失败,因为这两个进程重叠,从而产生错误。如果发生这种情况,以下额外的几行(在原始答案的上下文中添加)应该可以缓解这种情况:

tell application "System Preferences"
    quit

    repeat while it is running
        delay 0.2
    end repeat

    activate
    set current pane to pane "com.apple.preference.security"
end tell