1

我正在开发一个小型仪表板小部件,允许用户打开系统首选项窗格。

打开首选项窗格没问题(但看起来很糟糕:p)

widget.system('osascript ' +
              '-e \'tell app "system preferences" to activate\'' +
              '-e \'<snip…&gt; open correct pane\'')

问题是即使首选项窗格打开,仪表板也保持打开状态。

我找到了打开它的方法:

tell app "Dashboard" to launch

但无法关闭它,close引发异常并且quit什么都不做:/

有谁知道如何做到这一点?

4

2 回答 2

2

尝试:

tell application "Dashboard" to launch
delay 3
tell application "Finder" to activate

或者也许是击键...

tell application "System Events" to key code 53
于 2013-04-01T13:18:00.247 回答
0

虽然发送密钥代码 111 对我有用,因为它可以打开和关闭仪表板,但它并不能真正让您控制状态。有时您希望能够关闭 Dashboard,但如果它已经关闭,您不想重新打开它(键码 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
于 2014-04-30T15:35:37.033 回答