xref: /inferno-os/lib/wmsetup.grid (revision 46439007cf417cbd9ac8049bb4122c890097a0fa)
1# /dis/sh script
2# wm defines "menu" and "delmenu" builtins
3load std
4prompt='% ' ''
5fn % {$*}
6autoload=std
7home=/usr/^"{cat /dev/user}
8
9if {! {~ wm ${loaded}}} {
10	echo wmsetup must run under wm >[1=2]
11	raise usage
12}
13
14fn wmrun {
15	args := $*
16	{
17		pctl newpgrp
18		fn wmrun
19		$args
20	} > /chan/wmstdout >[2] /chan/wmstderr &
21}
22
23fn cd {
24	builtin cd $*;
25	rescue 'bad redir' {} {
26		echo cwd `{pwd} > /chan/shctl
27	} >[2] /dev/null
28}
29autoload=std sexprs
30run /lib/sh/sched
31bind -a /grid/scripts/Inferno /dis
32if{! ftest -f /net/cs}{
33	ndb/cs
34}
35mount -a {mntgen} /n
36
37plumber >/chan/wmstdout >[2=1]
38menu Shell			{wmrun wm/sh}
39menu Acme			{wmrun acme}
40menu Charon			{wmrun charon}
41menu Manual			{wmrun wm/man}
42menu Files			{if {ftest -d $home} {wmrun wm/ftree $home} {wmrun wm/ftree /}}
43menu ''	''
44menu Grid			'Node monitor' {wmrun nodemonitor}
45menu Grid			'Job monitor' {wmrun jobmonitor}
46menu System			'Debugger'		{wmrun wm/deb}
47menu System			'Task manager'		{wmrun wm/task}
48menu System			'Memory monitor'	{wmrun wm/memory}
49menu System			'About'			{wmrun wm/about}
50menu Games			'Tetris'			{wmrun wm/tetris}
51menu Games			'Bounce'			{wmrun wm/bounce}
52
53# anything else
54if {ftest -f $home/lib/wmsetup} {run $home/lib/wmsetup} {}
55