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

# whatnow(1)

prompting front-end for sending messages

## NAME

whatnow - prompting front-end for sending messages

## SYNOPSIS

**whatnow** \[**-draftfolder** *+folder*\] \[**-draftmessage** *msg*\] \[**-nodraftfolder**\] \[**-editor** *editor*\] \[**-noedit**\] \[**-prompt** *string*\] \[*file*\] \[**-version**\] \[**-help**\] \[**-attach** *header-field-name*\] \[**-noattach**\]

## DESCRIPTION

**Whatnow** is the default program that queries the user about the disposition of a composed draft.  It is normally automatically invoked by one of the **nmh** commands **comp**, **dist**, **forw**, or **repl** after the initial edit.

When started, the editor is started on the draft (unless **-noedit** is given, in which case the initial edit is suppressed).  Then, **whatnow** repetitively prompts the user with “What now?” and awaits a response.  The valid responses are:

- **edit**

  re-edit using the same editor that was used on the preceding round unless a profile entry “\<lasteditor\>-next: \<editor\>” names an alternate editor

- **edit \<editor\>**

  invoke \<editor\> for further editing

- **refile +folder**

  refile the draft into the given folder

- **mime**

  process the draft as MIME composition file using the *buildmimeproc* command (**mhbuild** by default)

- **display**

  list the message being distributed/replied-to on the terminal

- **list**

  list the draft on the terminal

- **send**

  send the message

- **send -watch**

  send the message and monitor the delivery process

- **push**

  send the message in the background

- **whom**

  list the addresses that the message will go to

- **whom -check**

  list the addresses and verify that they are acceptable to the transport service

- **quit**

  preserve the draft and exit

- **quit -delete**

  delete the draft and exit

- **delete**

  delete the draft and exit

- **cd directory**

  use the directory when interpreting attachment file names

- **pwd**

  print the working directory for attachment files

- **ls \[ls-options\]**

  list files in the attachment working directory using the ls command

- **attach files**

  add the named files to the draft as MIME attachments

- **alist \[-ln\]**

  list the MIME attachments, either short, long \[-l\] or numbered \[-n\]

- **detach \[-n\] files-or-numbers**

  remove MIME attachments, either by file name or by number with -n

When entering your response, you need only type enough characters to uniquely identify the response.

For the **edit** response, any valid switch to the editor is valid.

For the **send** and **push** responses, any valid switch to [**send**(1)](/send/1.md) is valid (as **push** merely invokes **send** with the **-push** option).

For the **whom** response, any valid switch to [**whom**(1)](/whom/1.md) is valid.

For the **refile** response, any valid switch to the *fileproc* is valid.

For the **display** and **list** responses, any valid argument to the *lproc* is valid.  If any non-switch arguments are present, then the pathname of the draft will be excluded from the argument list given to the *lproc* (this is useful for listing another **nmh** message).

See [**mh-profile**(5)](/mh-profile/5.md) for further information about how editors are used by **nmh**. It also discusses how environment variables can be used to direct **whatnow**'s actions in complex ways.

The **-prompt** *string* switch sets the prompting string for **whatnow**.

The **-draftfolder** *+folder* and **-draftmessage** *msg* switches invoke the **nmh** draft folder facility.  This is an advanced (and highly useful) feature.  Consult the [**mh-draft**(5)](/mh-draft/5.md) man page for more information.

## FILES

```
^$HOME/.mh_profile~^The user profile
^<mh-dir>/draft~^The draft file
```

## PROFILE COMPONENTS

```
^Path:~^To determine the user's nmh directory
^Draft-Folder:~^To find the default draft-folder
^Editor:~^To override the default editor
^<lasteditor>-next:~^To name an editor to be used after exit
^~^from <lasteditor>
^automimeproc:~^If value is 1, and the draft is a MIME
^~^composition file, then automatically call
^~^buildmimeproc prior to sending.
^buildmimeproc:~^Program to translate MIME composition files
^fileproc:~^Program to refile the message
^lproc:~^Program to list the contents of a message
^sendproc:~^Program to use to send the message
^whomproc:~^Program to determine who a message would go to
```

## SEE ALSO

[send(1)](/send/1.md), [whom(1)](/whom/1.md)

## DEFAULTS

```
`-prompt' defaults to “What Now? ”
`-attach' defaults to “Nmh-Attachment”
```

## CONTEXT

None

## BUGS

The argument to the **-prompt** switch must be interpreted as a single token by the shell that invokes **whatnow**. Therefore, one must usually place the argument to this switch inside quotes.

If the initial edit fails, **whatnow** deletes your draft (by renaming it with a site-dependent prefix (usually a comma); failure of a later edit preserves the draft.

If the *buildmimeproc* fails (returns a nonzero status), **whatnow** simply prints a “What now?” prompt. **whatnow** depends on the *buildmimeproc* to tell the user that something went wrong.

If *whatnowproc* is **whatnow**, then **comp**, **dist**, **forw**, and **repl** use a built-in **whatnow**, and do not actually run the **whatnow** program.  Hence, if you define your own *whatnowproc*, don't call it **whatnow** since it won't be run.

If *sendproc* is **send**, then **whatnow** uses a built-in **send**, it does not actually run the **send** program.  Hence, if you define your own *sendproc*, don't call it **send** since **whatnow** won't run it.
