---
name: "show"
section: "1"
platform: "linux"
package: "nmh"
version: "1.5-release-0.2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/show"
---

# show(1)

show (display) messages

## NAME

show - show (display) messages

## SYNOPSIS

**show** \[*+folder*\] \[*msgs*\] \[**-draft**\] \[-showproc *program*\] \[**-showmimeproc** *program*\] \[**-header** \| **-noheader**\] \[**-checkmime** \| **-nocheckmime**\] \[switches for *showproc* or *showmimeproc*\] \[**-version**\] \[**-help**\]

## DESCRIPTION

**Show** lists each of the specified messages to the standard output (typically, the terminal).

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)](/mhl/1.md) 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** 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)](/mhshow/1.md) 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)](/mh-profile/5.md) 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.

## FILES

```
^$HOME/.mh_profile~^The user profile
```

## PROFILE COMPONENTS

```
^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
```

## SEE ALSO

[mhl(1)](/mhl/1.md), [mhshow(1)](/mhshow/1.md), [more(1)](/more/1.md), [next(1)](/next/1.md), [prev(1)](/prev/1.md), [scan(1)](/scan/1.md)

## DEFAULTS

```
`+folder' defaults to the current folder
`msgs' defaults to cur
`-checkmime'
`-header'
```

## CONTEXT

If a folder is given, it will become the current folder.  The last message selected will become the current message.

## BUGS

The **-header** switch doesn't work when \`msgs' expands to more than one message.  If the *showproc* is **mhl**, then this 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 &
