回答:
次のようなスクリプトにキーボードショートカットを割り当てることができます。
tell application "System Events" to click window 1 of process "Notification Center"
tell application "System Events" to click button "Reply" of window 1 of process "Notification Center"
ません。通知の上にマウスポインターを移動する必要があります。そうしないと、返信ボタンが表示されません。
click button "Reply" of window 1
アラートスタイルをバナーからアラートに変更した場合に機能する可能性があります。
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
自動化ツールを使用して、このスクリプトをショートカットに割り当てることができます。私はAlfredを使用していますが、FastScriptsも同様に機能します。
Macの制御に使用している自動化ツールを許可する必要があります。許可しない場合、マウスは移動しますが、スクリプトは[返信]をクリックできません。私の場合、アルフレッドをそこに追加しました。