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 1potrebbe 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ì.