#!/usr/bin/env bash # wait till it is up, run rofi with error message sleep 1; xterm -T MonkeySee sh & XPID=$! echo "Started MonkeySee xterm: pid ${XPID}" sleep 1; xterm -T TermUnwanted sh & TPID=$! echo "Started TermUnwanted xterm: pid ${TPID}" sleep 1; rofi -modi window -show window > output.txt & RPID=$! echo "Started rofi: pid ${RPID}" # send enter. sleep 5; xdotool type 'MonkeySee' sleep 0.4 xdotool key Return sleep 1; xdotool key Ctrl+d sleep 1; echo -n "Killing TermUnwanted: " if kill ${TPID}; then echo "done" wait ${TPID} fi if ps -q ${XPID} # pgrep -u $USER xterm then echo "Found remaining xterms: $(pgrep -u $USER xterm)" kill ${XPID} fi if ps -q ${RPID} then echo "Rofi still running" kill ${RPID} exit 1 fi # Get result, kill xvfb wait ${RPID} RETV=$? exit ${RETV}