У ОС X 10.8 користувачі можуть вимкнути Центр сповіщень на один день. Чи є спосіб перевірити, чи він увімкнено з командного рядка ?.
У ОС X 10.8 користувачі можуть вимкнути Центр сповіщень на один день. Чи є спосіб перевірити, чи він увімкнено з командного рядка ?.
Відповіді:
Ви дійсно можете дізнатись, чи в даний час функцію "Не турбувати" увімкнено чи вимкнено. Центр сповіщень скидає список у наступному місці, з якого ви можете прочитати значення. Виконайте наступне, щоб знайти файл плісту:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Тепер ви можете прочитати значення із знайденого вами списку, використовуючи:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
ПРИМІТКА: ваше фактичне ім'я файлу може відрізнятися від того, що я перераховував вище.
Ви побачите ключ під назвою "doNotDisturb", і він матиме значення 1 або 0 (увімкнено або вимкнено)
Ви також можете змінити його статус, виконавши:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
або:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
Щоб зміни набрали чинності, вам потрібно буде перезапустити Центр сповіщень, ввівши:
killall NotificationCenter
Насправді я написав дуже простий скрипт Автоматизатора, тому тепер я можу ввімкнути / вимкнути функцію «Не турбувати центр сповіщень» за допомогою комбінації клавіш. Дуже зручно. :)
Мабуть, найкращий спосіб, який я можу придумати, - це встановити сповіщувач терміналу і надіслати йому повідомлення з терміналу.
Повідомлення терміналів можна встановити через Ruby Gems
Тип:
sudo gem встановити термінал-сповіщувач
Тип:
термінал-повідомлення -повідомлення "Центр сповіщень працює" -тит "Стан NC"
Якщо працює центр сповіщень, ви отримаєте повідомлення про те, що "Центр сповіщень працює"
На даний момент способи програмного взаємодії з Центром сповіщень (у тому числі за допомогою командного рядка) досить обмежені. Як зазначав InfluenceJamie, є термінал-сповіщувач , який дозволяє надсилати сповіщення з командного рядка, але надсилати сповіщення - це майже все, що програми можуть зробити на даний момент. З мого читання документації для розробників програми можуть надсилати та отримувати інформацію лише про конкретні сповіщення, які вони надсилають, відсутність інформації про стан для самого Центру повідомлень або інших сповіщень. Також немає інтерфейсу Applescript.
Тож наразі ви обмежуєтесь ручним тестуванням, чи проходить сповіщення, як запропонував InfluenceJamie , або сподіваєтесь, що хтось з'ясує приватні API Apple та зробить інтерфейс командного рядка.