From e4e094b03ced09bf00c0e181bdeee865f86dac1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Mon, 9 Dec 2013 11:48:31 +0100 Subject: Fix start_pidgin.sh to not have lurking dbus-monitor processes --- .i3/scripts/start_pidgin.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to '.i3') 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 -- cgit v1.2.3