Відповіді:
Ви можете призначити ярлик клавіатури такому сценарію :
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 , інакше миша переміститься, але сценарій не може натиснути "Відповісти". У моєму випадку я там додав Альфреда.