2016-01-04 20:46:34 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
# wait till it is up, run rofi with error message
|
|
|
|
sleep 1;
|
2016-01-05 18:19:35 +01:00
|
|
|
xterm -T MonkeySee sh &
|
2016-01-04 20:46:34 +01:00
|
|
|
XPID=$!
|
2017-07-27 18:08:23 +02:00
|
|
|
echo "Started MonkeySee xterm: pid ${XPID}"
|
2016-01-04 20:46:34 +01:00
|
|
|
sleep 1;
|
2016-01-05 18:19:35 +01:00
|
|
|
xterm -T TermUnwanted sh &
|
|
|
|
TPID=$!
|
2017-07-27 18:08:23 +02:00
|
|
|
echo "Started TermUnwanted xterm: pid ${TPID}"
|
2016-01-05 18:19:35 +01:00
|
|
|
sleep 1;
|
|
|
|
rofi -modi window -show window > output.txt &
|
2016-01-04 20:46:34 +01:00
|
|
|
RPID=$!
|
2017-07-27 18:08:23 +02:00
|
|
|
echo "Started rofi: pid ${RPID}"
|
2016-01-04 20:46:34 +01:00
|
|
|
|
|
|
|
# send enter.
|
|
|
|
sleep 5;
|
2016-01-05 18:19:35 +01:00
|
|
|
xdotool type 'MonkeySee'
|
2016-01-04 20:46:34 +01:00
|
|
|
sleep 0.4
|
|
|
|
xdotool key Return
|
|
|
|
sleep 1;
|
|
|
|
xdotool key Ctrl+d
|
2016-01-05 18:24:47 +01:00
|
|
|
sleep 1;
|
2017-07-27 18:08:23 +02:00
|
|
|
|
|
|
|
echo -n "Killing TermUnwanted: "
|
|
|
|
if kill ${TPID}; then
|
|
|
|
echo "done"
|
2017-07-27 23:43:47 +02:00
|
|
|
wait ${TPID}
|
2017-07-27 18:08:23 +02:00
|
|
|
fi
|
|
|
|
|
2018-07-10 13:53:40 +02:00
|
|
|
if ps -q ${XPID} # pgrep -u $USER xterm
|
2016-01-05 18:24:47 +01:00
|
|
|
then
|
2017-07-27 18:08:23 +02:00
|
|
|
echo "Found remaining xterms: $(pgrep -u $USER xterm)"
|
2016-01-05 18:24:47 +01:00
|
|
|
kill ${XPID}
|
2018-07-10 13:53:40 +02:00
|
|
|
fi
|
|
|
|
if ps -q ${RPID}
|
|
|
|
then
|
|
|
|
echo "Rofi still running"
|
2016-01-05 18:24:47 +01:00
|
|
|
kill ${RPID}
|
|
|
|
exit 1
|
|
|
|
fi
|
2016-01-04 20:46:34 +01:00
|
|
|
# Get result, kill xvfb
|
|
|
|
wait ${RPID}
|
|
|
|
RETV=$?
|
|
|
|
exit ${RETV}
|