Plan 9 from User Space's /usr/local/plan9/bin/Getdir

#!/usr/local/plan9/bin/rc

# Click on an acme directory window and then execute Getdir

. 9.rc
dir=acme/acme/$winid

fn rd {
	9p read $dir/$1 || { echo 9p failed >[1=2]; exit 9p }
}
fn wr {
	9p write $dir/$1 || { echo 9p failed >[1=2]; exit 9p }
}


tag=`{rd tag}
if(! ~ $tag(1) */){
	echo window $tag(1) is not a directory >[1=2]
	exit 'not a directory'
}

echo -n , | wr addr

ls -pF `{eval echo $tag(1)} | sed 's/\*$//' |
	grep -v '^''?\.|\.o$|^''?o\.' |
	mc |
	wr data
echo -n '#0' | wr addr
echo -n 'dot=addr' | wr ctl

Space Glenda

Copyright © 2005 Lucent Technologies, Russ Cox, MIT.
See license for details.