See the file /usr/local/lib/mh/tmac.h.
vmh - visual front-end to MH
vmh [-prompt string] [-vmhproc program] [-novmhproc]
[switches for vmhproc
is a program which implements the server side of the MH
management protocol and uses curses
(3) routines to maintain a
split-screen interface to any program which implements the client side of the
protocol. This latter program, called the vmhproc
, is specified using
the `-vmhproc program' switch.
The upshot of all this is that one can run msh
on a display terminal and
get a nice visual interface. To do this, for example, just add the line
to your .mh_profile. (This takes advantage of the fact that msh
In order to facilitate things, if the `-novmhproc' switch is given, and
can't run on the user's terminal, the vmhproc
directly without the window management protocol.
After initializing the protocol, vmh
prompts the user for a command to be
given to the client. Usually, this results in output being sent to one or more
windows. If a output to a window would cause it to scroll, vmh
the user for instructions, roughly permitting the capabilities of less
(e.g., the ability to scroll backwards and forwards):
SPACE advance to the next windowful
RETURN * advance to the next line
y * retreat to the previous line
d * advance to the next ten lines
u * retreat to the previous ten lines
g * go to an arbitrary line
(preceed g with the line number)
G * go to the end of the window
(if a line number is given, this acts like `g')
CTRL-L refresh the entire screen
h print a help message
q abort the window
(A `*' indicates that a numeric prefix is meaningful for this command.)
Note that if a command resulted in more than one window's worth of information
being displayed, and you allow the command which is generating information for
the window to gracefully finish (i.e., you don't use the `q' command to abort
information being sent to the window), then vmh
will give you one last
change to peruse the window. This is useful for scrolling back and forth. Just
type `q' when you're done.
To abnormally terminate vmh
(without core dump), use <QUIT>
(usually CTRL-\). For instance, this does the “right” thing with
. ^$HOME/.mh_profile~^The user profile ^Path:~^To
determine the user's MH directory msh(1) `-prompt (vmh) '
`-vmhproc msh' None The argument to the `-prompt' switch must be
interpreted as a single token by the shell that invokes vmh
one must usually place the argument to this switch inside double-quotes.
At present, there is no way to pass signals (e.g., interrupt, quit) to the
client. However, generating QUIT when vmh
is reading a command from the
terminal is sufficient to tell the client to go away quickly.
Acts strangely (loses peer or botches window management protocol with peer) on