Provided by: nmh_1.3-1_i386 bug

NAME

       mh-profile - user profile customization for nmh message handler

SYNOPSIS

       $HOME/.mh_profile

DESCRIPTION

       Each user of nmh is expected to have a file named .mh_profile in his or
       her home directory.  This file contains a set of user  parameters  used
       by  some  or all of the nmh 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 nmh
       profile or nmh context, and indicates what the default value is.

       Path: Mail
            Locates nmh transactions in directory “Mail”.  This  is  the  only
            mandatory profile entry.  (profile, no default)

       context: context
            Declares the location of the nmh context file.  This is overridden
            by the environment variable $MHCONTEXT.  See the  HISTORY  section
            below.  (profile, default: <nmh-dir>/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 nmh 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(5) man page for the details
            about this sequence. (profile, no default)

       Sequence-Negation: not
            Defines the string  which,  when  prefixed  to  a  sequence  name,
            negates  that sequence.  Hence, “notseen” means all those messages
            that  are  not  a  member  of  the  sequence  “seen”.   Read   the
            mh-sequence(5) man page for the details.  (profile, no default)

       Unseen-Sequence: unseen
            Names  the  sequence or sequences which should be defined as those
            messages which are unread.  The commands  inc,  rcvstore,  mhshow,
            and  show  will  add  or remove messages from these sequences when
            they are incorporated or read.  If not present or empty,  no  such
            sequences  are  defined.   Otherwise, each message is added to, or
            removed from, each sequence name given.  Read  the  mh-sequence(5)
            man  page  for  the  details  about  this  sequence.  (profile, no
            default)

       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(5)  man  page  for  details about
            private sequences.  (context, no default)

       Editor: /usr/bin/vi
            Defines the editor to be used by the commands  comp,  dist,  forw,
            and repl.  (profile, default: /usr/bin/sensible-editor)

       automimeproc:
            If   defined   and  set  to  1,  then  the  whatnow  program  will
            automatically  invoke  the  buildmimeproc  (discussed  below)   to
            process  each  message  as  a  MIME composition draft before it is
            sent.  (profile, no default)

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

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

       program: default switches
            Sets default switches to be used whenever the mh  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)

       bboards: system
            Tells bbc which BBoards you are interested in.  (profile, default:
            system)

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

       mhe:
            If present, tells inc to compose an MHE auditfile in  addition  to
            its  other  tasks.   MHE  is Brian Reid’s emacs front-end for nmh.
            (profile, 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)

       Aliasfile: aliases other-alias
            Indicates aliases files for ali, whom, and send.  This may be used
            instead of the -alias file switch.  (profile, no default)

       Draft-Folder: drafts
            Indicates  a  default draft folder for comp, dist, forw, and repl.
            Read the mh-draft(5) man page for details. (profile, no default)

       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; otherwise, on hosts where nmh was
            configured with the  UCI  option,  the  file  $HOME/.signature  is
            consulted.   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)

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

       buildmimeproc: /usr/bin/mh/mhbuild
            This is the program used by whatnow to process  drafts  which  are
            MIME composition files.

       fileproc: /usr/bin/mh/refile
            This  program  is  used  to  refile  or  link a message to another
            folder.  It is used by post to file a copy of  a  message  into  a
            folder  given  by  a “Fcc:” field.  It is used by the draft folder
            facility in comp, dist, forw, and repl to refile a  draft  message
            into  another  folder.   It  is  used to refile a draft message in
            response to the refile directive at the “What now?” prompt.

       incproc: /usr/bin/mh/inc
            Program called by mhmail  to  incorporate  new  mail  when  it  is
            invoked with no arguments.

       installproc: /usr/lib/mh/install-mh
            This program is called to initialize the environment for new users
            of nmh.

       lproc: /usr/bin/sensible-pager
            This program is used to list the contents of a message in response
            to  the list directive at the “What now?” prompt.  It is also used
            by the draft folder facility in comp,  dist,  forw,  and  repl  to
            display the draft message.

       mailproc: /usr/bin/mh/mhmail
            This  is  the  program used to automatically mail various messages
            and notifications.  It is used by conflict when  using  the  -mail
            option.   It  is used by send to post failure notices.  It is used
            to retrieve an external-body with access-type ‘mail-server’  (such
            as when storing the body with mhstore).

       mhlproc: /usr/lib/mh/mhl
            This  is  the program used to filter messages in various ways.  It
            is used by mhshow to filter and display  the  message  headers  of
            MIME messages.  When the -format or -filter option is used by forw
            or repl, the mhlproc is used to filter the message  that  you  are
            forwarding, or to which you are replying.  When the -filter option
            is given to send or post, the mhlproc is used by  post  to  filter
            the copy of the message that is sent to “Bcc:” recipients.

       moreproc: /usr/bin/sensible-pager
            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  mhshow  to  display message bodies (or message parts) of
            type text/plain.

       mshproc: /usr/bin/mh/msh
            Currently not used.

       packproc: /usr/bin/mh/packf
            Currently not used.

       postproc: /usr/lib/mh/post
            This is the program used by send,  mhmail,  rcvdist,  and  viamail
            (used by the sendfiles shell script) to post a message to the mail
            transport system.  It is also called  by  whom  (called  with  the
            switches -whom and -library) to do address verification.

       rmmproc: none
            This  is  the  program  used by rmm and refile to delete a message
            from a folder.

       rmfproc: /usr/bin/mh/rmf
            Currently not used.

       sendproc: /usr/bin/mh/send
            This is the program to use by whatnow to actually send the message

       showmimeproc: /usr/bin/mh/mhshow
            This  is  the program used by show to process and display non-text
            (MIME) messages.

       showproc: /usr/lib/mh/mhl
            This is the program used by show to filter and display text  (non-
            MIME) messages.

       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.

       whomproc: /usr/bin/mh/whom
            This is the program used by whatnow to determine to whom a message
            would be sent.

   Environment Variables
       The  operation  of  nmh  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 nmh user, isn’t it?  The reason for all this is
       that the nmh 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  nmh  and  should  not
       generally be set by the user.

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

       $MH
            With  this  environment  variable, you can specify a profile other
            than .mh_profile to be read by the nmh programs that  you  invoke.
            If  the value of $MH is not absolute, (i.e., does not begin with a
            “/”), it will be  presumed  to  start  from  the  current  working
            directory.   This  is  one of the very few exceptions in nmh where
            non-absolute pathnames are not considered relative to  the  user’s
            nmh directory.

       $MHCONTEXT
            With  this  environment  variable, you can specify a context other
            than the normal context file (as specified in  the  nmh  profile).
            As  always, unless the value of $MHCONTEXT is absolute, it will be
            presumed to start from your nmh 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
            mhshow  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, nmh 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 nmh programs your home directory

       $SHELL
            This variable tells bbl the default shell to run

       $TERM
            This variable tells nmh your terminal type.

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

       $editalt
            This is the alternate message.

            This is set by dist and repl  during  edit  sessions  so  you  can
            peruse  the  message being distributed or replied to.  The message
            is also available  through  a  link  called  “@”  in  the  current
            directory  if  your  current  working directory and the folder the
            message lives in are on the same UNIX filesystem.

       $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.

       $mhfolder
            This is set by dist, forw, and repl, if appropriate.

       $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).

       $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.

       $mhinplace
            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.  The environment variable $mhfolder is
            also set by show, prev, and next for use by mhl.

FILES

       $HOME/.mh_profile          The user profile
       or $MH                     Rather than the standard profile
       <mh-dir>/context           The user context
       or $MHCONTEXT              Rather than the standard context
       <folder>/.mh_sequences     Public sequences for <folder>

SEE ALSO

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

HISTORY

       The .mh_profile contains only static information,  which  nmh  programs
       will  NOT update.  Changes in context are made to the context file kept
       in the users nmh directory.  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  .mh_profile  may  override  the  path  of  the  context  file,  by
       specifying a “context” entry (this must  be  in  lower-case).   If  the
       entry  is  not  absolute  (does  not  start  with  a  “/”),  then it is
       interpreted relative to the user’s nmh directory.  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  .mh_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 nmh 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 nmh 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  nmh  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  nmh
       command.  Similarly, you could create a small shell script which called
       the nmh 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 nmh commands  safely.   (Recall  that  some  nmh  commands  invoke
       others,  and  that  in  all  cases,  the  profile is read, meaning that
       aliases are disregarded beyond an initial command invocation)