By default, text (non-MIME) messages are filtered and displayed by the nmh command mhl. This command will display text messages in a nice, uniform format. It also allows you to configure the format of the displayed messages and which headers fields are shown. See the mhl(1) manual page for the details about this command. This default can be changed by defining the showproc profile component. Any switches not recognized by show are passed along to that program. To override the default and the showproc profile component, use the `-showproc program' switch. For example, `-showproc more' will cause the more(1) program to list the messages with no reformatting. Normally, this program is specified as the showproc in the user's .mh_profile, rather than using a command line switch.
By default, non-text messages (MIME messages with multi-media contents) are processed and displayed by the nmh command mhshow. See the mhshow(1) manual page for details about this command. This default can changed by defining the showmimeproc profile component. Any switches not recognized by show are passed along to that program. To override this default and the showmimeproc profile component, use the `-showmimeproc program' switch.
Note that in some cases, show may invoke the showmimeproc even for textual contents. This will happen for text messages that specify a transfer encoding (such as MIME quoted-printable or base64) or specify a character set that show doesn't believe can be displayed natively. The environment variable MM_CHARSET should be set to the terminal's native character set to avoid gratuitous invocations of the showmimeproc. See the mh-profile(5) man page for details about this environment variable.
The option `-checkmime' (set by default) instructs show to test if any of the messages to be displayed are non-text (MIME) messages. If any are non-text, they are displayed by the program showmimeproc, else they are displayed by the program showproc. The option `-nocheckmime' disables this test and instructs show to use showproc, regardless of whether any of the messages are non-text (MIME) messages.
The `-noshowproc' switch will disable any formatting or paging of messages. It is equivalent to `-nocheckmime -showproc cat'. It is still accepted, but should be considered (somewhat) obsolete.
If the environment variable NOMHNPROC is set, the test for non-text (MIME) messages will be disabled. This method is obsolete. Use the `-nocheckmime' switch instead.
The `-header' switch tells show to display a one-line description of the message being shown. This description includes the folder and the message number.
If no `msgs' are specified, the current message is used. Although it depends on the specific showproc or showmimeproc, in the default setup when more than one message is specified, you will be prompted for a <RETURN> prior to listing each message. Each message will be listed a page at a time, and when the end of page is reached, the program will wait for a <SPACE> or <RETURN>. If a <RETURN> is entered, it will print the next line, whereas <SPACE> will print the next screenful.
If the standard output is not a terminal, no queries are made, and each file is listed with a one-line header and two lines of separation.
``show -draft'' will list the file <mh-dir>/draft if it exists.
If the profile entry ``Unseen-Sequence'' is present and non-empty, then show will remove each of the messages shown from each sequence named by the profile entry. ^$HOME/.mh_profile~^The user profile ^Path:~^To determine the user's nmh directory ^Current-Folder:~^To find the default current folder ^Unseen-Sequence:~^To name sequences denoting unseen messages ^showproc:~^Program to show text (non-MIME) messages ^showmimeproc:~^Program to show non-text (MIME) messages mhl(1), mhshow(1), more(1), next(1), prev(1), scan(1) `+folder' defaults to the current folder `msgs' defaults to cur `-checkmime' `-header' If a folder is given, it will become the current folder. The last message shown will become the current message. The `-header' switch doesn't work when `msgs' expands to more than one message. If the showproc is mhl, then is problem can be circumvented by referencing the ``messagename'' field in the mhl format file.
Show updates the user's context before showing the message. Hence show will mark messages as seen prior to the user actually seeing them. This is generally not a problem, unless the user relies on the ``unseen'' messages mechanism, and interrupts show while it is showing ``unseen'' messages.
If your showproc is mhl (the default), then show uses a built-in mhl: it does not actually run the mhl program. Hence, if you define your own showproc, don't call it mhl since show won't run it.
If your showproc is the pager more, then avoid running show in the background with only its standard output piped to another process, as in
show | imprint &
Due to a bug in more, show will go into a ``tty input'' state. To avoid this problem, re-direct show's diagnostic output as well. For users of csh:
show |& imprint &
For users of sh:
show 2>&1 | imprint &