The minibuffer menu
The minibuffer menu provides easy access to a few selected external
commands that it is hoped will be commonly required, e.g. printing,
spelling checking, formatting and mailing. The mini-shell commands that
implement them are:
Those commands only place the commands `! lpr', `! spell' etc. into the
minibuffer (with its accelerators enabled) so it is possible to add
options to them before proceeding.
For convenience, the menu also provides exec and abort entries; the
first is simply equivalent to hitting Return, and causes the command in
the minibuffer to be executed, while the second removes the
accelerators so that keystrokes in the editing buffer will revert to
being directed to that buffer instead of to the minibuffer.
A further three entries are identical to the first three except that
the commands are entered and executed in one operation. They are
identifiable by having <RET> in the entry label, which is meant to
convey that the command contains the Return to cause it to be executed.
It does not make sense to replicate `mail' in this way since a
recipient will always have to be added to the minibuffer command before
Although probably useful as it stands, the minbuffer menu is merely a
demonstration of what can be done. It is totally customisable by the
user by defining the *miniMenu* resource. Its value is a whitespace
separated list of items. If a `:' occurs in an item then the left hand
part will be taken as the corresponding menu entry label and the right
hand part as the minibuffer action, otherwise the whole item will be
used for both purposes. If the action part begins with `mini-' then it
is left untouched, otherwise it is taken to be an argument to
mini-shell. Furthermore, an item of `|' is interpreted to mean that a
dividing line should be added to the menu at that position. An item of
`+' means that the default menu should be substituted at that point,
i.e. the user can either replace or add to the default menu. So
*miniMenu:who | +
would add an item called who, that would execute the who command, to the
top of the default menu, and separated from it by a dividing line,
would generate a menu consisting of a single `who' entry.
The resource value defining the default menu is:
print:lpr spell nroff mail | \
exec:mini-commit abort:mini-abort | \
print<RET>:lpr\n spell<RET>:spell\n nroff<RET>:nroff\n
Labels and actions can be quoted using either the single or the double
quote characters, e.g
"laser printer":'lpr -Plaser' or 'laser printer':"lpr -Plaser"
The " and ' characters themselves can only be included by using the
other quote character to do the quoting, e.g.
You can provide help to be displayed in the information bar when the
mouse enters your menu items by setting each's help resource. The name
of the widget is the same as the item's label, e.g.
*laser printer.help:Send to laser printer
automatically generated by info2www version 22.214.171.124