-.TH MHSHOW %manext1% "March 16, 2014" "%nmhversion%"
+.TH MHSHOW %manext1% "April 9, 2014" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
.RB [ \-type
.IR content ]
\&...
-.RB [ \-serialonly " | " \-noserialonly ]
-.RB [ \-pause " | " \-nopause ]
+.RB [ \-concat " | " \-noconcat ]
+.RB [ \-textonly " | " \-notextonly ]
+.RB [ \-inlineonly " | " \-noinlineonly ]
.RB [ \-form
.IR formfile ]
+.RB [ \-markform
+.IR formfile ]
.RB [ \-rcache
.IR policy ]
.RB [ \-wcache
.PP
By default
.B mhshow
-will display all parts of a multipart
-message. By using the
+will display only text parts of a message that are not marked as attachments.
+This behavior can be changed by the
+.B \-notextonly
+and
+.B \-noinlineonly
+switches.
+In addition, by using the
.B \-part
and
.B \-type
switches, you may
-limit the scope of
+further limit the scope of
.B mhshow
to particular subparts (of a
-multipart content) and/or particular content types.
+multipart content) and/or particular content types. The inclusion of any
+.B \-part
+or
+.B \-type
+switches will override the default settings of
+.B \-textonly
+and
+.BR \-inlineonly.
+.PP
+By default
+.B mhshow
+will concatenate all content under one pager. If you which each part to
+displayed separately, you can override the default behavior with
+.B \-noconcat.
.PP
The option
.B \-file
.ta \w'%F 'u
%a Insert parameters from Content-Type field
%{parameter} Insert the parameter value from the Content-Type field
-%e exclusive execution
%f Insert filename containing content
-%F %e, %f, and stdin is terminal not content
+%F %f, and stdin is terminal not content
%l display listing prior to displaying content
-%p %l, and ask for confirmation
%s Insert content subtype
%d Insert content description
%% Insert the character %
.fi
.RE
.PP
-For those display strings containing the e- or F-escape,
-.B mhshow
+.B Mhshow
will
-execute at most one of these at any given time. Although the F-escape
-expands to be the filename containing the content, the e-escape has no
-expansion as far as the shell is concerned.
-.PP
-When the p-escape prompts for confirmation, typing INTR (usually
-control-C) will tell
-.B mhshow
-not to display that content.
-The p-escape can be disabled by specifying the switch
-.BR \-nopause .
-Further, when
-.B mhshow
-is display a content, typing QUIT (usually
-control-\\) will tell
-.B mhshow
-to wrap things up immediately.
+execute at most one display string at any given time, and wait for the
+current display string to finish execution before executing the next
+display string.
.PP
The {parameter} escape is typically used in a command line argument
that should only be present if it has a non-null value. Its value
.PP
.RS 5
.nf
-mhshow-show-text/plain: %pmoreproc %F
-mhshow-show-message/rfc822: %pshow -file %F
+mhshow-show-text/plain: %lmoreproc %F
+mhshow-show-message/rfc822: %lshow -file %F
.fi
.RE
.PP
.B mhshow
will process each message serially\0--\0it won't start
showing the next message until all the commands executed to display the
-current message have terminated. In the case of a multipart content
-(of any subtype listed above), the content contains advice indicating if
-the parts should be displayed serially or in parallel. Because this may
-cause confusion, particularly on uni-window displays, the
-.B \-serialonly
-switch can be given to tell
-.B mhshow
-to never display parts in parallel.
+current message have terminated.
.SS "Showing Alternate Character Sets"
If
.B mhshow
encounters a \*(lqcharset\*(rq parameter for
this content, it checks if your terminal can display this character
set natively.
-.B mhn
+.B mhshow
checks this by examining the current character set defined by the
.IR locale (1)
environment variables.
.PP
need be present in this additional profile. Finally,
.B mhshow
-will attempt to consult one other additional user profile,
-e.g.,
+will attempt to consult
.PP
.RS 5
%etcdir%/mhn.defaults
which is created automatically during
.B nmh
installation.
+.PP
+See "Profile Lookup" in
+.IR mh-profile (5)
+for the profile search order, and for how duplicate entries are treated.
+.SS Content\-Type Marker
+.B mhshow
+will display a marker containing information about the part being displayed
+next. The default marker can be changed using the
+.B \-markform
+switch to specify a file containing
+.IR mh\-format (5)
+instructions to use when displaying the content marker. In addition to
+the normal set of
+.IR mh\-format (5)
+instructions, the following
+.I component
+escapes are supported:
+.PP
+.RS 5
+.nf
+.ta \w'cdispo-<PARAM> 'u +\w'Returns 'u
+.I "Escape Returns Description"
+part string MIME part number
+content\-type string MIME Content\-Type of part
+description string Content\-Description header
+disposition string Content disposition (attachment or inline)
+ctype-<PARAM> string Value of <PARAM> from Content\-Type header
+cdispo-<PARAM> string Value of <PARAM> from
+ Content\-Disposition header
+%(size) integer The size of the decoded part, in bytes
+%(unseen) boolean Returns true for suppressed parts
+.fi
+In this context, the %(unseen) function indicates whether
+.B mhshow
+has decided to not display a particular part due to the
+.B \-textonly
+or
+.B \-inlineonly
+switches.
+.RE
+All MIME parameters and the \*(lqContent-Description\*(rq header will have
+RFC 2231 decoding applied and be converted
+to the local character set.
+.PP
.SH FILES
.B mhshow
looks for all format files and mhn.defaults in multiple locations:
^$MHSHOW~^Additional profile entries
^%etcdir%/mhn.defaults~^System default MIME profile entries
^%etcdir%/mhl.headers~^The headers template
+^%etcdir%/mhshow.marker~^Example content marker
.fi
.SH "PROFILE COMPONENTS"
.fc ^ ~
.RB ` +folder "' defaults to the current folder"
.RB ` msgs "' defaults to cur"
.RB ` \-nocheck '
+.RB ` \-concat '
+.RB ` \-textonly '
+.RB ` \-inlineonly '
.RB ` \-form\ mhl.headers '
-.RB ` \-pause '
.RB ` \-rcache\ ask '
-.RB ` \-noserialonly '
.RB ` \-wcache\ ask '
.fi
.SH CONTEXT