Be quiet! Only talk if you have something useful to say.
[mmh] / man / show.man
1 .\"
2 .\" %nmhwarning%
3 .\"
4 .TH SHOW %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
5 .SH NAME
6 show \- show (display) messages
7 .SH SYNOPSIS
8 .HP 5
9 .na
10 .B show
11 .RI [ +folder ]
12 .RI [ msgs ]
13 .RB [\-showproc
14 .IR program ]
15 .RB [ \-showmimeproc
16 .IR program ]
17 .RB [ \-header " | " \-noheader ]
18 .RB [ \-checkmime " | " \-nocheckmime ]
19 [switches\ for
20 .I showproc
21 or
22 .IR showmimeproc ]
23 .RB [ \-version ]
24 .RB [ \-help ]
25 .ad
26 .SH DESCRIPTION
27 .B Show
28 lists each of the specified messages to the standard output
29 (typically, the terminal).
30 .PP
31 By default, text (non-MIME) messages are filtered and displayed by
32 the
33 .B nmh
34 command
35 .BR mhl .
36 This command will display text
37 messages in a nice, uniform format.  It also allows you to configure
38 the format of the displayed messages and which headers fields are
39 shown.  See the
40 .BR mhl (1)
41 manual page for the details about this
42 command.  This default can be changed by defining the
43 .I showproc
44 profile component.  Any switches not recognized by
45 .B show
46 are
47 passed along to that program.  To override the default and the
48 .I showproc
49 profile component, use the
50 .B \-showproc
51 .I program
52 switch.  For example,
53 .B \-showproc
54 .I more
55 will cause the
56 .B more
57 program to list the messages with no reformatting.  Normally, this
58 program is specified as the
59 .I showproc
60 in the user's profile,
61 rather than using a command line switch.
62 .PP
63 By default, non-text messages (MIME messages with multi-media
64 contents) are processed and displayed by the
65 .B nmh
66 command
67 .BR mhshow .
68 See the
69 .BR mhshow (1)
70 manual page for details
71 about this command.  This default can changed by defining the
72 .I showmimeproc
73 profile component.  Any switches not recognized
74 by
75 .B show
76 are passed along to that program.  To override this
77 default and the
78 .B showmimeproc
79 profile component, use the
80 .B \-showmimeproc
81 .I program
82 switch.
83 .PP
84 Note that in some cases,
85 .B show
86 may invoke the
87 .I showmimeproc
88 even for textual contents.  This will happen for text messages that
89 specify a transfer encoding (such as MIME quoted-printable or
90 base64) or specify a character set that
91 .B show
92 doesn't believe
93 can be displayed natively.  The environment variable
94 .B $MM_CHARSET
95 should be set to the terminal's native character set to avoid
96 gratuitous invocations of the
97 .IR showmimeproc .
98 See the
99 .BR mh-profile (5)
100 man page for details about this environment variable.
101 .PP
102 The option
103 .B \-checkmime
104 (set by default) instructs
105 .B show
106 to
107 test if any of the messages to be displayed are non-text (MIME)
108 messages.  If any are non-text, they are displayed by the program
109 .IR showmimeproc ,
110 else they are displayed by the program
111 .IR showproc .
112 The option
113 .B \-nocheckmime
114 disables this test and instructs
115 .B show
116 to use
117 .IR showproc ,
118 regardless of whether
119 any of the messages are non-text (MIME) messages.
120 .P
121 The
122 .B \-noshowproc
123 switch will disable any formatting or paging of
124 messages.  It is equivalent to
125 .B \-nocheckmime
126 .B \-showproc
127 .IR cat .
128 It is still accepted, but should be considered (somewhat) obsolete.
129 .PP
130 If the environment variable
131 .B $NOMHNPROC
132 is set, the test for
133 non-text (MIME) messages will be disabled.  This method is obsolete.
134 Use the
135 .B \-nocheckmime
136 switch instead.
137 .PP
138 The
139 .B \-header
140 switch tells
141 .B show
142 to display a one\-line
143 description of the message being shown.  This description includes
144 the folder and the message number.
145 .PP
146 If no `msgs' are specified, the current message is used.  Although
147 it depends on the specific
148 .I showproc
149 or
150 .IR showmimeproc ,
151 in the default setup when more than one message is specified, you
152 will be prompted for a <RETURN> prior to listing each message.
153 Each message will be listed a page at a time, and when the end of
154 page is reached, the program will wait for a <SPACE> or <RETURN>.
155 If a <RETURN> is entered, it will print the next line, whereas
156 <SPACE> will print the next screenful.
157 .PP
158 If the standard output is not a terminal, no queries are made, and
159 each file is listed with a one\-line header and two lines of
160 separation.
161 .PP
162 If the profile entry \*(lqUnseen\-Sequence\*(rq is present and
163 non\-empty, then
164 .B show
165 will remove each of the messages shown
166 from each sequence named by the profile entry.
167
168 .SH FILES
169 .fc ^ ~
170 .nf
171 .ta \w'%etcdir%/ExtraBigFileName  'u
172 ^$HOME/.mmh/profile~^The user profile
173 .fi
174
175 .SH "PROFILE COMPONENTS"
176 .fc ^ ~
177 .nf
178 .ta 2.4i
179 .ta \w'ExtraBigProfileName  'u
180 ^Path:~^To determine the user's mail storage
181 ^Current\-Folder:~^To find the default current folder
182 ^Unseen\-Sequence:~^To name sequences denoting unseen messages
183 ^showproc:~^Program to show text (non-MIME) messages
184 ^showmimeproc:~^Program to show non-text (MIME) messages
185 .fi
186
187 .SH "SEE ALSO"
188 mhl(1), mhshow(1), more(1), next(1), prev(1), scan(1)
189
190 .SH DEFAULTS
191 .nf
192 .RB ` +folder "' defaults to the current folder"
193 .RB ` msgs "' defaults to cur"
194 .RB ` \-checkmime '
195 .RB ` \-header '
196 .fi
197
198 .SH CONTEXT
199 If a folder is given, it will become the current folder.  The last
200 message shown will become the current message.
201
202 .SH BUGS
203 The
204 .B \-header
205 switch doesn't work when `msgs' expands to more than
206 one message.  If the
207 .I showproc
208 is
209 .BR mhl ,
210 then this problem can
211 be circumvented by referencing the \*(lqmessagename\*(rq field in the
212 .B mhl
213 format file.
214 .PP
215 .B Show
216 updates the user's context before showing the message.
217 Hence
218 .B show
219 will mark messages as seen prior to the user actually
220 seeing them.  This is generally not a problem, unless the user relies
221 on the \*(lqunseen\*(rq messages mechanism, and interrupts
222 .B show
223 while it is showing \*(lqunseen\*(rq messages.
224 .PP
225 If your
226 .I showproc
227 is
228 .B mhl
229 (the default), then
230 .B show
231 uses
232 a built\-in
233 .BR mhl :
234 it does not actually run the
235 .B mhl
236 program.
237 Hence, if you define your own
238 .B showproc ,
239 don't call it
240 .B mhl
241 since
242 .B show
243 won't run it.
244 .PP
245 If your
246 .I showproc
247 is the pager
248 .BR more ,
249 then avoid running
250 .B show
251 in the background with only its standard output piped to
252 another process, as in
253 .PP
254 .RS 5
255 show | imprint &
256 .RE
257 .PP
258 Due to a bug in
259 .BR more ,
260 show will go into a \*(lqtty input\*(rq state.
261 To avoid this problem, re\-direct
262 .BR show 's
263 diagnostic output as well.
264 For users of
265 .BR csh :
266 .PP
267 .RS 5
268 show |& imprint &
269 .RE
270 .PP
271 For users of
272 .BR sh :
273 .PP
274 .RS 5
275 show 2>&1 | imprint &
276 .RE