Status in Pidgin bei Suspend
Etwas nervig, wenn man sein Notebook zuklappt und Pidgin noch laufen hat: Die Benutzerkonten bleiben eingeloggt. Das hat z.B. bei XMPP den Nachteil, dass Nachrichten nicht zugestellt werden, bis ein Timeout erkannt wird.
Heute bin ich über das Programm purple-remote gestoßen, welches zusammen mit Pidgin ausgeliefert wird. Dies ermöglicht es, einer laufenden Pidgin-Instanz von außen (über D-Bus) Befehle zu senden. Damit kann man nun einen kleinen Hook für pm-utils schreiben.
Wie auch bei meinem Screen-Locking-Hook muss auch hier der Benutzer manuell gesetzt oder irgendwie automatisch erkannt werden. Bei Einbenutzersystemen ist das aber relativ unproblematisch.
#!/bin/sh
user="Benutzer hier einfügen"
case "$1" in
hibernate|suspend)
DISPLAY=:0 su -c 'purple-remote setstatus?status=offline > /dev/null' "$user"
exit 0
;;
thaw|resume)
DISPLAY=:0 su -c 'purple-remote setstatus?status=available > /dev/null' "$user"
exit 0
;;
esac
Der Hook basiert auf einem Artikel im Arch-Wiki und wurde leicht modifiziert (insbesondere soll es immer einen positiven Exit Status zurückgeben). Dort findet sich auch ein Beispiel für systemd.