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