... mas parece muito trabalho ...
Não é realmente tão ruim, pelo menos para uma solução genérica bruta.
Aqui está uma cópia dos detalhes da minha resposta ao post do ano passado (setembro de 2012) em
Como desativar a notificação do gerenciador de rede .
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
Substitua string "NetworkManager"
pelo RE desejado para determinar o bloqueio.
Para ter uma idéia de qual padrão de RE corresponde à procura por execução:
dbus-monitor "interface='org.freedesktop.Notifications'"
e observe a saída enquanto as notificações estão sendo exibidas.
ie para remover notify-send
mensagens também, use esta grep
linha:
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
Advertência :
killall notify-osd
não discrimina e limpa completamente a pilha de notificações de quaisquer mensagens pendentes, independentemente de ser NetworkManager
ou notify-send
não o agente notificador.
Uma solução "honesta" precisa levar em consideração possíveis condições de corrida quando, entre a determinação de uma eliminação de notificação, e depois a execução, outra notificação é exibida, que deve aparecer e não ser eliminada com o restante.
Além disso, se as notificações estiverem pendentes quando o infrator a ser bloqueado entrar, todas serão removidas. Essa situação pode pelo menos ser resolvida fazendo uma cópia das dbus
notificações pendentes e, em seguida, reemitindo as desejadas notify-send
após a limpeza.
Isso é um pouco de trabalho intensivo de mão de obra!
Idealmente, o uso direto de dbus de
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
para segmentar especificamente apenas as notificações desejadas, infelizmente não é óbvio ... no entanto ...
Outra resposta
O org.freedesktop.Notifications.CloseNotification (uint id) pode ser acionado e invocado via DBus?
mostra como usar [1]
, pelo menos com notify-send
, mas infelizmente não para aplicativos de notificação arbitrários. embora alguns aps. possui interfaces personalizadas para controlar as notificações pop-up.
referências cruzadas: