MH-PROFILE(5)                                       MH-PROFILE(5)

NAME
       mh-profile  -  user  profile customization for nmh message
       handler

SYNOPSIS
       .mh_profile

DESCRIPTION
       Each user of nmh is expected to have a file named .mh_pro-
       file  in  his or her home directory.  This file contains a
       set of user parameters used by some or all of the nmh fam-
       ily 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.

       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 pre-
       sent.  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.  (pro-
                 file, 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.   (con-
                 text, default: folder specified by "Inbox")

       Inbox: inbox
                 Defines  the  name of your default inbox.  (pro-
                 file, 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.  (pro-
                 file, no default)

       Unseen-Sequence: unseen
                 Names the sequence or sequences which should  be
                 defined as those messages which are unread.  The
                 commands inc, rcvstore, 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.  Other-
                 wise, 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  pri-
                 vate sequences.  (context, no default)

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

       automimeproc:
                 If  defined  and set to 1, then the whatnow pro-
                 gram will automatically invoke the buildmimeproc
                 (discussed  below)  to process each message as a
                 MIME composition draft before it is sent.  (pro-
                 file, 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: 700
                 An octal number  which  defines  the  permission
                 bits  for new folder directories.  See chmod (1)
                 for an explanation of the octal  number.   (pro-
                 file, default: 0700)

       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  "lastedi-
                 tor",  the default editor is set to be "nextedi-
                 tor".  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  audit-
                 file  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"  host-
                 names  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 aster-
                 isk (`*') 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 superceded by the  environment
                 variable     MAILDROP.     (profile,    default:
                 /var/spool/mail/$USER)

       Signature: RAND MH System (agent: Marshall Rose)
                 Tells  send  your  mail  signature.    This   is
                 superceded  by  the  environment variable SIGNA-
                 TURE.  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)

       The following profile elements are used  whenever  an  nmh
       program  invokes some other program such as more (1).  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/mhbuild
                 This is the program used by whatnow  to  process
                 drafts which are MIME composition files.

       fileproc: /usr/bin/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/inc
                 Program called by mhmail to incorporate new mail
                 when it is invoked with no arguments.

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

       lproc: /bin/more
                 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/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 by mhn to retrieve  an  external-body  with
                 access-type `mail-server'.

       mhlproc: /usr/lib/nmh/mhl
                 This  is  the program used to filter messages in
                 various ways.  It is used by mhn 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: /bin/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  mhn  to
                 display  message  bodies  (or  message parts) of
                 type text/plain.

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

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

       postproc: /usr/lib/nmh/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/rmf
                 Currently not used.

       sendproc: /usr/bin/send
                 This is the program to use by whatnow  to  actu-
                 ally send the message

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

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

       whatnowproc: /usr/bin/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/whom
                 This is the program used by whatnow to determine
                 to whom a message would be sent.

                 The operation of nmh and its  commands  it  also
                 controlled  by  the presence of certain environ-
                 ment 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.

                 If the WHATNOW option was set during nmh config-
                 uration, 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
                 mhdraft.  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  abso-
                      lute,  (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  pro-
                      file).   As  always,  unless  the  value of
                      MHCONTEXT is absolute, it will be  presumed
                      to start from your nmh directory.

                 MM_CHARSET :  With  this  envrironment 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  charac-
                      ter  set  that  doesn't  match  MM_CHARSET.
                      This variable is checked by mhn for matches
                      against  the charset parameter of text con-
                      tents 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 8bit characters.

                 MAILDROP : tells inc the default maildrop
                      This  supercedes  the  "MailDrop:"  profile
                      entry.

                 SIGNATURE : tells send and post your mail signa-
                      ture
                      This  supercedes  the  "Signature:" profile
                      entry.

                 HOME : tells all nmh programs your  home  direc-
                      tory

                 SHELL : tells bbl the default shell to run

                 TERM : 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 ter-
                      minal screen is.

                 editalt : 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  mes-
                      sage  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 : 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  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 : 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.

                 ^$HOME/.mh_profile~^The   user    profile    ^or
                 $MH~^Rather    than    the    standard   profile
                 ^<mh-dir>/context~^The user context ^or  $MHCON-
                 TEXT~^Rather    than    the   standard   context
                 ^<folder>/.mh_sequences~^Public  sequences   for
                 <folder>  All  mh(1), environ(5), mh-sequence(5)
                 None All 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 direc-
                 tory.  As a result, you can actually  have  more
                 than  one set of private sequences by using dif-
                 ferent context files.  The shell quoting conven-
                 tions  are  not  available  in  the .mh_profile.
                 Each token is separated by whitespace.

                 There is some question as to what kind of  argu-
                 ments   should  be  placed  in  the  profile  as
                 options.  In order to provide  a  clear  answer,
                 recall  command  line  semantics of all nmh pro-
                 grams: 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 pro-
                 file 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)

[nmh-0.27]                    MH.6.8                            1