如何使用DBus和Python 3阅读通知

时间:2019-03-27 10:10:09

标签: python-3.x dbus

我正在开发一个简单的应用程序,该应用程序从DBus读取通知,并在收到通知后做一些事情。

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

1 个答案:

答案 0 :(得分: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()