... pero parece mucho trabajo ...
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 .
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
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 esta grep
línea en su lugar:
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
Advertencia :
killall notify-osd
no discrimina y borra por completo la pila de notificaciones de cualquier mensaje pendiente, independientemente de si es NetworkManager
o no notify-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 deseadas notify-send
después de la purga.
¡Esto es un poco de trabajo manual intensivo!
Idealmente, el uso directo de dbus de
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
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 con notify-send
, pero desafortunadamente no para notificaciones arbitrarias aps. aunque algunos aps. tener interfaces personalizadas para controlar las notificaciones emergentes.
referencias cruzadas .: