# man > show(1)

[_SHOW_(1mh)](https://www.chedong.com/phpMan.php/man/SHOW/1mh/markdown)                                                                                  [_SHOW_(1mh)](https://www.chedong.com/phpMan.php/man/SHOW/1mh/markdown)

## NAME
       show - display nmh messages

## SYNOPSIS


       **show **[**-help**] [**-version**] [_+folder_] [_msgs_] [**-draft**] [**-showproc _**program_] [**-showmimeproc _**program_]
            [**-header **| **-noheader**] [**-checkmime **| **-nocheckmime**] [**-concat **| **-noconcat**] [switches for
            _showproc_ or _showmimeproc_]

## 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 config‐
       ure the format of the displayed messages and which headers fields are shown.  See the  [_mhl_(1)](https://www.chedong.com/phpMan.php/man/mhl/1/markdown)
       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**, as well as **-header **and **-no‐**
       **header**, 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)](https://www.chedong.com/phpMan.php/man/mhshow/1/markdown) 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 appropriate [_locale_(1)](https://www.chedong.com/phpMan.php/man/locale/1/markdown) environment variables should be set to the terminal's native  char‐
       acter  set  to  avoid  gratuitous invocations of the _showmimeproc_.  See [_locale_(1)](https://www.chedong.com/phpMan.php/man/locale/1/markdown) for details
       about these environment variables.

       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 pro‐
       gram _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 mes‐
       sages 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) ob‐
       solete.

       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.

       By default **show **will concatenate all content under one pager.  If you want each part to  dis‐
       played separately, you can override the default behavior with **-noconcat.**

       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)](https://www.chedong.com/phpMan.php/man/mhl/1/markdown), [_mhshow_(1)](https://www.chedong.com/phpMan.php/man/mhshow/1/markdown), [_next_(1)](https://www.chedong.com/phpMan.php/man/next/1/markdown), [_prev_(1)](https://www.chedong.com/phpMan.php/man/prev/1/markdown), [_scan_(1)](https://www.chedong.com/phpMan.php/man/scan/1/markdown)

## DEFAULTS
       `**+folder**' defaults to the current folder
       `**msgs**' defaults to cur
       `**-checkmime**'
       `**-header**'
       `**-concat**'

## CONTEXT
       If  a folder is given, it will become the current folder.  The last message selected will be‐
       come the current message.

## BUGS
       The **-header **switch doesn't work when `msgs' expands to more than one message.  If  the  _show‐_
       _proc_  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 “un‐
       seen” 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-di‐
       rect **show**'s diagnostic output as well.  For users of **csh**:

            show |& imprint &

       For users of **sh**:

            show 2>&1 | imprint &

nmh-1.8                                      2016-03-24                                    [_SHOW_(1mh)](https://www.chedong.com/phpMan.php/man/SHOW/1mh/markdown)
