... ale to wygląda na dużo pracy ...
Nie jest tak naprawdę źle, przynajmniej dla prymitywnego ogólnego rozwiązania.
Oto kopia szczegółów z mojej odpowiedzi na zeszłoroczny (wrzesień 2012) post w
Jak wyłączyć powiadomienia z menedżera sieci .
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
Zamień string "NetworkManager"na żądany RE, aby określić blokowanie.
Aby dowiedzieć się, jaki wzorzec RE pasuje do wyszukiwania, należy uruchomić:
dbus-monitor "interface='org.freedesktop.Notifications'"
i spójrz na dane wyjściowe, gdy pojawiają się powiadomienia.
to znaczy. aby usunąć notify-sendrównież wiadomości, użyj tego grepwiersza:
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
Zastrzeżenie :
killall notify-osdjest niedyskryminujące i całkowicie czyści stos powiadomień wszelkich oczekujących wiadomości, niezależnie od tego, NetworkManagerczy notify-sendjest to agent powiadamiający.
„Uczciwe” rozwiązanie musi uwzględniać ewentualne warunki wyścigu, gdy pomiędzy określeniem czyszczenia powiadomień a wykonaniem go pojawia się kolejne powiadomienie, które powinno wyskoczyć i nie powinno być usuwane wraz z resztą.
Ponadto, jeśli powiadomienia oczekują, gdy nadejdzie obraźliwe, które ma zostać zablokowane, wszystkie zostaną usunięte. Sytuację tę można przynajmniej rozwiązać, wykonując kopię dbusoczekujących powiadomień, a następnie ponownie żądane powiadomienia notify-sendpo zakończeniu czyszczenia.
To trochę ręcznie pracochłonnej pracy!
W idealnym przypadku bezpośrednie użycie magistrali dbus
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
ukierunkowanie tylko na wybrane powiadomienia, niestety nie jest oczywiste ... jednak ...
Inna odpowiedź
Czy org.freedesktop.Notifications.CloseNotification (uint id) może być wyzwalany i wywoływany przez DBus?
pokazuje, jak używać [1], przynajmniej z notify-send, ale niestety nie do arbitralnego powiadamiania aps. choć niektóre aps. mają niestandardowe interfejsy do kontrolowania wyskakujących powiadomień.
odniesienia: