summaryrefslogtreecommitdiff
path: root/lib/wmsetup.grid
blob: e962feaa3495d912b33b99cc65c4a64b77cc6d3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# /dis/sh script
# wm defines "menu" and "delmenu" builtins
load std
prompt='% ' ''
fn % {$*}
autoload=std
home=/usr/^"{cat /dev/user}

if {! {~ wm ${loaded}}} {
	echo wmsetup must run under wm >[1=2]
	raise usage
}

fn wmrun {
	args := $*
	{
		pctl newpgrp
		fn wmrun
		$args
	} > /chan/wmstdout >[2] /chan/wmstderr &
}

fn cd {
	builtin cd $*;
	rescue 'bad redir' {} {
		echo cwd `{pwd} > /chan/shctl
	} >[2] /dev/null
}
autoload=std sexprs
run /lib/sh/sched
bind -a /grid/scripts/Inferno /dis
if{! ftest -f /net/cs}{
	ndb/cs
}
mount -a {mntgen} /n

plumber >/chan/wmstdout >[2=1]
menu Shell			{wmrun wm/sh}
menu Acme			{wmrun acme}
menu Charon			{wmrun charon}
menu Manual			{wmrun wm/man}
menu Files			{if {ftest -d $home} {wmrun wm/ftree $home} {wmrun wm/ftree /}}
menu ''	''
menu Grid			'Node monitor' {wmrun nodemonitor}
menu Grid			'Job monitor' {wmrun jobmonitor}
menu System			'Debugger'		{wmrun wm/deb}
menu System			'Task manager'		{wmrun wm/task}
menu System			'Memory monitor'	{wmrun wm/memory}
menu System			'About'			{wmrun wm/about}
menu Games			'Tetris'			{wmrun wm/tetris}
menu Games			'Bounce'			{wmrun wm/bounce}

# anything else
if {ftest -f $home/lib/wmsetup} {run $home/lib/wmsetup} {}