Есть ли сочетание клавиш в OS X Mavericks для быстрого ответа при появлении уведомления iMessage?

14

Я обнаружил, что не очень эффективно навести указатель мыши на уведомление и каждый раз нажимать на кнопку ответа .

Поэтому мне было интересно, есть ли горячая клавиша для быстрого ответа вместо использования мыши или трекпада.

ylorn
источник

Ответы:

1

Вы можете назначить сочетание клавиш для сценария, как это:

tell application "System Events" to click window 1 of process "Notification Center"
LRI
источник
1
Я пробовал это с помощью Keyboard Maestro. Но он просто выводит окно сообщения вперед, а не делает быстрый ответ после нажатия на кнопку ответа. Есть ли сценарий, который может нажать на эту кнопку? Благодарность!
ylorn
А также я пробовал что-то вроде tell application "System Events" to click button "Reply" of window 1 of process "Notification Center"Но это не работает. Потому что вам нужно навести указатель мыши на уведомление, иначе кнопка ответа не появится.
ylorn
@ylorn Я не использую сообщения, но я думал, что щелкнув по уведомлению, вы ответите на сообщение. click button "Reply" of window 1может сработать, если вы изменили стиль оповещения с баннеров на оповещения.
Lri
0

Вот скрипт для этого, использующий 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 , в противном случае мышь будет двигаться, но скрипт не сможет нажать «Ответить». В моем случае я добавил туда Альфреда.

Meeee
источник