如何使用 D-Bus 和 Python 3 读取通知

Posted

技术标签:

【中文标题】如何使用 D-Bus 和 Python 3 读取通知【英文标题】:How to read notifications using D-Bus and Python 3 【发布时间】:2019-08-17 20:50:00 【问题描述】:

我正在开发一个简单的应用程序,它从 D-Bus 读取通知并在收到通知后执行一些操作。

事实证明这很令人头疼,所以我与大家分享我的代码。

【问题讨论】:

【参考方案1】:
import gi.repository.GLib
import dbus
from dbus.mainloop.glib import DBusGMainLoop

def notifications(bus, message):
    # do your magic

DBusGMainLoop(set_as_default=True)

bus = dbus.SessionBus()
bus.add_match_string_non_blocking("eavesdrop=true, interface='org.freedesktop.Notifications', member='Notify'")
bus.add_message_filter(notifications)

mainloop = gi.repository.GLib.MainLoop()
mainloop.run()

【讨论】:

以上是关于如何使用 D-Bus 和 Python 3 读取通知的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python 通过 D-Bus 从 Skype 接收事件?

Python D-Bus 和 Tkinter 主循环集成

用 pygobject 编写 D-Bus 服务?

D-Bus、UDisks 和 Glibmm 的绑定

关于使用 D-Bus 异步方法调用的 Python 中的线程安全

Arduino - Raspberry Pi,使用 D-BUS API 的蓝牙连接