创建热键以打开菜单栏应用程序?


2

是否可以创建打开菜单栏应用程序的热键(或其他触发器)?我的意思不是发射。我的意思是,使菜单栏应用程序显示其内容。

举例来说,我想创建一个热键来打开菜单栏天气应用程序。能做到吗?

我尝试打开的应用程序是Github上的开源程序,因此我愿意在需要时将触发器编码到应用程序中,但是我不知道如何执行此操作,这意味着我希望使用更简单的解决方案。

我正在使用美洲狮。

Answers:


2

您可以为脚本分配快捷方式,如下所示:

ignoring application responses
    tell application "System Events" to tell process "QuickHue"
        click menu bar item 1 of menu bar 1
    end tell
end ignoring

有一个错误,单击某些状态菜单项会导致脚本被阻止大约5秒钟。一种解决方法是在单击命令后终止系统事件:

launch application "System Events"
delay 0.2
ignoring application responses
    tell application "System Events" to tell process "Time Tracker"
        click menu bar item 1 of menu bar 2
    end tell
end ignoring
do shell script "killall System\\ Events"
delay 0.1
tell application "System Events" to tell process "Time Tracker"
    tell menu bar item 1 of menu bar 2
        click menu item 2 of menu 1
    end tell
end tell

当系统事件尚未运行时,需要前两行。系统事件支持突然终止,因此即使发送KILL信号也应该是安全的。


非常感谢。这正是我所需要的。OSX中存在一个错误,您可以在其中为菜单栏应用程序项分配热键,但是由于菜单栏应用程序在后台运行,因此这些热键将不起作用。换句话说,必须先单击菜单栏应用程序才能将其打开,然后热键才能起作用。我仍然认为这是一个错误!您的代码100%解决了问题。谢谢!!!
2013年

我正在尝试为CopyClip执行此操作,但似乎访问被拒绝。你知道这有什么办法吗?
juil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.