prompter - prompting editor front-end for mmh
prompter [-prepend | -noprepend] [-rapid | -norapid] [-body | -nobody] file [-Version] [-help]
Prompter is an editor front-end for mmh which allows rapid composition of messages. This program is not normally invoked directly by users but takes the place of an editor and acts as an editor front-end. It operates on an RFC-822 style message draft skeleton specified by file, normally provided by the mmh commands comp, dist, forw, or repl.
Prompter is particularly useful when composing messages over slow network or modem lines. It is hardly invoked directly by the user. The commands comp, dist, forw, and repl invoke prompter as an editor, either when invoked with -editor prompter, or by the profile entry `Editor: prompter', or when given the command edit prompter at the `What now?' prompt.
For each empty component prompter finds in the draft, the user is prompted for a response. An empty response will cause the whole component to be left out. Otherwise, a `\' preceding the Newline will continue the response on the next line, allowing for multiline components. Continuation lines must begin with a space or tab.
Each non-empty component is copied to the draft and displayed on the terminal.
The start of the message body is denoted by a blank line or a line of dashes. Unless -nobody is specified, the user is queried to enter the message body. If the body of the draft is non-empty, the typed-in text will be prepended or appended to the existing body, depending on the -prepend and -noprepend switches. In these cases, the prompt (which isn't written to the file) is
or (if -prepend was given)
Message-body typing is terminated with an end-of-file (usually CTRL-D). At this point control is returned to the calling program, where the user is asked `What now?'. See whatnow (1) for the valid options to this query.
By using the -nobody switch, the user is only queried to fill in header fields, but not to enter any body text. Note, that the -bodyand-nobody switches had already existed already in nmh in undocumented/hidden form, but with a slightly different meaning. Back then, prompter -nobody would change the draft to have an empty body, by ignoring any existing body and not querying the user for body text.
By using the -prepend switch, the user can add type-in to the beginning of the message body and have the rest of the body follow. With -noprepend the typed-in text is appended to the message body.
By using the -rapid switch, if the draft already contains text in the message-body, it is not displayed on the user's terminal. This is useful for low-speed terminals.
An interrupt (usually CTRL-C) during component typing will abort prompter and the mmh command that invoked it. An interrupt during message-body typing is equivalent to CTRL-D, for historical reasons and to avoid losing the typed-in message text. This means that prompter should finish up and exit, usually putting the user back to the Whatnow prompt.
The first non-flag argument to prompter is taken as the name of the draft file, and subsequent non-flag arguments are ignored.
^$HOME/.mmh/profile~^The user profile ^/tmp/prompter*~^Temporary copy of message
prompter-next: The editor to be used on exit from prompter ^Msg-Protect:~^To set mode when creating a new draft
`-body' `-prepend' `-norapid'
The -noprepend switch is particularly useful with comp -use.
The user may wish to link prompter under several names (e.g., `rapid') and give appropriate switches in the profile entries under these names (e.g., `rapid: -rapid'). This facilitates invoking prompter differently for different mmh commands (e.g., `forw: -editor rapid').
Former mutt users might find it useful to create a shell script hprompter containing:
prompter -nobody -rapid "$1" vi "$1"
and use that as the default editor for comp by adding a profile entry like:
comp: -editor hprompter