通过连接设备名称的正则表达式抑制蓝牙连接通知

通过连接设备名称的正则表达式抑制蓝牙连接通知

我运行一个 manjaro 系统,使用 i3 作为窗口管理器,blueman-applet.

当我在工作时,邻居的机器不断地连接和断开到我的机器,导致恼人的弹出窗口宣布它们已连接/断开连接。

我尝试通过小程序阻止和不信任这些机器,但我仍然收到这些通知。

有没有办法通过dbus、 或bluetoothctl或其他机制来阻止来自名称以一组特定前导字符开头的任何设备的所有蓝牙通知(所有设备名称以字符串开头MWAI

我很高兴破解一个配置文件或敲出一个 shell 脚本来实现这一点,只是寻找一些关于如何最好地进行的方向。

答案1

要在运行 i3 并使用 blueman-applet 的 Manjaro 系统上抑制特定设备的蓝牙通知,您可以结合使用 dbus 和 shell 脚本。以下是实现此目的的一般方法:

识别蓝牙设备:首先,您需要确定导致问题的蓝牙设备。您可以使用 bluetoothctl 列出所有配对的设备及其详细信息。

监控蓝牙事件:您可以使用 dbus-monitor 监视蓝牙事件。该工具监听 D-Bus 消息总线系统并输出符合特定条件的消息。

过滤通知:创建一个脚本来监视这些蓝牙事件并检查设备名称是否以“MWAI”开头。如果是这样,请取消通知。

以下是脚本外观的基本轮廓:

#!/bin/bash

dbus-monitor --system "type='signal',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'" |
while read -r line; do
    if echo "$line" | grep -q "MWAI"; then
        # This is where you'll handle the suppression of notifications
        # Depending on how your system is set up, you might need to 
        # interact with your notification system or the Bluetooth service
        echo "Suppressed notification from device starting with MWAI"
    fi
done

相关内容