|
|
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.