Line # Revision Author
1 45 dpavlin #!/bin/sh -x
2 42 dpavlin
3 44 dpavlin uid="$1"
4 test -z "$uid" && uid="null"
5 name="dwm-popup-$uid"
6 45 dpavlin id_f="/dev/shm/$name.id"
7 42 dpavlin
8 46 dpavlin function start() {
9 44 dpavlin id=`xwit -current -print | cut -d: -f1`
10 46 dpavlin echo "*** start uid $uid id $id to $id_f ***"
11 44 dpavlin echo $id > $id_f
12 46 dpavlin $@;
13 rm -f $id_f;
14 exit
15 }
16 44 dpavlin
17 46 dpavlin if [ "$2" == "term" ] ; then
18 44 dpavlin case $uid in
19 46 dpavlin a) start screen -R -S $name ;;
20 s) start screen -R -S $name irssi ;;
21 *) start bash ;;
22 44 dpavlin esac
23 fi
24
25
26 45 dpavlin case $uid in
27 a) g="100x43+100-20"; f="neep-alt-iso8859-2-24" ;;
28 66 dpavlin s) g="139x25+0+16"; f="neep-alt-iso8859-2-18" ;;
29 45 dpavlin *) g="80x25+100+100"; f="neep-alt-iso8859-2-18" ; echo "*** default ***" ;;
30 esac
31
32 46 dpavlin xterm=`which rxvt-2.7.10 || whixh rxvt`
33 term="$xterm -geometry $g -name $name -fn $f -rv +sb -n $name -ls -e $0 $uid term"
34 45 dpavlin echo "*** using term: $term ***"
35
36 44 dpavlin if [ ! -e $id_f ] ; then
37 42 dpavlin $term
38 else
39 44 dpavlin id=`cat $id_f`
40 42 dpavlin info=`xwininfo -id $id`
41 45 dpavlin echo "*** $id from $id_f = $info ***"
42 42 dpavlin test ! -z "$info" && (
43 op="-unmap"
44 echo $info | grep 'Map State: IsViewable' > /dev/null || op="-pop"
45 xwit $op -id $id
46 ) || $term
47 fi