wmsetup 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # /dis/sh script
  2. # wm defines "menu" and "delmenu" builtins
  3. load std
  4. prompt='% ' ''
  5. fn % {$*}
  6. autoload=std
  7. home=/usr/^"{cat /dev/user}
  8. if {! {~ wm ${loaded}}} {
  9. echo wmsetup must run under wm >[1=2]
  10. raise usage
  11. }
  12. fn wmrun {
  13. args := $*
  14. {
  15. pctl newpgrp
  16. fn wmrun
  17. $args
  18. } > /chan/wmstdout >[2] /chan/wmstderr &
  19. }
  20. fn cd {
  21. builtin cd $*;
  22. rescue 'bad redir' {} {
  23. echo cwd `{pwd} > /chan/shctl
  24. } >[2] /dev/null
  25. }
  26. plumber >/chan/wmstdout >[2=1]
  27. menu Shell {wmrun wm/sh}
  28. menu Acme {wmrun acme}
  29. menu Edit {wmrun wm/edit}
  30. menu Charon {wmrun charon}
  31. menu Manual {wmrun wm/man}
  32. menu Files {if {ftest -d $home} {wmrun wm/ftree $home} {wmrun wm/ftree /}}
  33. menu '' ''
  34. menu System 'Debugger' {wmrun wm/deb}
  35. menu System 'Module manager' {wmrun wm/rt}
  36. menu System 'Task manager' {wmrun wm/task}
  37. menu System 'Memory monitor' {wmrun wm/memory}
  38. menu System 'About' {wmrun wm/about}
  39. menu Misc 'Coffee' {wmrun wm/coffee}
  40. menu Misc 'Colours' {wmrun wm/colors}
  41. #menu Misc 'Winctl' {wmrun wm/winctl}
  42. menu Misc 'Clock' {wmrun wm/date}
  43. menu Games 'Tetris' {wmrun wm/tetris}
  44. menu Games 'Bounce' {wmrun wm/bounce}
  45. #menu Games 'Game client' {wmrun games/gameclient >/dev/null >[2=1]}
  46. #menu Games 'Game client (local)' {wmrun games/gameclient -l > /dev/null >[2=1]}
  47. if {ftest -f $home/lib/wmsetup} {run $home/lib/wmsetup} {}