是否可以阻止一个应用程序的 NotifyOSD?

是否可以阻止一个应用程序的 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选择进行节流的 ap 的名称:

dbus-monitor“接口='org.freedesktop.Notifications'”\
| grep --line-buffered'字符串"ap_name_to_silence“'\
| sed -u -e 's/.*/killall notify-osd/g' \
| 重击

基本Notify结构dbus-monitor "interface='org.freedesktop.Notifications'"

    方法调用发送者=:1.278 -> 目标=:1.151 序列=7 路径=/org/freedesktop/Notifications;接口=org.freedesktop.Notifications;成员=Notify
       字符串“通知发送”                          这是应用程序名称
       uint32 0 这是替换 ID
       字符串“”这是应用程序图标
       字符串“测试”,这是概括
       字符串“”这是身体
       数组[这是行动对列表
       ]
       数组[这是提示字典
          字典条目(
             字符串“紧急程度”
             变体字节 1
       ]
       int32 -1 这是过期超时

测试消音器并注意以下信息"silenced notification"缺失:

通知发送“总和空气”“短暂的物质内容”;睡眠 5;

gdbus 调用--session \
    -d org.freedesktop.通知 \
    -o /org/freedesktop/通知 \
    -m org.freedesktop.Notifications.通知 \
                        ap_name_to_silence                       \
                        42 \
                        gtk-对话框信息 \
                        “目标” \
                        “静音通知”\
                        [] \
                        {} \
                        5000

通知发送“augend airy”“短暂的物质内容 - 即白色牛汁!”

gdbus 调用--session \
    -d org.freedesktop.通知 \
    -o /org/freedesktop/通知 \
    -m org.freedesktop.Notifications.通知 \
                        我的应用程序名称\
                        42 \
                        gtk-对话框信息 \
                        “概括” \
                        “但现在是秋天,不是冬天” \
                        [] \
                        {} \
                        5000

书签:
是否可以阻止一个应用程序的 NotifyOSD?

相关内容