Project ToDo List
Copyright (C) 2001, 2004 by Steve Litt
User Functionality
Improvements
From the user point of view, Umenu's menuing capabilities are quite
complete.
But as used over the past 18 months, several features have surfaced
that
"would be nice":
-
Default Choices
-
Ability to show command to be executed
Default Choices
This concerns what happens if you press the Enter key. Which choice
will
be executed? This is very helpful in two situations:
-
Long, drawn out procedures such as compiles
-
Using the menu system for educational purposes
About a year ago we released a set of menu definition files that walk
the
user through compiling a kernel. One reported problem was that in the
course
of a 15 minute compile, the user forgot which step he had just done. It
would have been nice to have the next choice to be executed marked on
the
screen, and having the Enter key execute that choice.
This feature would also allow the user to learn procedures. As the
user
repeats the procedure, he sees the steps in order. Combined with the
desired
new feature to show the command to be executed, this could become
entirely
educational.
Anticipated User Interface
When a menu is descended to, a specific single item on that menu is the
default, and is so marked, probably with an asterisk immediately to its
left (in which case any ellipses would be to the left of the asterisk).
The location and mark is open to discussion. That command can be
executed
either with its letter, or by pressing the Enter key.
When the user chooses any choice, either with a letter or with the
Enter
key, that choice's "next choice" property defines the next default
choice.
The menu itself has a default choice, which is invoked when the menu is
descended into. However, when the menu is ascended to via a submenu,
that
submenu choice's "next choice" property defines the new default choice.
Anticipated Implementation
A new letter, N, will be legal in column 1 of
A new letter, N, will be legal in column 1 of the menu definition file.
If that N is below a choice letter (L) it defines that choice's
"next
choice" property. If that N is above the first choice letter (L) in the
file, it defines the default choice when the menu is descended into.
For
each invocation of Umenu, a record of the menu stack is recorded in a
uniquely
named file. This enables Umenu to properly assign a next choice after
returning
from a submenu.
The use of such files is somewhat resource intensive. If anyone can
think of another method to "remember" the previous choice, at any
level,
of every invocation of Umenu, without using files or recursion, please
contact either Steve Litt.
Code will be written to recognize the press of the Enter key, and
select
the current default choice.
Ability to show command to be executed
This would be a very nice learning tool. We'd anticipate that some
keystroke
or sequential keystroke combination would print the command to be
executed
to stdout, and then upon another keystroke return to the menu.
Alternatively,
Umenu could have a print mode and a do mode, or possibly when in print
mode a confirmation as to whether to do.
We need feedback on this feature.
Translatable Choice commands
Wouldn't it be nice if pressing the "Clear Screen" choice on a DOS box
would issue the command "cls", while the same command on a UNIX box
would
issue the command "reset;clear"? By mapping certain commands usable
within
the choice's command string to OS specific commands, this could be
done.
It is anticipated that doing this within the framework of the Umenu
manifesto
would be difficult, so rather than putting this in version 0.6, we will
make sure that nothing in version 0.6 hinders our ability to add this
feature
later. In other words, all hooks for this feature must go in 0.6.
Copyright (C) 2001, 2004 by Steve Litt