Sous OS X 10.8, les utilisateurs peuvent désactiver le centre de notification pour une seule journée. Existe-t-il un moyen de vérifier s'il est activé à partir de la ligne de commande ?
Réponses
Trop de publicités?Vous pouvez en fait savoir si la fonction Ne pas déranger est actuellement activée ou désactivée. Notification Center dépose un plist à l'emplacement suivant dont vous pouvez lire la valeur. Exécutez ce qui suit pour trouver le fichier plist :
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Maintenant, vous pouvez lire la valeur de la plist que vous venez de trouver en utilisant :
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
REMARQUE : votre nom de fichier réel peut être différent de celui que j'ai indiqué ci-dessus.
Vous verrez une clé appelée "doNotDisturb" et elle aura une valeur de 1 ou 0 (activée ou désactivée).
Vous pouvez également changer son statut en le faisant :
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 1
ou :
defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist doNotDisturb 0
Pour que le changement prenne effet, vous devrez redémarrer le Centre de notification en tapant :
killall NotificationCenter
J'ai en fait écrit un script d'Automator très simple afin que maintenant je puisse activer/désactiver le Do Not Disturb pour le Centre de Notification avec un raccourci clavier. Très pratique :)
Les paramètres du centre de notification sont stockés dans la mémoire de l'ordinateur. ~/Library/Preferences/ByHost
ce qui signifie qu'il s'agit d'un paramètre spécifique à la machine.
Vous pouvez utiliser defaults -currentHost
pour lire les paramètres qui s'y trouvent. -currentHost
est utilisé pour spécifier le ByHost
et non le paramètre spécifique de l'utilisateur commun stocké dans ~/Library/Preferences
.
defaults -currentHost read com.apple.notificationcenterui doNotDisturb
Valeur de sortie 1
signifie qu'il est activé, 0
pour les handicapés.
En fait, la commande ci-dessus lit les options à partir de ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
fichier.
Avertissements : Réglage ByHost
options avec defaults -currentHost write
ne fonctionne pas. Les options sont bien écrites dans le fichier, mais il n'est pas rechargé par le démon correspondant. Je suppose qu'il s'agit d'un bogue.
Références
Le meilleur moyen auquel je pense est d'installer le terminal notifier et de lui envoyer un message depuis le terminal.
Installer le Notificateur de terminal
Le notificateur de terminal peut être installé par le biais de Ruby Gems.
Type :
sudo gem install terminal-notifier
Envoyer un message à NC
Type :
terminal-notifier -message "The notification center is running" -title "NC Status"
Si le centre de notification est en cours d'exécution, vous obtiendrez un message disant "Le centre de notification est en cours d'exécution".
Pour l'instant, les moyens d'interagir avec le centre de notification de manière programmatique (y compris via la ligne de commande) sont assez limités. Comme l'a noté InfluenceJamie, il y a terminal-notifier qui vous permet de envoyer notifications depuis la ligne de commande, mais l'envoi de notifications est à peu près tout ce que les programmes peuvent faire pour le moment. D'après ma lecture de la documentation des développeurs Les programmes ne peuvent envoyer et obtenir des informations que sur les notifications spécifiques qu'ils envoient, pas d'informations sur l'état du Centre de notification lui-même ou d'autres notifications. Il n'y a pas non plus d'interface Applescript.
Donc, pour le moment, vous êtes limité à tester manuellement si une notification est transmise, comme le font les autres. InfluenceJamie a suggéré ou en espérant que quelqu'un découvre les API privées d'Apple et crée une interface en ligne de commande.