Getting Pidgin to sign off when you lock your screen
Posted by Admin • Wednesday, October 14. 2009 • Category: Linux
I am signed in to google talk from many places - blackberry, laptops, desktops, etc - and every once in a while, IM's don't go to the right one. Since I lock my workstation at the office whenever I get up, I figured it'd be nice to have Pidgin log off at the same time.
I am not sure how you would do this in Windows, but in Linux (Ubuntu in my case), I did it like this:
Changed my screen lock hotkey (Ctrl-Alt-l for me) to run the following:
Ubuntu has a broken version of xlock (1:5.31-1) which gets the BadMatch (invalid parameter attributes) error. I switched to using slock from "suckless-tools" package, like so:
Interestingly, after running slock, xlock works too.. it's actually related to dpms: If you run xset +dpms, xlock will work (once).
You can adjust the xlock version for this bug as follows:
I am not sure how you would do this in Windows, but in Linux (Ubuntu in my case), I did it like this:
Changed my screen lock hotkey (Ctrl-Alt-l for me) to run the following:
xlock -startCmd "purple-remote setstatus?status=offline" -endCmd "purple-remote setstatus?status=available"That's it. If you want specific screensaver modes you can stick them in them too:
xlock -mode blank -startCmd "purple-remote setstatus?status=offline" -endCmd "purple-remote setstatus?status=available"
Update: July 2012
Ubuntu has a broken version of xlock (1:5.31-1) which gets the BadMatch (invalid parameter attributes) error. I switched to using slock from "suckless-tools" package, like so:
bash -c "purple-remote setstatus?status=offline ; slock ; purple-remote setstatus?status=available"
Interestingly, after running slock, xlock works too.. it's actually related to dpms: If you run xset +dpms, xlock will work (once).
You can adjust the xlock version for this bug as follows:
xlock -mode blank -startCmd "xset +dpms ; purple-remote setstatus?status=offline" -endCmd "purple-remote setstatus?status=available"
PS: Doing this in openbox:
<keybind key="C-A-l">
<action name="Execute">
<startupnotify><enabled>true</enabled><name>Run</name></startupnotify>
<command>xlock -startCmd "purple-remote setstatus?status=offline" -endCmd "purple-remote setstatus?status=available"</command>
</action>
</keybind>
For me the commented solution didn't work so I decided to use the builtin "gnome-screensaver-command" and launch next bash script when Screen Lock:
!/bin/bash
Lock Screen + Pidgin On/Off
bash -c "gnome-screensaver-command --lock" bash -c "purple-remote setstatus?status=offline" while [ "
gnome-screensaver-command --query | head -1
" = "The screensaver is active" ]; dodo nothing
: done
Put here some commands to run after unlocking..
bash -c "purple-remote setstatus?status=away"