* uip/mhlistsbr.c, uip/mhlsbr.c, uip/picksbr.c: cast
[mmh] / man / vmh.man
1 .\"
2 .\" %nmhwarning%
3 .\" $Id$
4 .\"
5 .TH VMH %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
6 .SH NAME
7 vmh \- visual front-end to nmh
8 .SH SYNOPSIS
9 .in +.5i
10 .ti -.5i
11 vmh
12 \%[\-prompt\ string]
13 \%[\-vmhproc\ program] \%[\-novmhproc]
14 .br
15 \%[switches\ for\ \fIvmhproc\fR]
16 \%[\-version]
17 \%[\-help]
18 .in -.5i
19 .SH DESCRIPTION
20 \fIvmh\fR is a program which implements the server side of the \fInmh\fR
21 window management protocol and uses \fIcurses\fR\0(3) routines to maintain
22 a split\-screen interface to any program which implements the client
23 side of the protocol.  This latter program, called the \fIvmhproc\fR,
24 is specified using the `\-vmhproc\ program' switch.
25
26 The upshot of all this is that one can run \fImsh\fR on a display terminal
27 and get a nice visual interface.  To do this, for example, just add
28 the line
29
30 .ti +.5i
31 mshproc: vmh
32
33 to your \&.mh\(ruprofile.  (This takes advantage of the fact that
34 \fImsh\fR is the default \fIvmhproc\fR for \fIvmh\fR.)
35
36 In order to facilitate things, if the `\-novmhproc' switch is given,
37 and \fIvmh\fR can't run on the user's terminal, the \fIvmhproc\fR is
38 run directly without the window management protocol.
39
40 After initializing the protocol, \fIvmh\fR prompts the user for a command
41 to be given to the client.  Usually, this results in output being sent to
42 one or more windows.  If a output to a window would cause it to scroll,
43 \fIvmh\fR prompts the user for instructions, roughly permitting the
44 capabilities of \fIless\fR or \fImore\fR (e.g., the ability to scroll
45 backwards and forwards):
46
47 .nf
48 .in +.5i
49 .ta \w'RETURN  'u +\w'*  'u
50 SPACE           advance to the next windowful
51 RETURN  *       advance to the next line
52 y       *       retreat to the previous line
53 d       *       advance to the next ten lines
54 u       *       retreat to the previous ten lines
55 g       *       go to an arbitrary line
56                 (preceed g with the line number)
57 G       *       go to the end of the window
58                 (if a line number is given, this acts like `g')
59 CTRL\-L         refresh the entire screen
60 h               print a help message
61 q               abort the window
62 .re
63 .in -.5i
64 .fi
65
66 (A `*' indicates that a numeric prefix is meaningful for this command.)
67
68 Note that if a command resulted in more than one window's worth of
69 information being displayed, and you allow the command which is generating
70 information for the window to gracefully finish (i.e., you don't use
71 the `q' command to abort information being sent to the window), then
72 \fIvmh\fR will give you one last change to peruse the window.  This is
73 useful for scrolling back and forth.  Just type `q' when you're done.
74
75 To abnormally terminate \fIvmh\fR (without core dump), use <QUIT>
76 (usually CTRL\-\\).  For instance, this does the \*(lqright\*(rq thing
77 with \fIbbc\fR and \fImsh\fR.
78
79 .Fi
80 ^$HOME/\&.mh\(ruprofile~^The user profile
81 .Pr
82 ^Path:~^To determine the user's nmh directory
83 .Sa
84 msh(1)
85 .De
86 `\-prompt\ (vmh)\ '
87 .Ds
88 `\-vmhproc\ msh'
89 .Co
90 None
91 .Bu
92 The argument to the `\-prompt' switch must be interpreted as a single
93 token by the shell that invokes \fIvmh\fR.  Therefore, one must usually
94 place the argument to this switch inside double\-quotes.
95
96 At present, there is no way to pass signals (e.g., interrupt, quit) to
97 the client.  However, generating QUIT when \fIvmh\fR is reading a command
98 from the terminal is sufficient to tell the client to go away quickly.
99
100 Acts strangely (loses peer or botches window management protocol with
101 peer) on random occasions.
102 .En