Tengo mi sistema configurado de tal manera que cuando recibo un nuevo correo, aparece un globo de notificación en mi pantalla. Esto es conveniente a veces, y distrae en otros momentos. Sin tener que desinstalar la integración de gmail que estoy usando, ¿hay alguna forma de alternar centralmente si se mostrarán ciertos tipos de notificaciones?
En otras palabras, estoy buscando una aplicación (o API) que me permita ver una lista de aplicaciones "registradas" que usan el servicio de notificación y alternarlas como habilitadas / deshabilitadas. O bien, algo que me permite crear una o más expresiones regulares que pueden usarse para hacer coincidir el nombre de la aplicación de origen o el contenido de la burbuja de notificación y, si se produce una coincidencia, bloquear la notificación.
fuente
Respuestas:
Es posible que pueda filtrar esto en el nivel d-bus, pero parece mucho trabajo. Primero vea esta publicación para obtener información sobre cómo funciona osd
Inicie dbus-monitor antes de enviar la ejecución 'notificar-enviar' en una consola separada.
notify-osd vive en dbus
pero no hay restricciones adicionales para este servicio en /etc/dbus-1/system.d
Por lo tanto, es posible que pueda crear un archivo de configuración que pueda filtrar los eventos de notificación en función de su origen y lograr el control que busca. Es lo mejor que puedo hacer sin investigar el problema y las especificaciones de dbus. Espero que esto ayude, lo que buscas debería ser más fácil de configurar para empezar.
fuente
No es realmente tan malo, al menos para una solución genérica cruda.
Aquí hay una copia de los detalles de mi respuesta a la publicación del año pasado (septiembre de 2012) en
Cómo deshabilitar la notificación del administrador de red .
Reemplace
string "NetworkManager"
con el RE deseado para determinar el bloqueo.Para tener una idea de qué coincidencia de patrón RE debe buscar, ejecute:
dbus-monitor "interface='org.freedesktop.Notifications'"
y mire la salida mientras aparecen las notificaciones.
es decir. para eliminar
notify-send
mensajes también, use estagrep
línea en su lugar:Advertencia :
killall notify-osd
no discrimina y borra por completo la pila de notificaciones de cualquier mensaje pendiente, independientemente de si esNetworkManager
o nonotify-send
el agente notificador.Una solución "honesta" debe tener en cuenta las posibles condiciones de carrera cuando entre la determinación de una purga de notificación es necesaria y luego al hacerlo, aparece otra notificación que debería aparecer y no ser purgada con el resto.
Además, si hay notificaciones pendientes cuando entra el infractor a bloquear, se eliminarán todas. Al menos, esta situación se puede resolver haciendo una copia de las
dbus
notificaciones pendientes y luego volviendo a emitir las deseadasnotify-send
después de la purga.¡Esto es un poco de trabajo manual intensivo!
Idealmente, el uso directo de dbus de
para apuntar específicamente solo a las notificaciones deseadas, desafortunadamente no es obvio ... sin embargo ...
Otra respuesta
¿Se puede activar e invocar org.freedesktop.Notifications.CloseNotification (uint id) a través de DBus?
muestra cómo usar
[1]
, al menos connotify-send
, pero desafortunadamente no para notificaciones arbitrarias aps. aunque algunos aps. tener interfaces personalizadas para controlar las notificaciones emergentes.referencias cruzadas .:
fuente