:
# visual shell interface...
./m -e \
  -d "General large-scale file operations
which do awfully interesting things" \
  -m File \
    -d "List all the files in this directory" \
	-f Shell -c "/bin/ls -xF | pg -ns" list \
    -d "Log out" -f Quit Quit \
  -d "Changing files, and moving text around" \
  -m Edit \
    -d "edit the file with the Visual Editor" \
	-f Shell -c "/usr/bin/vi menu.c"  vi \
    -d "run an interactive shell" -c \
    'echo "Type exit to return"; PS1="menu: ${PS1}" ${SHELL-/bin/sh}' shell \
  -d "Build the latest version of the program" \
  -m Compile \
    -d "Compile the program" -c "make 2>&1 | tee make.log" make \
    -d "See the errors" -c "pg -ns make.log" error \
    -d "remove core and .o files, etc." -c "make tidy" tidy \
    -d "Remove all made files" -c "make clean" clean \
  -d "Test the new program!" \
  -m Run \
    -d "Run the rpg example" -c "examples/mkcharacter" rpg \
    -d "Run the vsh example" -c "examples/vsh" vsh  \
  -d "Lots of items in this one, boys!" \
  -m Long \
    -f SayWhatIChose -c "hi" \
      a b c d e f g h i j k l m n o p q r s t u v w x y z \
  -d "Some examples that call the error and ShowInfo functions" \
  -m Info \
    -d "A recoverable error" \
    -f NonFatalError -c "This is a non-fatal error" 'Non Fatal' \
    -d "Make the world end" \
    -f FatalError -c "This makes the program
go horribly wrong,
I'm afraid" Fatal \
    -d "Show an info box" \
    -f ShowInfo -c "Here is some information." ShowInfo
