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