Skip to content

Instantly share code, notes, and snippets.

@danielpcox
Created October 22, 2011 19:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielpcox/1306367 to your computer and use it in GitHub Desktop.
Save danielpcox/1306367 to your computer and use it in GitHub Desktop.
Set Your Pidgin Status With Ruby and DBus
#!/usr/bin/env ruby
#
require "dbus"
session_bus = DBus::SessionBus.instance
# Get the Pidgin Service
pidgin_dbus = session_bus.service("im.pidgin.purple.PurpleService")
# Get the object from this service
pidgin = pidgin_dbus.object("/im/pidgin/purple/PurpleObject")
pidgin.default_iface = "im.pidgin.purple.PurpleInterface"
pidgin.introspect
def set_status(new_status, pidgin)
current = pidgin.PurpleSavedstatusGetType(pidgin.PurpleSavedstatusGetCurrent().first).first
status = pidgin.PurpleSavedstatusNew("", current).first
pidgin.PurpleSavedstatusSetMessage(status, new_status)
pidgin.PurpleSavedstatusActivate(status)
end
set_status("I just set my IM status with Ruby and DBus.", pidgin)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment