diff options
Diffstat (limited to '')
-rwxr-xr-x | .i3/scripts/start_pidgin.sh | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/.i3/scripts/start_pidgin.sh b/.i3/scripts/start_pidgin.sh index 6fb144b..8261113 100755 --- a/.i3/scripts/start_pidgin.sh +++ b/.i3/scripts/start_pidgin.sh @@ -6,13 +6,19 @@ # test for pidgin already running (( `pgrep -xc pidgin` )) && return +# start dbus-monitor +coproc dbus-monitor --profile "interface=im.pidgin.purple.PurpleInterface" +dbus_pid=$! + +# kill it on exit +TRAPEXIT() { kill $dbus_pid } + # start pidgin in background pidgin & # wait for the DBus-Service to be available # we use '--profile' because it renders nicer output -dbus-monitor --profile "interface=im.pidgin.purple.PurpleInterface" | -while read line; do +while read -p line; do [[ $line =~ 'UpdateIdle$' ]] && break # if the blist is automatically shown, we exit # else we would move the focus, which is bad |