Su OS X 10.8, gli utenti possono disabilitare il Centro notifiche per un solo giorno. C'è un modo per verificare se è abilitato dalla riga di comando ?.
Su OS X 10.8, gli utenti possono disabilitare il Centro notifiche per un solo giorno. C'è un modo per verificare se è abilitato dalla riga di comando ?.
Risposte:
In realtà puoi scoprire se la funzione Non disturbare è attualmente abilitata o disabilitata. Il Centro notifiche rilascia un plist nella seguente posizione di cui puoi leggere il valore. Eseguire il seguente per trovare il file plist:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Ora puoi leggere il valore dal plist che hai appena trovato usando:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
NOTA: il tuo nome file effettivo potrebbe essere diverso da quello che ho elencato sopra.
Vedrai una chiave chiamata "doNotDisturb" e avrà un valore di 1 o 0 (abilitato o disabilitato)
Puoi anche cambiarne lo stato facendo:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
o:
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
Per rendere effettive le modifiche, è necessario riavviare il Centro notifiche digitando:
killall NotificationCenter
In realtà ho scritto uno script di Automator molto semplice, quindi ora posso abilitare / disabilitare il Non disturbare per il Centro notifiche con una scorciatoia da tastiera. Molto maneggevole. :)
killall NotificationCenter
ripristinerà le impostazioni predefinite ma non ricaricherà le impostazioni.
Probabilmente il modo migliore a cui riesco a pensare è installare il notificatore di terminale e inviargli un messaggio dal terminale.
Terminal Notifier può essere installato tramite Ruby Gems
Genere:
sudo gem installa terminal-notifier
Genere:
terminal-notifier -message "Il centro di notifica è in esecuzione" -title "NC Status"
Se il centro di notifica è in esecuzione, verrà visualizzato il messaggio "Il centro di notifica è in esecuzione"
Al momento, le modalità di interazione programmatica con il Centro notifiche (anche tramite la riga di comando) sono piuttosto limitate. Come ha notato InfluenceJamie, c'è Terminal-Notifier , che ti consente di inviare notifiche dalla riga di comando, ma l'invio di notifiche è praticamente tutto ciò che i programmi possono fare al momento. Dalla mia lettura della documentazione per gli sviluppatori , i programmi possono solo inviare e ottenere informazioni sulle notifiche specifiche che inviano, nessuna informazione sullo stato per il Centro di notifica stesso o altre notifiche. Non esiste inoltre un'interfaccia Applescript.
Quindi al momento, sei limitato a testare manualmente se passa una notifica, come suggerito da InfluenceJamie , o sperando che qualcuno capisca le API private di Apple e crei un'interfaccia a riga di comando.
L'impostazione del Centro notifiche è memorizzata nella ~/Library/Preferences/ByHost
cartella, il che significa che si tratta di impostazioni specifiche della macchina.
Puoi usare il defaults -currentHost
comando per leggere le impostazioni all'interno. -currentHost
viene utilizzato per specificare l' ByHost
impostazione non quella specifica dell'utente comune memorizzata ~/Library/Preferences
.
defaults -currentHost read com.apple.notificationcenterui doNotDisturb
Il valore di uscita 1
indica che è attivato, 0
per disabilitato.
In effetti, il comando sopra sta leggendo le opzioni dal ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
file.
Avvertenze : l'impostazione delle ByHost
opzioni con defaults -currentHost write
non funziona. Le opzioni sono effettivamente scritte nel file, ma non vengono ricaricate dal demone corrispondente. Immagino che questo sia un bug.