Можно ли заблокировать NotifyOSD для одного приложения?
Есть ли способ запретить NotifyOSD (или XFCE-Notify) отображать уведомления от одного конкретного приложения?
1 ответ
Да, но с оговорками... killall notify-osd
агрессивно... чтобы сделать это изящно, необходимо, чтобы ожидающие уведомления были сохранены до того, как нарушитель вызовет killall notify-osd
а затем восстановить их, сохраняя хронологическую целостность.
ссылка:
Кнопка закрытия на уведомлении-OSD?
было бы неплохо, если бы: Может ли org.freedesktop.Notifications.CloseNotification(uint id) запускаться и вызываться через DBus?
монитор D-Bus
найти уведомления для удаления, которые исходят из выбранного приложения. Запустите этот скрипт в терминале или в качестве фоновой задачи, изменив ap_name_to_silence
на имя ап выбранной для регулирования:
dbus-monitor "interface = 'org.freedesktop.Notifications'" \ | grep --line-buffered 'string " ap_name_to_silence "' \ | sed -u -e 's /.*/ killall notify-osd / g' \ | удар
основной Notify
структура в dbus-monitor "interface='org.freedesktop.Notifications'"
является
отправитель вызова метода =:1.278 -> dest=:1.151 serial=7 path=/org/freedesktop/Notifications; интерфейс =org.freedesktop.Notifications; member= строка уведомления " notify -send" это имя приложения uint32 0 это строка replaceces_id "" это строка app_icon "test" это строка резюме "" это массив body [это список пар действий ] массив [это запись в словаре подсказок словаря (строка "срочность", байт 1) ] int32 -1 это expire_timeout
проверить глушитель с этими сообщениями, отмечая "silenced notification"
отсутствует:
уведомить-отправить "sum airy" "эфемерное телесное содержание"; спать 5; gdbus call --session \ -d org.freedesktop.Notifications \ -o / org / freedesktop / Уведомления \ -m org.freedesktop.Notifications.Notify \ ap_name_to_silence \ 42 \ gtk-dialog-info \ "Цель" \ "молчаливое уведомление" \ [] \ {} \ 5000 уведомить-отправить "augend airy" "эфемерное телесное содержимое - т.е. белый му-сок \!" gdbus call --session \ -d org.freedesktop.Notifications \ -o / org / freedesktop / Уведомления \ -m org.freedesktop.Notifications.Notify \ my_app_name \ 42 \ gtk-dialog-info \ "Резюме" \ "но теперь это осень, а не зима" \ [] \ {} \ 5000
Закладка:
Можно ли заблокировать NotifyOSD для одного приложения?