Theo tài liệu của AppleScript , tôi có thể tạo thông báo bằng các nút bằng cách đặt thông báo đó để sử dụng cảnh báo thay vì biểu ngữ trong tùy chọn Trung tâm thông báo. Nhưng khi tôi lưu AppleScript dưới dạng một ứng dụng, sau đó khởi chạy nó một lần (giả sử nó phải khởi chạy để báo cho macOS nó tồn tại), nó không bao giờ xuất hiện trong khung tùy chọn.
Vì vậy, như kế hoạch B, tôi đã thử kịch bản ứng dụng để thay vì một nút, nó sẽ thực hiện mọi thứ khi kích hoạt. Hoạt động tốt. Theo trang này , Mavericks sẽ kích hoạt một ứng dụng khi bạn nhấp vào biểu ngữ của nó, nhưng điều đó dường như không còn hoạt động nữa ở High Sierra; bất kỳ di chuột hoặc nhấp chuột chỉ làm cho biểu ngữ liên tục.
Gói C: tab lệnh cho ứng dụng để kích hoạt nó và chạy chương trình con. Đây là chương trình con để chờ đợi điều đó:
on waitForActivate()
set notFrontmost to true
repeat while notFrontmost
tell application "System Events"
set frontApp to name of item 1 of (get processes whose frontmost is true)
if frontApp is "test notifications 2" then set notFrontmost to false
end tell
delay 1
end repeat
end waitForActivate
... Cái nào hiệu quả, nhưng có cách nào tốt hơn để đánh thức nó hơn là bỏ phiếu Sự kiện Hệ thống mỗi giây một lần? Có vẻ cẩu thả. Tôi đã nghĩ về việc lưu nó dưới dạng mở và sử dụng một trình xử lý nhàn rỗi, nhưng tôi không rõ làm thế nào để làm cho nó tốt hơn trong việc cảm nhận trạng thái nhanh nhất của nó một cách nhanh chóng.