123456789101112131415161718192021222324252627282930313233 |
- #!/bin/rc
- switch($#*){
- case 0 1 2
- echo usage: window '''minx miny maxx maxy''' '''minx miny maxx maxy''' cmd args ...
- exit usage
- }
- rfork ns
- if(mount $wsys /mnt/acid N`{{echo $pid $1 }| sed 's/^ //g;s/ +/,/g'}){
- winid=`{cat /dev/winid}
- echo transcript > /mnt/acid/label
- echo transcript > /mnt/acid/cons
- shift
- }
- if not exit 0
- if(mount $wsys /mnt/wsys N`{{echo $pid $1 }| sed 's/^ //g;s/ +/,/g'}){
- shift
- bind -b /mnt/wsys /dev
- }
- if not exit 0
- echo -n `{basename $1} > /dev/label >[2] /dev/null
- @{
- echo hang > /proc/^`{cat /dev/ppid}^/ctl
- $* < /dev/$winid/cons > /dev/$winid/cons >[2] /dev/$winid/cons &
- exit $apid
- }
- ostatus = `{echo $status | sed 's/.*://'}
- echo waitstop > /proc/$ostatus/ctl
- echo nohang > /proc/$ostatus/ctl
- exit $ostatus
|