如何从命令行设置 Pidgin 状态?
How to set Pidgin status from command line?
如何从命令行在 Pidgin 即时消息中 set/change 我的状态(如 Available/Busy/Away)?我需要这个来确保每当我锁定屏幕时我的状态都会更改为 'Away'。我安装了 'awayonlock' 插件,但它似乎不适用于 MATE 桌面环境。
我能够创建一个简单的 python 脚本来执行此操作:
set_im_status.py
#!/usr/local/bin/python
import sys
import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
dbus_loop = DBusGMainLoop()
bus = dbus.SessionBus(mainloop=dbus_loop)
dbus_obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(dbus_obj, "im.pidgin.purple.PurpleInterface")
status = sys.argv[1]
# Available
if status == "a":
status_id = dbus.String(u'available')
# Busy
elif status == "b":
status_id = dbus.String(u'unavailable')
# Away
elif status == "w":
status_id = dbus.String(u'away')
# Invisible
elif status == "i":
status_id = dbus.String(u'invisible')
# Offline
elif status == "f":
status_id = dbus.String(u'offline')
else:
status_id = dbus.String(u'available')
status_type = purple.PurplePrimitiveGetTypeFromId(status_id)
saved = purple.PurpleSavedstatusNew("", status_type)
purple.PurpleSavedstatusActivate(saved)
现在设置状态为'Busy',运行:% python set_im_status.py b
如何从命令行在 Pidgin 即时消息中 set/change 我的状态(如 Available/Busy/Away)?我需要这个来确保每当我锁定屏幕时我的状态都会更改为 'Away'。我安装了 'awayonlock' 插件,但它似乎不适用于 MATE 桌面环境。
我能够创建一个简单的 python 脚本来执行此操作:
set_im_status.py
#!/usr/local/bin/python
import sys
import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
dbus_loop = DBusGMainLoop()
bus = dbus.SessionBus(mainloop=dbus_loop)
dbus_obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(dbus_obj, "im.pidgin.purple.PurpleInterface")
status = sys.argv[1]
# Available
if status == "a":
status_id = dbus.String(u'available')
# Busy
elif status == "b":
status_id = dbus.String(u'unavailable')
# Away
elif status == "w":
status_id = dbus.String(u'away')
# Invisible
elif status == "i":
status_id = dbus.String(u'invisible')
# Offline
elif status == "f":
status_id = dbus.String(u'offline')
else:
status_id = dbus.String(u'available')
status_type = purple.PurplePrimitiveGetTypeFromId(status_id)
saved = purple.PurpleSavedstatusNew("", status_type)
purple.PurpleSavedstatusActivate(saved)
现在设置状态为'Busy',运行:% python set_im_status.py b