--- trunk/dwm-popup 2007/07/28 23:49:51 44 +++ trunk/dwm-popup 2008/02/15 22:00:35 66 @@ -1,31 +1,44 @@ -#!/bin/sh +#!/bin/sh -x uid="$1" test -z "$uid" && uid="null" name="dwm-popup-$uid" -id_f="/tmp/$name.id" +id_f="/dev/shm/$name.id" -if [ "$2" == "term" ] ; then +function start() { id=`xwit -current -print | cut -d: -f1` - echo "*** uid $uid id $id ***" + echo "*** start uid $uid id $id to $id_f ***" echo $id > $id_f + $@; + rm -f $id_f; + exit +} +if [ "$2" == "term" ] ; then case $uid in - a) exec screen -R -S $name ;; - s) exec screen -R -S $name irssi ;; - *) echo "*** default fallback for $uid ***" ; exec bash ;; + a) start screen -R -S $name ;; + s) start screen -R -S $name irssi ;; + *) start bash ;; esac fi -# -term="rxvt -geometry 100x43+100-20 -name $name -fn neep-alt-iso8859-2-24 -rv +sb -n $name -ls -e $0 $uid term" + +case $uid in +a) g="100x43+100-20"; f="neep-alt-iso8859-2-24" ;; +s) g="139x25+0+16"; f="neep-alt-iso8859-2-18" ;; +*) g="80x25+100+100"; f="neep-alt-iso8859-2-18" ; echo "*** default ***" ;; +esac + +xterm=`which rxvt-2.7.10 || whixh rxvt` +term="$xterm -geometry $g -name $name -fn $f -rv +sb -n $name -ls -e $0 $uid term" +echo "*** using term: $term ***" if [ ! -e $id_f ] ; then $term else id=`cat $id_f` info=`xwininfo -id $id` - echo "*** $id from $id_f ***" + echo "*** $id from $id_f = $info ***" test ! -z "$info" && ( op="-unmap" echo $info | grep 'Map State: IsViewable' > /dev/null || op="-pop"