docs
[mirrors/Programs.git] / bash / pidgin.bash
CommitLineData
21c4e167
H
1#!/bin/bash
2#
3# 01pidgin: suspend/wakeup pidgin
4
5purple_remote='/usr/bin/purple-remote';
6
7purple_global_remote() {
8 for user in $(ps -o euser,comm -C dbus-daemon | tail -n +2 | cut -d ' ' -f 1 | grep -v '^dbus$'); do
9 command="$1";
10 tempfile="/tmp/pidgin-last-status-$user";
11 if [ "$command" == 'resume' ]; then
12 command='setstatus?status='$(cat "$tempfile");
13 else
14 last_status=$(su "$user" -c "$purple_remote getstatus");
15 echo -n "$last_status" > "$tempfile";
16 echo "user $user will be resumed to: $last_status";
17 fi;
18 su "$user" -c "$purple_remote $command";
19 done;
20}
21
22case "$1" in
23 hibernate|suspend)
24 purple_global_remote 'setstatus?status=offline';
25 sleep 1;
26 ;;
27 thaw|resume)
28 purple_global_remote resume;
29 ;;
30 *) exit $NA
31 ;;
32esac
This page took 0.17831 seconds and 4 git commands to generate.