4 .TH MHL %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
6 mhl \- produce formatted listings of nmh messages
24 command for filtering and/or displaying text
25 messages. It is the default method of displaying text messages for
33 switch sets the screen width. This defaults to the value indicated by
35 if appropriate, otherwise it defaults to 80.
37 The default format file used by
42 will first search for this file in the user's
44 directory, and will then search in the directory
47 can be changed by using the
51 Note: In contrast to any other
55 switch does only take file names, but no format strings with a prepended
59 operates in two phases: 1) read and parse the format file, and
60 2) process each message (file). During phase 1, an internal description
61 of the format is produced as a structured list. In phase 2, this list
62 is walked for each message, outputting message information under the
63 format constraints from the format file.
65 The format file can contain information controlling
66 screen size, wrap\-around control, transparent text, component ordering,
67 and component formatting. Also, a list of components to ignore may be
68 specified, and a couple of `special' components are defined
69 to provide added functionality. Message output will be in the order
70 specified by the order in the format file.
72 Each line of a format file has one of the following forms:
78 variable[,variable...]
79 component:[variable,...]
84 A line beginning with a `;' is a comment, and is ignored.
86 A line beginning with a `:' is clear text, and is output exactly as is.
88 A line containing only a `:' produces a blank line in the output.
90 A line beginning with `component:' defines the format for the specified
93 Remaining lines define the global environment.
95 For example, the line:
98 width=80,overflowtext="***",overflowoffset=5
101 defines the screen size to be 80 columns by 40 rows, specifies that the
103 is 5, and that overflow text should be flagged with `***'.
105 Following are all of the current variables and their arguments. If they
106 follow a component, they apply only to that component, otherwise, their
107 affect is global. Since the whole format is parsed before any output
108 processing, the last global switch setting for a variable applies to
109 the whole message if that variable is used in a global context (i.e.,
114 .ta \w'xxxxxxxxxxxxx 'u +\w'integer/G 'u
115 .I "variable type semantics
116 width integer screen width or component width
117 length integer component length
118 offset integer positions to indent `component: '
119 overflowtext string text to use at the beginning of an
121 overflowoffset integer positions to indent overflow lines
122 compwidth integer positions to indent component text
123 after the first line is output
124 uppercase flag output text of this component in all
126 nouppercase flag don't uppercase
127 component string/L name to use instead of `component' for
129 nocomponent flag don't output `component: ' for this
131 center flag center component on line (works for
132 one\-line components only)
133 nocenter flag don't center
134 leftadjust flag strip off leading whitespace on each
136 noleftadjust flag don't leftadjust
137 compress flag change newlines in text to spaces
138 nocompress flag don't compress
139 split flag don't combine multiple fields into
141 nosplit flag combine multiple fields into
143 newline flag print newline at end of components
144 (this is the default)
145 nonewline flag don't print newline at end of components
146 formatfield string format string for this component
148 decode flag decode text as RFC-2047 encoded
150 addrfield flag field contains addresses
151 datefield flag field contains dates
155 To specify the value of integer\-valued and string\-valued variables,
156 follow their name with an equals\-sign and the value. Integer\-valued
157 variables are given decimal values, while string\-valued variables
158 are given arbitrary text bracketed by double\-quotes. If a value is
159 suffixed by `/G' or `/L', then its value is useful in
160 a global\-only or local\-only context (respectively).
165 ignores=component,...
168 specifies a list of components which are never output.
170 The component `MessageName' (case\-insensitive) will output the
171 message file name as a one-line header, similar to
173 E.g. ``(Message 42)''
175 The component `Extras' will output all of the components of the
176 message which were not matched by explicit components, or included in
177 the ignore list. If this component is not specified, an ignore list is
178 not needed since all non\-specified components will be ignored.
180 If `nocomponent' is NOT specified, then the component name will
181 be output as it appears in the format file.
183 The default format file is:
191 The variable `formatfield' specifies a format string (see
193 The flag variables `addrfield' and
194 `datefield' (which are mutually exclusive), tell
196 to interpret the escapes in the format string as either addresses or
201 does not apply any formatting string to fields
202 containing address or dates (see
205 fields). Note that this results in faster operation since
207 must parse both addresses and dates in order to apply a format string
210 can be given a default format string for
211 either address or date fields (but not both). To do this, on a global
212 line specify: either the flag addrfield or datefield, along with the
213 appropriate formatfield variable string.
218 .ta \w'%etcdir%/ExtraBigFileName 'u
219 ^%etcdir%/mhl.format~^The message template
220 ^or $HOME/.mmh/mhl.format~^Rather than the standard template
221 ^$HOME/.mh/profile~^The user profile
224 .SH "PROFILE COMPONENTS"
228 show(1), ap(8), dp(8)
239 In contrast to any other
243 switch does only take file names, but no format strings with a prepended
246 The `nonewline' option interacts badly with `compress'