Provided by: mmh_0.4-2_amd64 bug

NAME

       mh-profile - user customization for the mmh message handler

DESCRIPTION

       Each  user of mmh is expected to have a file named $HOME/.mmh/profile in his or her home directory.  This
       file contains a set of user parameters used by some or all of the mmh family of programs.  Each entry  in
       the file is of the format

            Profile-Component: value

       If  the  text  of  profile  entry  is  long, you may extend it across several real lines by indenting the
       continuation lines with leading spaces or tabs.

   Standard Profile Entries
       The possible profile components are exemplified below.  The only mandatory entry is `Path:'.  The  others
       are  optional;  some  have default values if they are not present.  In the notation used below, (profile,
       default) indicates whether the information is kept  in  the  user's  mmh  profile  or  mmh  context,  and
       indicates what the default value is.

       Path: Mail
            Sets  the  user's  mail  storage to `Mail'.  This is the only mandatory profile entry.  (profile, no
            default)

       Context: context
            Declares the location of the mmh context file.  This  is  overridden  by  the  environment  variable
            $MMHC.  See the HISTORY section below.  (profile, default: $HOME/.mmh/context)

       Current-Folder: inbox
            Keeps track of the current open folder.  (context, default: folder specified by `Inbox')

       Inbox: inbox
            Defines the name of your default inbox.  (profile, default: inbox)

       Previous-Sequence: pseq
            Names the sequence or sequences which should be defined as the `msgs' or `msg' argument given to any
            mmh command.  If not present or empty, no such sequences are  defined.   Otherwise,  for  each  name
            given,  the  sequence  is  first  zero'd  and  then each message is added to the sequence.  Read the
            mh-sequence(7) man page for the details about this sequence. (profile, no default)

       Sequence-Negation: !
            Defines the string which, when prefixed to a sequence name, negates that  sequence.   Hence,  `!foo'
            means all those messages that are not a member of the sequence `foo'.  To deactivate this mechanism,
            define Sequence-Negation to an empty value.  Read the  mh-sequence(7)  man  page  for  the  details.
            (profile, default: !)

       Unseen-Sequence: u
            Names  the  sequence  or  sequences  which  shall  contain  any  unread messages.  The commands inc,
            rcvstore, and show will add or remove messages from these sequences when they  are  incorporated  or
            read.   If  defined  with an empty value, no such sequences are defined.  Otherwise, each message is
            added to, or removed from, each sequence name given.  Read  the  mh-sequence(7)  man  page  for  the
            details about this sequence.  (profile, default: u)

       Mh-Sequences: .mh_sequences
            The  name  of  the file in each folder which defines public sequences.  To disable the use of public
            sequences, leave the value portion of this entry blank.  (profile, default: .mh_sequences)

       atr-seq-folder: 172 178-181 212
            Keeps track of the private sequence called `seq' in the specified  folder.   Private  sequences  are
            generally  used  for  read-only  folders.  See the mh-sequence(7) man page for details about private
            sequences.  (context, no default)

       Editor: vi
            Defines the editor to be used by the commands comp,  dist,  forw,  and  repl.   This  profile  entry
            overrides  the  $VISUAL  and  $EDITOR  environment  variables, but gets overridden by the $MMHEDITOR
            environment variabel.  (profile, default: vi)

       Pager: more
            This is the program used by mhl to page the mhl formatted message when displaying to a terminal.  It
            is  also  the  default  program  used  by  show to display message bodies (or message parts) of type
            text/plain.  This profile entry overrides the $PAGER environment variable, but  gets  overridden  by
            the $MMHPAGER environment variable.  (profile, default: more)

       Sendmail: /usr/sbin/sendmail
            The  path  name  to  the  sendmail  program,  used  by  spost  to  send  mail.   (profile,  default:
            /usr/sbin/sendmail)

       Attachment-Header: Attach
            The (pseudo) header in draft messages, that contains files to be attached to the message on sending.
            If you like to type a lot, name it `X-MH-Attachment'.  (profile, default: `Attach')

       Sign-Header: Sign
            The (pseudo) header in draft messages, that requests the message to be signed automatically by send,
            using mhsign.  If you like to type a lot,  name  it  `X-MH-Sign-This-Message'.   (profile,  default:
            `Sign')

       Enc-Header: Enc
            The (pseudo) header in draft messages, that requests the message to be signed and encrypted by send,
            using mhsign.  If you like to type a lot, name it `X-MH-Encrypt-This-Message'.   (profile,  default:
            `Enc')

       Mime-Type-Query: file -b --mime
            A command that prints the MIME type of a given file.  The file name is appended to the command line.
            Note: Older versions of file(1) won't generate the desired output.  file-4.26, for instance, omits a
            required  semicolon.   file-5.04 is known to work.  Alternatively, you can use print-mimetype, which
            is part of mmh, but guesses MIME types by file name extensions only.

       Msg-Protect: 0644
            An octal number which defines the permission bits for  new  message  files.   See  chmod(1)  for  an
            explanation of the octal number.  (profile, default: 0600)

       Folder-Protect: 0750
            An  octal  number which defines the permission bits for new folder directories.  See chmod(1) for an
            explanation of the octal number.  (profile, default: 0700)

       program: default switches
            Sets default switches to be used whenever the mmh program program  is  invoked.   For  example,  one
            could  override the `Editor:' profile component when replying to messages by adding a component such
            as:

                 repl: -editor /bin/ed

            (profile, no defaults)

       lasteditor-next: nexteditor
            Names `nexteditor' to be the default editor after using `lasteditor'.  This takes  effect  at  `What
            now?'  prompt in comp, dist, forw, and repl.  After editing the draft with `lasteditor', the default
            editor is set to be `nexteditor'.  If the user types `edit' without any arguments  to  `What  now?',
            then `nexteditor' is used.  (profile, no default)

       Folder-Stack: folders
            The contents of the folder-stack for the folder command.  (context, no default)

       Alternate-Mailboxes: mh@uci-750a, bug-mh*
            Tells  repl  and  scan  which  addresses  are really yours.  In this way, repl knows which addresses
            should be included in the reply,  and  scan  knows  if  the  message  really  originated  from  you.
            Addresses  must be separated by a comma, and the hostnames listed should be the `official' hostnames
            for the mailboxes you indicate, as local nicknames for hosts are not replaced  with  their  official
            site  names.   For each address, if a host is not given, then that address on any host is considered
            to be you.  In addition, an asterisk (`*') may appear at either or both ends of the mailbox and host
            to indicate wild-card matching.  (profile, default: your user-id)

       Default-From: Philipp Takacs <philipp@bureaucracy.de>
            Tells  spost  which  address to use, if the draft dosn't contain a `From' Header or the draft is not
            from the user.  (profile, no default)

       Aliasfile: aliases other-alias
            Indicates aliases files for ali, send.  and spost.  (profile, no default)

       Draft-Folder: drafts
            Changes the default draft folder.  Read the mh-draft(7) man page  for  details.  (profile,  default:
            +drafts)

       Trash-Folder: trash
            Changes  the  default folder for removed messages.  Read the rmm(1) man page for details.  (profile,
            default: +trash)

       digest-issue-list: 1
            Tells forw the last issue of the last volume sent for the digest list.  (context, no default)

       digest-volume-list: 1
            Tells forw the last volume sent for the digest list.  (context, no default)

       MailDrop: .mail
            Tells inc your maildrop, if different from the default.   This  is  superseded  by  the  environment
            variable $MAILDROP.  (profile, default: /var/mail/$USER)

       Signature: RAND MH System (agent: Marshall Rose)
            Tells  send  your  mail  signature.   This is superseded by the environment variable $SIGNATURE.  If
            $SIGNATURE is not set and this profile entry is not present, the `gcos'  field  of  the  /etc/passwd
            file  will be used.  Your signature will be added to the address send puts in the `From:' header; do
            not include an address in the signature text.  (profile, no default)

       Metafile-Extention: .meta
            This extions will be used to store meta information  about  a  mail  or  a  draft.   Currently  only
            implemented by whatnow2.  (profile, no default)

   Process Profile Entries
       The  following profile elements are used whenever an mmh program invokes some other program such as more.
       The profile can be used to select alternate programs if the user wishes.  The default values are given in
       the examples.

       listproc: show
            This program is used to list the contents of a message in response to the list and display directive
            at the `What now?' prompt.  The absolute pathname of the message to list will  be  appended  to  the
            command line given.

       whatnowproc: /usr/bin/mh/whatnow
            This  is  the  program  invoked  by  comp,  forw, dist, and repl to query about the disposition of a
            composed draft message.

   Environment Variables
       The operation of mmh and its  commands  it  also  controlled  by  the  presence  of  certain  environment
       variables.

       Many  of  these environment variables are used internally by the `What now?' interface.  It's amazing all
       the information that has to get passed via environment variables to make the `What now?'  interface  look
       squeaky  clean  to  the  mmh user, isn't it?  The reason for all this is that the mmh user can select any
       program as the whatnowproc, including one of the standard shells.  As a result, it's not possible to pass
       information via an argument list. The convention is that environment variables whose names are all upper-
       case are user-settable; those whose names are lower-case only are used internally by mmh and  should  not
       generally be set by the user.

       If  the WHATNOW option was set during mmh configuration, and if this environment variable is set, then if
       the commands refile , send or show are not given any `msgs' arguments, then they will  default  to  using
       the  file  indicated  by  mh-draft(7).   This  is useful for getting the default behavior supplied by the
       default whatnowproc.

       $MMH
            With this environment  variable,  you  can  specify  an  alternative  mmh  directory.  Personal  mmh
            configuration  files are located relative to the mmh directory.  Non-absolute values are relative to
            the home directory.  This is one of the very few exceptions in mmh where non-absolute pathnames  are
            not considered relative to the user's mmh directory.

       $MMHP
            With  this  environment variable, you can specify a profile other than $HOME/.mmh/profile to be read
            by the mmh programs that you invoke.  If the value of $MMHP is not absolute, it will be presumed  to
            start from the mmh directory.

       $MMHC
            With  this  environment  variable,  you can specify a context other than the normal context file (as
            specified in the profile).  As always, unless the value of $MMHC is absolute, it will be presumed to
            start from your mmh directory.

       $MM_CHARSET
            With this environment variable, you can specify the native character set you are using.  You must be
            able to display this character set on your terminal.

            This variable is checked to see if a RFC-2047 header field should be decoded (in  inc,  scan,  mhl).
            This  variable  is  checked  by  show to see if the showproc or showmimeproc should be called, since
            showmimeproc will be called if a text message uses a character set that doesn't  match  $MM_CHARSET.
            This  variable  is  checked  by  show  for matches against the charset parameter of text contents to
            decide it the text content can be displayed without modifications to your terminal.   This  variable
            is  checked  by  mhbuild  to  decide  what character set to specify in the charset parameter of text
            contents containing 8-bit characters.

            When decoding text in such an  alternate  character  set,  mmh  must  be  able  to  determine  which
            characters are alphabetic, which are control characters, etc.  For many operating systems, this will
            require enabling the support for locales (such as setting  the  environment  variable  $LC_CTYPE  to
            iso_8859_1).

       $MAILDROP
            This variable tells inc the default maildrop. This supersedes the `MailDrop' profile entry.

       $SIGNATURE
            This  variable  tells  send  and  post  your mail signature. This supersedes the `Signature' profile
            entry.

       $HOME
            This variable tells all mmh programs your home directory

       $SHELL
            This variable tells bbl the default shell to run

       $MMHEDITOR
       $VISUAL
       $EDITOR
            These variables (in descending priority) define the default editor to use.

       $MMHPAGER
       $PAGER
            These variables (in descending priority) define the default pager to use.

       $TERM
            This variable tells mmh your terminal type.

            The environment variable $TERMCAP is also consulted.  In particular, these tell  scan  and  mhl  how
            many columns wide your terminal is.  They also tell mhl how many lines long your terminal screen is.

       $mhdraft
            This is the path to the working draft.

            This  is  set  by  comp,  dist, forw, and repl to tell the whatnowproc which file to ask `What now?'
            questions about.

       $mhaltmsg
            dist and repl set $mhaltmsg to tell the whatnowproc about an alternate message associated  with  the
            draft (the message being distributed or replied to).  It is also set during edit sessions so you can
            peruse the message being distributed or replied to.   This  variable  replaces  the  older  $editalt
            variable.   There  used  to  be a link named `@' in the working directory, pointing to the alternate
            message, there is no such link anymore.

       $mhdist
            dist sets $mhdist to tell the whatnowproc that message re-distribution is occurring.

       $mheditor
            This is set by comp, repl, forw, and dist to tell  the  whatnowproc  the  user's  choice  of  editor
            (unless overridden by -noedit).

       $mhuse
            This may be set by comp.

       $mhmessages
            This is set by dist, forw, and repl if annotations are to occur.

       $mhannotate
            This is set by dist, forw, and repl if annotations are to occur.

       $mhfolder
            This is the folder containing the alternate message.

            This  is  set  by dist and repl during edit sessions so you can peruse other messages in the current
            folder besides the one being distributed or replied to.

FILES

       $HOME/.mmh                 The user's mmh directory
       or $MMH                    Rather than the standard mmh directory

       $HOME/.mmh/profile         The user's profile
       or $MMHP                   Rather than the standard profile

       $HOME/.mmh/context         The user's context
       or $MMHC                   Rather than the standard context

       <folder>/.mh_sequences     Public sequences for <folder>

SEE ALSO

       nmh(1), environ(5), mh-sequence(7)

HISTORY

       The $HOME/.mmh/profile contains only static information, which mmh programs will NOT update.  Changes  in
       context  are  made  to  the  $HOME/.mmh/context  file.   This  includes,  but  is  not  limited  to:  the
       `Current-Folder' entry and all private sequence information.  Public sequence information is kept in each
       folder in the file determined by the `Mh-Sequences' profile entry (default is .mh_sequences).

       The profile may override the path of the context file, by specifying a `Context' entry.  As a result, you
       can actually have more than one set of private sequences by using different context files.

BUGS

       The shell quoting conventions are not available in the profile.  Each token is separated by whitespace.

       There is some question as to what kind of arguments should be placed in the profile as options.  In order
       to  provide a clear answer, recall command line semantics of all mmh programs: conflicting switches (e.g.
       -header and -noheader) may occur more than one time on the command line,  with  the  last  switch  taking
       effect.   Other arguments, such as message sequences, filenames and folders, are always remembered on the
       invocation line and are not superseded by following arguments of the same type.  Hence,  it  is  safe  to
       place only switches (and their arguments) in the profile.

       If  one  finds  that  an  mmh program is being invoked again and again with the same arguments, and those
       arguments aren't switches, then there are a few possible solutions to this  problem.   The  first  is  to
       create  a (soft) link in your $HOME/bin directory to the mmh program of your choice.  By giving this link
       a different name, you can create a new entry in your profile and use an alternate set of defaults for the
       mmh  command.   Similarly,  you  could  create  a small shell script which called the mmh program of your
       choice with an alternate set of invocation line switches (using links and an alternate profile  entry  is
       preferable to this solution).

       Finally, the csh user could create an alias for the command of the form:

            alias cmd 'cmd arg1 arg2 ...'

       In  this  way,  the  user  can  avoid  lengthy  type-in to the shell, and still give mmh commands safely.
       (Recall that some mmh commands invoke others, and that in all cases, the profile is  read,  meaning  that
       aliases are disregarded beyond an initial command invocation)