我正在开发一个小型仪表板小部件,允许用户打开系统首选项窗格。
打开偏好设置面板没问题(但看起来很糟糕:p)
widget.system('osascript ' +
'-e \'tell app "system preferences" to activate\'' +
'-e \'<snip…> open correct pane\'')
问题是,即使首选项窗格打开,仪表板也会保持打开状态。
我找到了打开它的方法:
tell app "Dashboard" to launch
但无法关闭,close
会引发异常而quit
无效:/
有谁知道怎么做?
答案 0 :(得分:2)
尝试:
tell application "Dashboard" to launch
delay 3
tell application "Finder" to activate
或者是按键...
tell application "System Events" to key code 53
答案 1 :(得分:0)
虽然发送密钥代码111对我有用,但是当它打开和关闭仪表板时,它实际上并不允许你控制状态。有时您希望能够关闭仪表板,但如果它已经关闭,您不希望将其重新打开(密钥代码111将执行此操作)。
而是使用密钥代码27或ESCAPE:
tell application "System Events" to key code 27
如果仪表板处于打开状态,它将关闭仪表板,但如果它已经关闭则不应该执行任何操作。
我在已连接到电视的Mac上定期使用此技术,以便通过关闭仪表板并重新打开它来刷新仪表板小部件。
tell application "System Events" to key code 27
delay 3
tell application "Dashboard" to launch