Away-on-lock 0.5.2
2010.02.01 14:28 by Leo Antunes - Comments OffChanges:
- added an INSTALL file by popular request
- use LIBPURPLE_LIBDIR in install target
Get it here
Changes:
Get it here
Fixing a stupid bug I was too hasty to notice (even though it was obvious).
Nothing to see here, move along.
Changes:
Get it, as usual, on the project page
Changes:
Get it, as usual, on the project page
Changes:
Grab it here.
Oops, forgot about an build issue that should have been included in 0.2, now fixed in 0.2.1.
After way more time than I thought it would take, I finally managed to release away-on-lock 0.2.
Changes are:
First release of away-on-lock, the small Pidgin plugin to set your status as away when the screensaver activates.
Away-on-Lock is a simple plugin for Pidgin (or any other libpurple-based IM client) to change your status when the screensaver gets activated.
It currently supports Gnome Screensaver and KScreensaver since they’re the only ones that make use of DBus to advertise their status.
Code, bugs and feature requests on the Trac.
The git repository can be cloned from here or from the github mirror.
Some people have bumped into this CMake bug. It’s not a plugin issue and the best way to circumvent it is upgrading your CMake version.
Away-on-lock has been implemented as a C plugin simply because I wanted to toy with the idea (and with a CMake-based build system).
It could have been implemented with something like the following python script, but what’s the fun in doing something just one way?
#!/usr/bin/env python 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_current = None def set_status_cb(screensaver_active): global staus_away,status_current status_away = purple.PurpleSavedstatusGetIdleaway() if screensaver_active: status_current = purple.PurpleSavedstatusGetCurrent() purple.PurpleSavedstatusActivate(status_away) elif status_current: purple.PurpleSavedstatusActivate(status_current) bus.add_signal_receiver(set_status_cb, signal_name='ActiveChanged', dbus_interface='org.gnome.ScreenSaver') gobject.MainLoop().run()