Is there any way to prevent NotifyOSD (or XFCE-Notify) from displaying notifications from one particular application?
1 Answers
Yes but with caveats ... killall notify-osd is aggressive ... to do this gracefully requires that pending notifications be saved before the offending one triggers killall notify-osd and then reinstate them preserving chronological integrity.
ref:
Close button on notify-osd?
it would be nice if: Can org.freedesktop.Notifications.CloseNotification(uint id) be triggered and invoked via DBus?
Monitor D-Bus to find notifications for removal that originate from the chosen application. Run this script in a terminal or as a background task, changing ap_name_to_silence to the name of the ap chosen for throttling:
dbus-monitor "interface='org.freedesktop.Notifications'" \ | grep --line-buffered 'string "ap_name_to_silence"' \ | sed -u -e 's/.*/killall notify-osd/g' \ | bash
Basic Notify structure in dbus-monitor "interface='org.freedesktop.Notifications'" is
method call sender=:1.278 -> dest=:1.151 serial=7 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
string "notify-send" this is the app_name
uint32 0 this is the replaces_id
string "" this is the app_icon
string "test" this is the summary
string "" this is the body
array [ this is the actions pairs list
]
array [ this is the hints dictionary
dict entry(
string "urgency"
variant byte 1
)
]
int32 -1 this is the expire_timeout
test silencer with these messages noting "silenced notification" is absent:
notify-send "sum airy" "ephemeral corporeal content"; sleep 5;
gdbus call --session \
-d org.freedesktop.Notifications \
-o /org/freedesktop/Notifications \
-m org.freedesktop.Notifications.Notify \
ap_name_to_silence \
42 \
gtk-dialog-info \
"The target" \
"silenced notification" \
[] \
{} \
5000
notify-send "augend airy" "ephemeral corporeal content - ie. white moo juice\!"
gdbus call --session \
-d org.freedesktop.Notifications \
-o /org/freedesktop/Notifications \
-m org.freedesktop.Notifications.Notify \
my_app_name \
42 \
gtk-dialog-info \
"Summary" \
"but now it's autumny and not wintery" \
[] \
{} \
5000
Bookmark:
Is it possible to block NotifyOSD for one application?
- 202