9 Juli 2013 19:22

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.

Kommentare

Powered by BetaBlog
Login | RSS Beiträge RSS Kommentare Impressum