# Quick Intro to Exmh

Bugs and comments to Brent Welch, Welch@acm.org

## Folder Display

Exmh displays three panes of information. The top pane has a label for each of your MH folders. Each label is highlighted to reflect the state of the folder. There is one current folder, whose table of contents is displayed in the second pane. There is one folder that is the target for
operations. There may be several folders that have unread messages in them. Select
from the Help... menu to display the key of how folder labels are highlighted. In addition, folders with nested sub-folders have a shadow-box highlight.

### Selecting Folders with the Mouse

Left click on a folder label to view the messages in it.

Right click on a folder label to move the current message(s) to the folder.

Shift-Right on a label to link the current message(s) to the folder.

Middle click on a label to view the nested folders beneath it.

## Folder Table of Contents

The middle and bottom panes are text windows. Each of these can be scrolled by using the scrollbar or by dragging the display with the middle mouse button.

The middle pane lists the messages in the current folder, which comes from the output of the MH `scan` command. The display indicates the state of the message: (See
under Help... to see how these are marked on your display)

- current message.
- messages marked for delete.
- message marked for movement to another folder.
- unread messages.

### Selecting Messages with the Mouse

Left clicking on an entry causes the message to be displayed in the third, or bottom pane.

Right clicking selects a message but does not display it.

Dragging a selection with the Left button selects a range of messages. You can update a selection with Shift-Left.

Message operations like
,
,
,
, and
will operate on the whole selected set of messages.

## Message Display

The bottom window displays the current message. If you get a MIME message (i.e., multipart or multimedia) the right button brings up a menu that lets you manipulate the parts of MIME messages. Press the right button somewhere over the message part you are interested in.

Exmh supports a large number of keyboard shortcuts so you can keep your hands on the keyboard.

## Resizing Sub-windows

The black diamond to the right of the status line is used to change the boundary between the internal sub-windows. To get an idea of how it works, press the first mouse button over the diamond. Drag the horizontal line up to the top of the window and back down to the bottom. Watch the status line to see what sub-window boundary you are changing.

## Command buttons

Command buttons are grouped into three sets. The top is for global operations. The middle set is for folder operations. The bottom set is for message operations.

### Global Commands

The top set of buttons are for global commands: Log, Help..., Bindings...,
, Aliases and
.

Log only appears if you enable logging in your
. The log contains a record of actions taken, including debugging info.

Under Help,
gives you this window.
shows the Frequently-Asked-Questions file.

The
dialog gives you some control over exmh features. Within this dialog you can get more help on setting preferences by clicking the Help button that is part of that dialog.

### Message Commands

The bottom set of buttons are for message operations:

link a message into the target folder and go to the next message.
move a message to the target folder and go to the next message.
mark the current message for deletion and go to the next message.
move to the next message. This will chain to the next folder with unread messages if you are at the end of the current folder.
move to the previous message.
compose a mail message. In the drafts folder, this opens the current message as the draft.
  Reply...
a menu of reply choices. There are two choices by default, and instructions for adding more.

  reply to the current message (-nocc cc -nocc to)
  reply to the current message (-cc cc -cc to).

  forward the current message.
More...
  a menu with more message operations:
    print the current message.
    cancel a
    or
    mark.
    make a new window containing the current message.
    show the first unseen message.
    use the MH burst command to explode a digest into messages.
    use the MH dist command to remail a message.

And many more. Look here for details.

#### UNDO

The
,
, and
operations mark a message with a pending operation. The way to undo this mark is to reselect the message(s) and select the
operation from the More... menu.

### Folder Commands

The middle set of buttons are for folder commands:

  brings up a dialog that lets you create new folders. (A Delete folder operation is under the More... menu.)
Search...
  a menu with Search options. More info may be found below
  refreshes the display of folder buttons. This counts up all the unseen messages in all folders.
  causes pending
  and
  operations to occur. This command is also bound to keystroke <Return>.

#### Incorporating Mail

The
button will incorporate new mail from your spool file into your mail folders. Exmh knows about three styles of Inc, which you choose via the
dialog.

- "inbox"
  moves new messages into your inbox folder.
- "presort"
  will run the MH filtering hook, slocal, for you if there are messages in your spool file.
- "multidrop"
  moves new messages into "dropboxes" by means of the standard slocal and ~/.maildelivery filtering, and then
  's from these dropboxes into folders. For this to work, you need to list your dropbox names in a ~/.xmhcheck file. Dropbox names can be hostnames (no slashes...) in which case POP is used.
- Select "none" for
  if you have an external agent that presorts mail for you. In this case, "background flist" will highlight folders that have new mail in them.

### Searching

Exmh provides several search mechanisms under the Search... menu. The Search Message command searches for a string in the current message. The Search Table of Contents searches the folder table of contents for a string. The Glimpse search engine can search all your mail folders.

#### Pick

Pick provides an interface to the MH pick command. The dialog initially displays entry widgets labeled Subject, From, To, Cc, Before, and After. You can enter a pattern for any of these, and pick selects messages that satisfy the logical AND of these pattern specifications. Note that the Before and After patterns are date-specific, and pick understands many forms of date patterns. Read the MH man page for pick for the complete story. You can build up more complex logical search expressions by clicking the Or button.

The Messages entry lets you limit pick to a specific set of messages. In particular, you can specify a sequence name (e.g., "unseen"), and have pick find all messages with that sequence identifier.

After the pick completes, a range of messages is selected that satisfies the search. If you choose "Add to Sel", then the picked messages will be added to the currently selected set. Choose this before the Pick. Otherwise a new selection is made.

If you choose "New FTOC", then the selected messages will replace the current list of messages displayed in the folder table of contents. "Mark Seen" will remove messages from the unseen sequence.

Pick uses the MH `pick` program, which runs a bit slowly, so have patience. BUG: if you have projected a New FTOC, a subsequent pick will only select messages still on the display. You need to rescan the folder to start over. Sigh.

### Miscellaneous Folder Operations

The More... menu has more folder operations:

  forces a rescan of the folder contents. Exmh maintains a cache of the scan output that could get confused. The Rescan button forces a full scan. To optimistically rescan the current folder, click on its label in the top pane instead.
Sort folder...
  sorts the current folder by
  ,
  , or
  .
  renumbers messages in the current folder to eliminate any gaps in the number sequence.
  recurses through the directory structure looking for all MH folder directories.
  lets you delete a folder.

There are more entries here. Look here for details.

## Main Help Index