Eu tenho o meu sistema configurado de modo que, quando recebo novas mensagens, um balão de notificação aparece na minha tela. Isso é conveniente às vezes e distrai outras vezes. Sem precisar desinstalar a integração do gmail que estou usando, há uma maneira de alternar centralmente se certos tipos de notificações serão exibidos?
Em outras palavras, estou procurando um aplicativo (ou API) que permita ver uma lista de aplicativos "registrados" que usam o serviço de notificação e alterná-los como habilitados / desabilitados. Ou algo que me permita criar uma ou mais expressões regulares que possam ser usadas para corresponder ao nome do aplicativo de origem ou ao conteúdo do balão de notificação e, se ocorrer uma correspondência, para bloquear a notificação.
fonte
Respostas:
Você pode filtrar isso no nível do barramento-d, mas parece muito trabalho. Veja primeiro este post para ter uma ideia de como o osd opera
Inicie o dbus-monitor antes de enviar a execução 'notify-send' em um console separado.
notify-osd vive no dbus
mas não há restrições adicionais para este serviço no /etc/dbus-1/system.d
Assim, você poderá criar um arquivo de configuração que possa filtrar os eventos de notificação com base na origem e obter o controle que deseja. É o melhor que posso fazer sem me aprofundar no problema e nas especificações do dbus. Espero que isso ajude, o que você procura deve ser mais fácil de configurar para começar.
fonte
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 .
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 estagrep
linha:Advertência :
killall notify-osd
não discrimina e limpa completamente a pilha de notificações de quaisquer mensagens pendentes, independentemente de serNetworkManager
ounotify-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 desejadasnotify-send
após a limpeza.Isso é um pouco de trabalho intensivo de mão de obra!
Idealmente, o uso direto de dbus de
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 comnotify-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:
fonte