|
|
1.1 root 1: .\" This file is automatically generated. Do not edit!
2: .SC MHL 1
3: .NA
4: mhl \- produce formatted listings of MH messages
5: .SY
6: /usr/new/lib/mh/mhl
7: \%[\-bell] \%[\-nobell]
8: \%[\-clear] \%[\-noclear]
9: \%[\-folder\ +folder]
10: \%[\-form\ formfile]
11: \%[\-length\ lines] \%[\-width\ columns]
12: \%[\-moreproc\ program] \%[\-nomoreproc]
13: \%[files\ ...]
14: \%[\-help]
15: .DE
16: \fIMhl\fR is a formatted message listing program.
17: It can be used as a replacement for \fImore\fR\0(1)
18: (the default \fIshowproc\fR\0).
19: As with \fImore\fR,
20: each of the messages specified as arguments (or the standard input) will be
21: output.
22: If more than one message file is specified,
23: the user will be prompted prior to each one,
24: and a <RETURN> or <EOT> will begin the output,
25: with <RETURN> clearing the screen (if appropriate),
26: and <EOT> (usually CTRL\-D) suppressing the screen clear.
27: An <INTERRUPT> (usually CTRL\-C) will abort the current message output,
28: prompting for the next message (if there is one),
29: and a <QUIT> (usually CTRL-\\) will terminate the program (without core dump).
30:
31: The `\-bell' option tells \fImhl\fR to ring the terminal's bell at the end of each page,
32: while the `\-clear' option tells \fImhl\fR to clear the scree at the end of
33: each page (or output a formfeed after each message).
34: Both of these switches (and their inverse counterparts)
35: take effect only if the profile entry \fImoreproc\fR is defined but empty,
36: and \fImhl\fR is outputting to a terminal.
37: If the \fImoreproc\fR entry is defined and non-empty,
38: and \fImhl\fR is outputting to a terminal,
39: then \fImhl\fR will cause the \fImoreproc\fR to be placed between the
40: terminal and \fImhl\fR and the switches are ignored.
41: Furthermore,
42: if the `\-clear' switch is used and \fImhl's\fR output is directed to a
43: terminal,
44: then \fImhl\fR will consult the \fB$TERM\fR and \fB$TERMCAP\fR
45: environment variables to determine the user's
46: terminal type in order to find out how to clear the screen.
47: If the `\-clear' switch is used and \fImhl's\fR output is not directed to
48: a terminal (e.g., a pipe or a file),
49: then \fImhl\fR will send a formfeed after each message.
50:
51: To override the default \fImoreproc\fR and the profile entry,
52: use the `\-moreproc\ program' switch.
53:
54: The `\-length\ length' and `\-width\ width' switches set the screen length and
55: width, respectively.
56: These default to the values indicated by \fB$TERMCAP\fR,
57: if appropriate,
58: otherwise they default to 40 and 80, respectively.
59:
60: The default format file used by \fImhl\fR is called \fImhl.format\fR
61: (which is first searched for in the user's \fIMH\fR directory,
62: and then sought in the \fI/usr/new/lib/mh\fR directory),
63: this can be changed by using the `\-form\ formatfile' switch.
64:
65: Finally,
66: the `\-folder\ +folder' switch sets the \fIMH\fR folder name,
67: which is used for the \*(lqmessagename:\*(rq field described below.
68: The environment variable \fB$mhfolder\fR is consulted for the default value,
69: which \fIshow\fR, \fInext\fR, and \fIprev\fR initialize appropriately.
70:
71: \fIMhl\fR operates in two phases:
72: 1) read and parse the format file,
73: and 2) process each message (file).
74: During phase 1,
75: an internal description of the format is produced as a structured list.
76: In phase 2,
77: this list is walked for each message,
78: outputting message information under the format constraints from the format
79: file.
80:
81: The \*(lqmhl.format\*(rq form file contains information controlling
82: screen clearing, screen size, wrap\-around control, transparent text,
83: component ordering, and component formatting.
84: Also, a list of components to ignore may be specified,
85: and a couple of \*(lqspecial\*(rq components are defined to provide added
86: functionality.
87: Message output will be in the order specified by the order in the format file.
88:
89: Each line of mhl.format has one of the formats:
90:
91: ;comment
92: :cleartext
93: variable[,variable...]
94: component:[variable,...]
95:
96: A line beginning with a `;' is a comment, and is ignored.
97: A line beginning with a `:' is clear text,
98: and is output exactly as is.
99: A line containing only a `:' produces a blank line in the output.
100: A line beginning with \*(lqcomponent:\*(rq defines the format for the specified
101: component,
102: and finally, remaining lines define the global environment.
103:
104: For example, the line:
105:
106: .ti +.5i
107: width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
108:
109: defines the screen size to be 80 columns by 40 rows,
110: specifies that the screen should be cleared prior to each page,
111: that the overflow indentation is 5,
112: and that overflow text should be flagged with \*(lq***\*(rq.
113:
114: Following are all of the current variables and their arguments.
115: If they follow a component,
116: they apply only to that component,
117: otherwise, their affect is global.
118: Since the whole format is parsed before any output processing,
119: the last global switch setting for a variable applies to the whole message
120: if that variable is used in a global context
121: (i.e., bell, clearscreen, width, length).
122:
123: .nf
124: .in +.5i
125: .ta \w'noclearscreen 'u +\w'integer/G 'u
126: \fIvariable\fR \fItype\fR \fIsemantics\fR
127: width integer screen width or component width
128: length integer screen length or component length
129: offset integer positions to indent \*(lqcomponent: \*(rq
130: overflowtext string text to use at the beginning of an
131: overflow line
132: overflowoffset integer positions to indent overflow lines
133: compwidth integer positions to indent component text
134: after the first line is output
135: uppercase flag output text of this component in all
136: upper case
137: nouppercase flag don't uppercase
138: clearscreen flag/G clear the screen prior to each page
139: noclearscreen flag/G don't clearscreen
140: bell flag/G ring the bell at the end of each page
141: nobell flag/G don't bell
142: component string/L name to use instead of \*(lqcomponent\*(rq for
143: this component
144: nocomponent flag don't output \*(lqcomponent: \*(rq for this
145: component
146: center flag center component on line (works for
147: one\-line components only)
148: nocenter flag don't center
149: leftadjust flag strip off leading whitespace on each
150: line of text
151: noleftadjust flag don't leftadjust
152: compress flag change newlines in text to spaces
153: nocompress flag don't compress
154: formatfield string format string for this component
155: addrfield flag field contains addresses
156: datefield flag field contains dates
157: .re
158: .in -.5i
159: .fi
160:
161: To specify the value of integer\-valued and string\-valued variables,
162: follow their name with an equals\-sign and the value.
163: Integer\-valued variables are given decimal values,
164: while string\-valued variables are given arbirtray text bracketed by
165: double\-quotes.
166: If a value is suffixed by \*(lq/G\*(rq or \*(lq/L\*(rq,
167: then its value is useful in a global\-only or local\-only context
168: (respectively).
169:
170: A line of the form:
171:
172: ignores=component,...
173:
174: specifies a list of components which are never output.
175:
176: The component \*(lqMessageName\*(rq (case\-insensitive)
177: will output the actual message name (file name) preceded by
178: the folder name if one is specified or found in the environment.
179: The format is identical to that produced by the `\-header' option to
180: \fIshow\fR.
181:
182: The component \*(lqExtras\*(rq will output all of the components of the message
183: which were not matched by explicit components,
184: or included in the ignore list.
185: If this component is not specified,
186: an ignore list is not needed since all non\-specified components will be
187: ignored.
188:
189: If \*(lqnocomponent\*(rq is NOT specified, then the component name will be
190: output as it appears in the format file.
191:
192: The default format is:
193:
194: .nf
195: .in +.5i
196: .ne 15
197: .\".eo
198: .so /usr/new/lib/mh/mhl.format
199: .\".ec
200: .in -.5i
201: .fi
202:
203: The variable \*(lqformatfield\*(rq specifies a format string
204: (see \fImh\-format\fR(5)).
205: The variables \*(lqaddrfield\*(rq and \*(lqdatefield\*(rq
206: (which are mutually exclusive),
207: control the interpretation of the escapes.
208:
209: By default,
210: \fImhl\fR does not apply any formatting string to fields containing address or
211: dates (see \fImh\-mail\fR\0(5) for a list of these fields).
212: Note that this results in faster operation
213: since \fImhl\fR must parse both addresses and dates in order to apply a
214: format string to them.
215: If desired,
216: \fImhl\fR can be given a default format string for either address or date
217: fields (but not both).
218: To do this,
219: on a global line
220: specify either the variable addrfield or the variable datefield,
221: along with the variable formatfield.
222: .Fi
223: ^/usr/new/lib/mh/mhl.format~^The message template
224: ^or <mh\-dir>/mhl.format~^Rather than the standard template
225: ^$HOME/\&.mh\(ruprofile~^The user profile
226: .Pr
227: ^moreproc:~^Program to use as interactive front\-end
228: .Sa
229: show(1), ap(8), dp(8)
230: .De
231: `\-bell'
232: .Ds
233: `\-noclear'
234: .Ds
235: `\-length 40'
236: .Ds
237: `\-width 80'
238: .Co
239: None
240: .Bu
241: There should be some way to pass `bell' and `clear' information to the
242: front\-end.
243:
244: On hosts where \fIMH\fR was configured with the BERK option,
245: address parsing is not enabled.
246: .En
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.