当出现iMessage通知时,OS X Mavericks中是否有键盘快捷键可以快速回复?


14

我发现将鼠标指针移到通知上方并每次单击“ 答复”按钮效率不高。

所以我想知道是否有一个用于快速答复的热键,而不是使用鼠标或触控板。

Answers:


1

您可以为以下脚本分配键盘快捷键

tell application "System Events" to click window 1 of process "Notification Center"

1
我已经尝试过使用Keyboard Maestro。但这只是将“消息”窗口调到最前面,而不是在单击“答复”按钮后进行快速答复。有没有可以点击该按钮的脚本?谢谢!
ylorn 2013年

而且,我尝试了类似的方法,tell application "System Events" to click button "Reply" of window 1 of process "Notification Center"但是它不起作用。因为您必须将鼠标指针移到通知上方,否则不会显示“ 回复”按钮。
ylorn 2013年

@ylorn我不使用消息,但我认为单击通知会回复该消息。click button "Reply" of window 1如果您将警报样式从横幅更改为警报,则可能会起作用。
Lri

0

这是使用Yosemite的JavaScript for Automation及其Objective-C桥来执行此操作的脚本。

ObjC.import("CoreGraphics");
// Notification only detects hover when moving from outside its borders
// over it, so first go to (0, 0).
$.CGWarpMouseCursorPosition({x:0 , y:0});
mainDisplayWidth = $.CGDisplayPixelsWide($.CGMainDisplayID());
$.CGWarpMouseCursorPosition({x:mainDisplayWidth - 50, y:81});

Application("System Events")
    .processes["Notification Center"]
    .windows()[0]
    .buttons["Reply"]
    .click();

如果要在外壳中运行此脚本(例如Alfred还不支持JavaScript),则可以使用此单行代码通过osascript以下方式执行脚本:

echo 'ObjC.import("CoreGraphics"); $.CGWarpMouseCursorPosition({x:0 , y:0}); mainDisplayWidth = $.CGDisplayPixelsWide($.CGMainDisplayID()); $.CGWarpMouseCursorPosition({x:mainDisplayWidth - 50, y:81}); Application("System Events") .processes["Notification Center"] .windows()[0] .buttons["Reply"] .click(); ' | osascript -l JavaScript

您可以使用任何自动化工具将此脚本分配给快捷方式。我正在使用AlfredFastScripts也可以正常工作。

您必须允许使用用于控制Mac的自动化工具,否则鼠标会移动,但是脚本无法单击“答复”。就我而言,我在那儿添加了阿尔弗雷德。

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.