是否可以在 OSX Mavericks 中创建键盘快捷键来关闭/隐藏通知中心警报(并加快隐藏一段时间后自动消失的横幅的速度)?
编辑:我使用了 Terry 的“全部删除”AppleScript(如果通知不存在,它还有一个额外的好处,就是不会抛出错误),保存到 Documents 并编译,然后将其移动到 Library/Scripts/ 并下载了一份免费的快速脚本分配键盘快捷键。
答案1
这用过的上班:
tell application "System Events"
tell process "NotificationCenter"
click at {2500, 50}
end tell
end tell
但在 Mavericks 中,它给了我“系统事件出错:无法将 {2500, 50} 变成类型列表。” 不过,我终于找到了解决办法:
tell application "System Events"
tell process "NotificationCenter"
click button "Close" of window 1
end tell
end tell
这样就可以关闭最底部的通知,这对我来说已经足够了。
这个脚本同样有用,可以将它们全部消灭:
tell application "System Events"
tell process "NotificationCenter"
set numwins to (count windows)
repeat with i from numwins to 1 by -1
click button "Close" of window i
end repeat
end tell
end tell
答案2
您可以使用如下脚本来单击通知:
tell application "System Events" to click window 1 of process "NotificationCenter"
它会关闭没有默认操作的横幅和警报通知,但如果通知具有默认操作,它会执行默认操作(例如为“OS X 更新可用”通知打开 App Store)。
答案3
我有一个选项,它使用 Keyboard Maestro 来运行 Applescript,详细信息如下: http://genuinecuriosity.com/unnotify
我已经将其映射,以便我点击 [Command]+[Option]+[0] 来清除所有打开的警报对话框。
基本上,我已经创建了一个 Applescript 来单击所有打开的警报(通常是关闭)上的第一个按钮,并执行此操作直到所有警报都被清除。
您可以直接通过 Keyboard Maestro 使用 Applescript(如我的文章所述),也可以使用 Automator 创建服务(由于可访问性权限要求,这有点棘手)。文章中包含完整的 Applescript,以及显示 Keyboard Maestro 中设置的屏幕截图。