私の問題は、それらをインターフェースする方法がわからないことです。dbus が pidgin と連携するために、特定の方法で pidgin をインストールする必要がありますか? そうでない場合、dbusがそれを利用するためにpidgin guiを実行する必要がありますか?
2112 次
5 に答える
5
このソースに従って、次のことができます:
#!/usr/bin/env python
def cb_func(account, rec, message):
#change message here somehow?
print message
import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()
bus.add_signal_receiver(cb_func,
dbus_interface="im.pidgin.purple.PurpleInterface",
signal_name="SendingImMsg")
loop = gobject.MainLoop()
loop.run()
おそらく、このリードから始めることができます。
于 2009-08-13T22:12:43.497 に答える
4
import dbus
from dbus.mainloop.glib import DBusGMainLoop
main_loop = DBusGMainLoop()
session_bus = dbus.SessionBus(mainloop = main_loop)
obj = session_bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
次に、紫色のオブジェクトを使用して、次のようなメソッドを呼び出すことができます。
status = purple.PurpleSavedstatusNew("", current)
purple.PurpleSavedstatusSetMessage(status, message)
purple.PurpleSavedstatusActivate(status)
于 2009-08-16T04:57:29.793 に答える
2
以下のコードには、非表示のときにバディ リストを表示する例と、特定の連絡先との IM 会話を開始する別の例があります。
import dbus
BUS_ARGS = ('im.pidgin.purple.PurpleService', '/im/pidgin/purple/PurpleObject')
obj = dbus.SessionBus().get_object(*BUS_ARGS)
purple = dbus.Interface(obj, 'im.pidgin.purple.PurpleInterface')
# show buddy list if it is hidden
purple.PurpleBlistSetVisible(1)
# start IM conversation with specific contact
account = purple.PurpleAccountsFindConnected('', '')
conversation = purple.PurpleConversationNew(1, account, 'alice@example.com')
pidgin での dbus の使用に関連するいくつかの有用なリソースをお勧めします。
- Riding the D-Bus with Pidgin - 3 つの個別の python dbus の例があります。
- Purple-remote - pidgin をインストールしたときに ubuntu マシンにインストールされた Python スクリプトです。単一のファイルであり、非常に読みやすいです。
- dbus-monitor - dbus 呼び出しを監視する優れたプログラム. 文書化されていない場合に、使用するプログラムで使用されている呼び出しを見つけるのに役立ちます。
- qdbusviewer - pidgins dbus メソッドを一覧表示できる優れたグラフィカル ツール. ツール自体から呼び出すこともできます。
于 2014-01-29T12:03:22.520 に答える