ฉันพบว่าไม่มีประสิทธิภาพในการย้ายตัวชี้เมาส์ไปที่การแจ้งเตือนและคลิกที่ปุ่มตอบกลับทุกครั้ง
ดังนั้นฉันจึงสงสัยว่ามีฮอตคีย์สำหรับตอบกลับอย่างรวดเร็วแทนที่จะใช้เมาส์หรือแทร็คแพด
ฉันพบว่าไม่มีประสิทธิภาพในการย้ายตัวชี้เมาส์ไปที่การแจ้งเตือนและคลิกที่ปุ่มตอบกลับทุกครั้ง
ดังนั้นฉันจึงสงสัยว่ามีฮอตคีย์สำหรับตอบกลับอย่างรวดเร็วแทนที่จะใช้เมาส์หรือแทร็คแพด
คำตอบ:
คุณสามารถกำหนดแป้นพิมพ์ลัดให้สคริปต์เช่นนี้
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 bridge
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ไม่เช่นนั้นเมาส์จะเคลื่อนไหว แต่สคริปต์ไม่สามารถคลิก 'ตอบกลับ' ในกรณีของฉันฉันเพิ่มอัลเฟรดที่นั่น