summaryrefslogtreecommitdiff
path: root/lib/wmsetup
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 20:52:35 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 20:52:35 +0000
commit46439007cf417cbd9ac8049bb4122c890097a0fa (patch)
tree6fdb25e5f3a2b6d5657eb23b35774b631d4d97e4 /lib/wmsetup
parent37da2899f40661e3e9631e497da8dc59b971cbd0 (diff)
20060303-partial
Diffstat (limited to 'lib/wmsetup')
-rw-r--r--lib/wmsetup52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/wmsetup b/lib/wmsetup
new file mode 100644
index 00000000..b79b04ea
--- /dev/null
+++ b/lib/wmsetup
@@ -0,0 +1,52 @@
+# /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
+}
+
+plumber >/chan/wmstdout >[2=1]
+menu Shell {wmrun wm/sh}
+menu Acme {wmrun acme}
+menu Edit {wmrun wm/edit}
+menu Charon {wmrun charon}
+menu Manual {wmrun wm/man}
+menu Files {if {ftest -d $home} {wmrun wm/ftree $home} {wmrun wm/ftree /}}
+menu '' ''
+menu System 'Debugger' {wmrun wm/deb}
+menu System 'Module manager' {wmrun wm/rt}
+menu System 'Task manager' {wmrun wm/task}
+menu System 'Memory monitor' {wmrun wm/memory}
+menu System 'About' {wmrun wm/about}
+menu Misc 'Coffee' {wmrun wm/coffee}
+menu Misc 'Colours' {wmrun wm/colors}
+#menu Misc 'Winctl' {wmrun wm/winctl}
+menu Misc 'Clock' {wmrun wm/date}
+menu Games 'Tetris' {wmrun wm/tetris}
+menu Games 'Bounce' {wmrun wm/bounce}
+#menu Games 'Game client' {wmrun games/gameclient >/dev/null >[2=1]}
+#menu Games 'Game client (local)' {wmrun games/gameclient -l > /dev/null >[2=1]}
+
+if {ftest -f $home/lib/wmsetup} {run $home/lib/wmsetup} {}