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