2 # window [many options] cmd [arg...] - create new window and run cmd in it
13 if(~ $1 *[0-9][' ,'][0-9]*){
14 # old syntax: '100 100 200 200' or '100,100,200,200'
15 spec=(-r `{echo $1 | sed 's/,/ /g'})
20 while(~ $1 -* && ~ $#xflag 0)
22 case -hide -scroll -noscroll
25 case -dx -dy -minx -miny -maxx -maxy
29 spec=($spec $1 $2 $3 $4 $5)
44 echo usage: $argv0 '[ -m ] [ -r minx miny maxx maxy ]' \
45 '[ -dx n ] [ -dy n ] [ -minx n ] [ -miny n ] [ -maxx n ] [ -maxy n ]' \
46 '[ -cd dir ] [ -hide ] [ -scroll ] [ -noscroll ] [ cmd arg ... ]' >[1=2]
55 echo -n `{basename $cmd(1)} >/dev/label >[2]/dev/null
56 rm -f /env/^(cmd spec wdir wpid mflag xflag argv0)
63 echo $argv0: '$wsys' not defined >[1=2]
73 spec=($spec -pid $wpid)
81 spec=($spec -cd $wdir)
83 {unmount /mnt/acme /dev; unmount $wsys /dev} >[2]/dev/null
84 if(mount $wsys /mnt/wsys 'new '$"spec){
85 bind -b /mnt/wsys /dev
86 exec $argv0 -x $cmd </dev/cons >/dev/cons >[2]/dev/cons
93 if(test -f /dev/wctl) wctl=/dev/wctl
94 if not if(test -f /mnt/term/dev/wctl) wctl=/mnt/term/dev/wctl
95 if not if(test -r /mnt/term/env/wctl) wctl=/mnt/term^`{cat /mnt/term/env/wctl}
97 echo $argv0: '$wctl' not defined >[1=2]
103 spec=($spec -cd $wdir)
104 echo new $spec $argv0 -x $cmd >>$wctl