1*7dd7cddfSDavid du Colombier#!/bin/rc 2*7dd7cddfSDavid du Colombierswitch($#*){ 3*7dd7cddfSDavid du Colombiercase 0 1 2 4*7dd7cddfSDavid du Colombier echo usage: window '''minx miny maxx maxy''' '''minx miny maxx maxy''' cmd args ... 5*7dd7cddfSDavid du Colombier exit usage 6*7dd7cddfSDavid du Colombier} 7*7dd7cddfSDavid du Colombier 8*7dd7cddfSDavid du Colombierrfork ns 9*7dd7cddfSDavid du Colombier 10*7dd7cddfSDavid du Colombierif(mount $wsys /mnt/acid N`{{echo $pid $1 }| sed 's/^ //g;s/ +/,/g'}){ 11*7dd7cddfSDavid du Colombier winid=`{cat /dev/winid} 12*7dd7cddfSDavid du Colombier echo transcript > /mnt/acid/label 13*7dd7cddfSDavid du Colombier echo transcript > /mnt/acid/cons 14*7dd7cddfSDavid du Colombier shift 15*7dd7cddfSDavid du Colombier} 16*7dd7cddfSDavid du Colombierif not exit 0 17*7dd7cddfSDavid du Colombier 18*7dd7cddfSDavid du Colombierif(mount $wsys /mnt/wsys N`{{echo $pid $1 }| sed 's/^ //g;s/ +/,/g'}){ 19*7dd7cddfSDavid du Colombier shift 20*7dd7cddfSDavid du Colombier bind -b /mnt/wsys /dev 21*7dd7cddfSDavid du Colombier} 22*7dd7cddfSDavid du Colombierif not exit 0 23*7dd7cddfSDavid du Colombier 24*7dd7cddfSDavid du Colombierecho -n `{basename $1} > /dev/label >[2] /dev/null 25*7dd7cddfSDavid du Colombier@{ 26*7dd7cddfSDavid du Colombier echo hang > /proc/^`{cat /dev/ppid}^/ctl 27*7dd7cddfSDavid du Colombier $* < /dev/$winid/cons > /dev/$winid/cons >[2] /dev/$winid/cons & 28*7dd7cddfSDavid du Colombier exit $apid 29*7dd7cddfSDavid du Colombier} 30*7dd7cddfSDavid du Colombierostatus = `{echo $status | sed 's/.*://'} 31*7dd7cddfSDavid du Colombierecho waitstop > /proc/$ostatus/ctl 32*7dd7cddfSDavid du Colombierecho nohang > /proc/$ostatus/ctl 33*7dd7cddfSDavid du Colombierexit $ostatus 34