...しかし、それは多くの作業のように見えます...
少なくとも粗雑なジェネリックソリューションとしては、それほど悪くはありません。
これは、昨年(2012年9月)の投稿に対する私の回答からの詳細のコピーです。
network-managerからの通知を無効にする方法。
dbus-monitor "interface='org.freedesktop.Notifications'" \
| grep --line-buffered 'string "NetworkManager"' \
| sed -u -e 's/.*/killall notify-osd/g' \
| bash
string "NetworkManager"
目的のREに置き換えて、ブロックを決定します。
実行を探すためにどのREパターンが一致するかを把握
dbus-monitor "interface='org.freedesktop.Notifications'"
するには、通知がポップアップしている間に出力を確認します。
すなわち。notify-send
メッセージも削除するには、grep
代わりに次の行を使用します。
| grep --line-buffered 'string "NetworkManager"\|string "notify-send"' \
警告は:
killall notify-osd
非識別と完全に保留中のメッセージの通知スタックは、かどうかに関わらずワイプされるNetworkManager
か、notify-send
通知エージェントです。
「誠実な」ソリューションは、通知パージを決定してから実行するまでの間に起こり得る競合状態を考慮する必要があります。
また、ブロックされる問題のある通知が入ったときに通知が保留されている場合、それらはすべてパージされます。この状況は、少なくともdbus
保留中の通知のコピーを作成しnotify-send
、パージ後に目的の通知を再発行することで解決できます。
これは、手作業での集中的な作業です。
理想的には、直接dbusを使用する
method void org.freedesktop.Notifications.CloseNotification(uint id) [1]
希望する通知のみを具体的にターゲットにすることは、残念ながら明らかではありません...しかし...
別の回答
org.freedesktop.Notifications.CloseNotification(uint id)をDBus経由でトリガーおよび呼び出すことができますか?少なくともで
を使用する方法を示しますが、残念ながら任意の通知aps には使用できません。いくつかのapsが。ポップアップ通知を制御するカスタムインターフェイスがあります。[1]
notify-send
クロスリファレンス: