Scroll to navigation



whatnow - prompting front-end for writing nmh messages


whatnow [-help] [-version] [-draftfolder +folder] [-draftmessage msg] [-nodraftfolder] [-editor editor] [-noedit] [-prompt string] [file]


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:

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 the draft into the given folder
process the draft as MIME composition file using the buildmimeproc command (mhbuild by default)
list the message being distributed/replied-to on the terminal
list the draft on the terminal
send the message
send -watch
send the message and monitor the delivery process
send the message in the background
list the addresses that the message will go to
whom -check
list the addresses and verify that they are acceptable to the transport service
preserve the draft and exit
quit -delete
delete the draft and exit
delete the draft and exit
use directory when interpreting attachment file names
print the working directory for attachment files
list files in the attachment working directory using the ls command
add the named files to the message as MIME attachments; -v displays the mhbuild directive that send(1) will use
list the MIME attachments, either short, long [-l] or numbered [-n]
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) is valid (as push merely invokes send with the -push option).

For the whom response, any valid switch to whom(1) 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) 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) man page for more information.

If your nmh was configured with readline enabled, you'll be able to use filename completion and other readline features at the prompt. These are particularly useful with the cd, ls, attach, and detach commands for managing MIME attachments.


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


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


send(1), whom(1)


`-prompt' defaults to “What Now? ”


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.

2014-01-23 nmh-1.7.1