actually i think it's good! obviously, it's not very complex, but it does the job and that's excellent.
i didn't read the source code yet, but i have a couple of comments regarding usability that may or may not be of interest to you. they are both minor.
1) i installed menu on a system with no 'pine' installed, and of course when i selected pine, it didn't open. however i would like to see an error message be displayed when a program cannot be run. this may not be an issue to you since you know that all those programs are installed on the machine you will have it running on.
2) to exit, i had to type a captial X. with the other menu entries, small letters were okay, but with exit, it had to be a capital. this isn't major, but is an inconsistency with the interface.
also, there's an aesthetic consideration regarding what the entries are called. this one should be really simple to change, all i propose is that the menu entries contain terse description of what the program does and how to get back to the menu. example:
p) pine - mail reader - type 'ctrl-q' to return to menu
l) lynx - browser - type 'q' to return to menu
b) bash - command prompt - type 'exit' to return to menu
that sort of thing. also, if the system uses bash instead of sh or ash, i think the menu should say what shell it actually uses. it is possible that my system just symlinks sh to bash so that's why i got bash instead of sh, as i say i didn't read the code yet so i don't know.
just my thoughts. i might actually use that for my own "desktop", when not using a gui, instead of just having a bash prompt. if i do ever use it and modify it, i'll email you a copy of the new one.
edit: oh yes, btw, maybe 'install' could take some options about where to put the executable, just a thought, i don't know how to code so i don't know how difficult this is, also, it's only two files or something so they would be easy to move after installation, but still...
[ March 28, 2003: Message edited by: Calum: crusader for justice & peace ]