xref: /inferno-os/lib/wmcharon (revision 46439007cf417cbd9ac8049bb4122c890097a0fa)
1*46439007SCharles.Forsyth# /dis/sh script
2*46439007SCharles.Forsyth# wm defines "menu" and "delmenu" builtins
3*46439007SCharles.Forsythload std
4*46439007SCharles.Forsythprompt='% ' ''
5*46439007SCharles.Forsythfn % {$*}
6*46439007SCharles.Forsythautoload=std
7*46439007SCharles.Forsythhome=/usr/^"{cat /dev/user}
8*46439007SCharles.Forsyth
9*46439007SCharles.Forsythif {! {~ wm ${loaded}}} {
10*46439007SCharles.Forsyth	echo wmsetup must run under wm >[1=2]
11*46439007SCharles.Forsyth	raise usage
12*46439007SCharles.Forsyth}
13*46439007SCharles.Forsyth
14*46439007SCharles.Forsythfn wmrun {
15*46439007SCharles.Forsyth	args := $*
16*46439007SCharles.Forsyth	{
17*46439007SCharles.Forsyth		pctl newpgrp
18*46439007SCharles.Forsyth		fn wmrun
19*46439007SCharles.Forsyth		$args
20*46439007SCharles.Forsyth	} > /chan/wmstdout >[2] /chan/wmstderr &
21*46439007SCharles.Forsyth}
22*46439007SCharles.Forsyth
23*46439007SCharles.Forsythfn cd {
24*46439007SCharles.Forsyth	builtin cd $*; echo cwd `{pwd} > /chan/shctl >[2] /dev/null
25*46439007SCharles.Forsyth}
26*46439007SCharles.Forsyth
27*46439007SCharles.Forsythplumber >[2] /chan/wmstderr >/chan/wmstdout
28*46439007SCharles.Forsythwmrun $*
29