Risposte:
È possibile assegnare una scorciatoia da tastiera a uno script come questo:
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"
Ma non funziona. Perché devi spostare il puntatore del mouse sulla notifica, altrimenti il pulsante di risposta non verrà visualizzato.
click button "Reply" of window 1
potrebbe funzionare se hai cambiato lo stile di avviso da banner a avvisi.
Ecco uno script per farlo usando JavaScript di Yosemite per l'automazione e il suo bridge 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();
Se vuoi eseguirlo in una shell (ad es. Alfred non supporta ancora JavaScript), puoi usare questo one-liner che esegue lo script tramite 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
È possibile assegnare questo script a un collegamento utilizzando qualsiasi strumento di automazione. Sto usando Alfred , funziona anche FastScripts .
Dovrai consentire allo strumento di automazione che stai utilizzando per controllare il tuo Mac , altrimenti il mouse si sposterà, ma lo script non può fare clic su "Rispondi". Nel mio caso, ho aggiunto Alfred lì.