En OS X 10.8, los usuarios pueden deshabilitar el Centro de notificaciones por un solo día. ¿Hay alguna forma de verificar si está habilitado desde la línea de comando?
En OS X 10.8, los usuarios pueden deshabilitar el Centro de notificaciones por un solo día. ¿Hay alguna forma de verificar si está habilitado desde la línea de comando?
Respuestas:
En realidad, puede averiguar si Do Not Disturb está habilitado o deshabilitado actualmente. El Centro de notificaciones coloca una lista en la siguiente ubicación de la que puede leer el valor. Ejecute lo siguiente para encontrar el archivo plist:
ls ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist
Ahora, puede leer el valor de la lista que acaba de encontrar usando:
defaults read ~/Library/Preferences/ByHost/com.apple.notificationcenterui.8D3EA20D-8D7F-52E2-9F99-BC17A13A3F0E.plist
NOTA: su nombre de archivo real puede ser diferente al que he enumerado anteriormente.
Verá una clave llamada "doNotDisturb" y tendrá un valor de 1 o 0 (habilitado o deshabilitado)
También puede cambiar su estado haciendo:
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
Para que el cambio surta efecto, deberá reiniciar el Centro de notificaciones escribiendo:
killall NotificationCenter
De hecho, he escrito un script de Automator muy simple, así que ahora puedo habilitar / deshabilitar el No molestar para el Centro de notificaciones con un atajo de teclado. Muy útil. :)
killall NotificationCenter
restablecerá la configuración predeterminada pero no volverá a cargar la configuración.
Probablemente la mejor forma en que se me ocurra es instalar el notificador de terminal y enviarle un mensaje desde el terminal.
El notificador de terminal se puede instalar a través de Ruby Gems
Tipo:
sudo gem install terminal-notifier
Tipo:
terminal-notifier -message "El centro de notificaciones se está ejecutando" -title "NC Status"
Si el centro de notificaciones se está ejecutando, recibirá un mensaje que dice "El centro de notificaciones se está ejecutando"
Por el momento, las formas de interactuar con el Centro de notificaciones mediante programación (incluso a través de la línea de comandos) son bastante limitadas. Como InfluenceJamie señaló, hay un notificador de terminal , que le permite enviar notificaciones desde la línea de comandos, pero el envío de notificaciones es prácticamente todo lo que pueden hacer los programas en este momento. Según mi lectura de la documentación del desarrollador , los programas solo pueden enviar y obtener información sobre las notificaciones específicas que envían, sin información de estado del Centro de notificaciones en sí mismo u otras notificaciones. Tampoco hay una interfaz Applescript.
Por lo tanto, en este momento, está limitado a probar manualmente si se recibe una notificación, como sugirió InfluenceJamie , o esperar que alguien descubra las API privadas de Apple y cree una interfaz de línea de comandos.
La configuración del Centro de notificaciones se almacena en la ~/Library/Preferences/ByHost
carpeta, lo que significa que es una configuración específica de la máquina.
Puede usar el defaults -currentHost
comando para leer la configuración dentro. -currentHost
se usa para especificar la ByHost
configuración, no la específica del usuario común almacenada en ~/Library/Preferences
.
defaults -currentHost read com.apple.notificationcenterui doNotDisturb
El valor de salida 1
significa que está activado, 0
para deshabilitado.
De hecho, el comando anterior está leyendo opciones del ~/Library/Preferences/ByHost/com.apple.notificationcenterui.<your-UUID>.plist
archivo.
Advertencias : Establecer ByHost
opciones con defaults -currentHost write
no funciona. Las opciones están escritas en el archivo, pero el demonio correspondiente no vuelve a cargarlas. Supongo que esto es un error.