xref: /plan9/sys/lib/acid/transcript (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
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