Відповідно до документації AppleScript , я можу створити сповіщення за допомогою кнопок, встановивши його для використання сповіщень замість банерів у налаштуваннях Центру сповіщень. Але коли я зберігаю AppleScript як додаток, а потім запускаю його один раз (якщо припустити, що він повинен запуститись, щоб повідомити, що він існує, то він ніколи не відображається на панелі налаштувань.
Так як у плані B я спробував програмувати додаток так, що замість кнопки це робить все після активації. Добре працює. Згідно з цією сторінкою , Mavericks активує додаток, натискаючи на його банер, але, схоже, це не працює більше у Високій Сьєррі; будь-який перехід миші або клацання просто робить банер стійким.
План C: вкладка команд до програми, щоб активувати її та запустити підпрограму. Ось підпрограма, щоб зачекати на це:
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
... що працює, але чи є кращий спосіб його пробудити, ніж опитування системних подій раз на секунду? Здається, неохайно. Я думав про те, щоб зберегти його як відкритий режим роботи та використовувати непрацюючий обробник, але мені незрозуміло, як зробити це краще, щоб швидко відчути свій передовий статус.