fn newwindow {
	winctl=`{9p read acme/new/ctl}
	winid=$winctl(1)
}

fn winctl {	
	echo $* | 9p write acme/$winid/ctl
}

fn winread {
	9p read acme/$winid/$1
}

fn winwrite {
	9p write acme/$winid/$1
}

fn windump {
	if(! ~ $1 - '')
		winctl dumpdir $1
	if(! ~ $2 - '')
		winctl dump $2
}

fn winname {
	winctl name $1
}

fn winwriteevent {
	echo $1$2$3 $4 | winwrite event
}

fn windel {
	if(~ $1 sure)
		winctl delete
	if not
		winctl del
}

fn wineventloop {
	. <{winread event >[2]/dev/null | acmeevent}
}