#!/dis/sh

load std

fn event {
	if{~ $1$2 Mx MX}{	# button 2 in tag or body
		echo $1$2$3 $4 >$wdir/event
	}{~ $1$2 Ml ML}{	# button 3 in tag or body
		if{~ $dict NONE}{
			dictwin /adict/$9/ $9
		}{
			dictwin /adict/$dict/$9 $dict $9
		}
	}&
}

fn dictwin {
	id=`{cat /mnt/acme/new/ctl}
	wdir=/mnt/acme/^${hd $id}
	echo noscroll >$wdir/ctl
	echo name $1 > $wdir/ctl
	if{~ $#* 1}{
		os dict -d'?' >[2=1] | sed 1d >$wdir/body
	}{~ $#* 2}{
		dict=$2
	}{
		dict=$2
		os dict -d $dict $3 >[2=1] >$wdir/body
	}
	echo -n clean >$wdir/ctl
	run ${pipe from {cat $wdir/event >[2]/dev/null | acmeevent}}
}

load arg

dict=NONE
(arg
	d+	{dict=$arg}
	'*'	{echo unknown option $opt >[1=2]; exit unknownopt}
	-	$*
)
if{~ $#* 0}{
	if{~ $dict NONE}{
		dictwin /adict/
	}{
		dictwin /adict/$dict/ $dict
	}
}{
	if{~ $dict NONE}{
		dict=`{os dict -d'?' | sed -n 's/^   ([^\[ 	]+).*/\1/p' | sed 1q}
		if{~ $#dict 0}{
			echo 'no dictionaries present on this system' >[1=2]
			exit nodict
		}
	}
	for word in $*{
		dictwin /adict/$dict/$word $dict $word
	}
}
