Ответы:
Вы можете назначить сочетание клавиш для сценария, как это:
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может сработать, если вы изменили стиль оповещения с баннеров на оповещения.
Вот скрипт для этого, использующий JavaScript для автоматизации Yosemite и его мост 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();
Если вы хотите запустить это в оболочке (например, Альфред еще не поддерживает 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
Вы можете назначить этот скрипт на ярлык, используя любой инструмент автоматизации. Я использую Альфред , FastScripts работает также.
Вы должны разрешить инструменту автоматизации, который вы используете, управлять своим Mac , в противном случае мышь будет двигаться, но скрипт не сможет нажать «Ответить». В моем случае я добавил туда Альфреда.