Annotation of 43BSD/contrib/mh/conf/doc/mh-profile.rf, revision 1.1.1.1

1.1       root        1: .\"    @(MHWARNING)
                      2: .TH MH\-PROFILE 5 "April 22, 1986" MH [mh.6]
                      3: .UC 6
                      4: .SH NAME
                      5:  \&.mh\(ruprofile \- user customization for MH message system
                      6: .SH SYNOPSIS
                      7: .in +.5i
                      8: .ti -.5i
                      9: any \fIMH\fR command
                     10: .in -.5i
                     11: .SH DESCRIPTION
                     12: Each user of \fIMH\fR is expected to have a file named \fI\&.mh\(ruprofile\fR
                     13: in his or her home directory.  This file contains a set of
                     14: user parameters used by some or all of the \fIMH\fR
                     15: family of programs.  Each line of the file is of the format
                     16: 
                     17:     \fIprofile\-component\fR: \fIvalue\fR
                     18: 
                     19: The possible profile components are exemplified below.
                     20: Only `Path:' is mandatory.
                     21: The others are optional;
                     22: some have default values if they are not present.
                     23: In the notation used below,
                     24: (profile, default) indicates whether the information is kept in the user's
                     25: \fIMH\fR profile or \fIMH\fR context,
                     26: and indicates what the default value is.
                     27: 
                     28: .in +1i
                     29: .ti -1i
                     30: Path: Mail
                     31: .br
                     32: Locates \fIMH\fR transactions in directory \*(lqMail\*(rq.
                     33: (profile, no default)
                     34: 
                     35: .ti -1i
                     36: context: context
                     37: .br
                     38: Declares the location of the \fIMH\fR context file,
                     39: see the \fBHISTORY\fR section below.
                     40: (profile, default: <mh\-dir>/context)
                     41: 
                     42: .ti -1i
                     43: Current\-Folder:\ inbox
                     44: .br
                     45: Keeps track of the current open folder.
                     46: (context, default: +inbox)
                     47: 
                     48: .ti -1i
                     49: Previous\-Sequence:\ pseq
                     50: .br
                     51: Names the sequences which should be defined as the `msgs' or `msg'
                     52: argument given to the program.
                     53: If not present, or empty, no sequences are defined.
                     54: Otherwise,
                     55: for each name given,
                     56: the sequence is first zero'd and then each message is added to the sequence.
                     57: (profile, no default)
                     58: 
                     59: .ti -1i
                     60: Sequence\-Negation:\ not
                     61: .br
                     62: Defines the string which, when prefixed to a sequence name,
                     63: negates that sequence.
                     64: Hence,
                     65: \*(lqnotseen\*(rq means all those messages that are not a member of
                     66: the sequence \*(lqseen\*(rq.
                     67: (profile, no default)
                     68: 
                     69: .ti -1i
                     70: Unseen\-Sequence:\ unseen
                     71: .br
                     72: Names the sequences which should be defined as those messages recently
                     73: incorporated by \fIinc\fR.
                     74: \fIShow\fR knows to remove messages from this sequence once it thinks they
                     75: have been seen.
                     76: If not present, or empty, no sequences are defined.
                     77: Otherwise,
                     78: for each name given,
                     79: the sequence is first zero'd and then each message is added to the sequence.
                     80: (profile, no default)
                     81: 
                     82: .ti -1i
                     83: mh\-sequences:\ \&.mh\(rusequences
                     84: .br
                     85: The name of the file in each folder which defines public sequences.
                     86: To disable the use of public sequences,
                     87: leave the value portion of this entry blank.
                     88: (profile, default: \&.mh\(rusequences)
                     89: 
                     90: .ti -1i
                     91: atr\-\fIseq\fR\-\fIfolder\fR:\ 172\0178\-181\0212
                     92: .br
                     93: Keeps track of the private sequence called \fIseq\fR in the specified folder.
                     94: (context, no default)
                     95: 
                     96: .ti -1i
                     97: Editor:\ /usr/ucb/ex
                     98: .br
                     99: Defines editor to be used by 
                    100: \fIcomp\fR\0(1), \fIdist\fR\0(1), \fIforw\fR\0(1), and \fIrepl\fR\0(1).
                    101: (profile, default: @(MHEDITOR))
                    102: 
                    103: .ti -1i
                    104: Msg\-Protect:\ 644
                    105: .br
                    106: Defines octal protection bits for message files.
                    107: See \fIchmod\fR\0(1) for an explanation of the octal number.
                    108: (profile, default: 0644)
                    109: 
                    110: .ti -1i
                    111: Folder\-Protect:\ 711
                    112: .br
                    113: Defines protection bits for folder directories.
                    114: (profile, default: 0711)
                    115: 
                    116: .ti -1i
                    117: \fIprogram\fR:\ default switches
                    118: .br
                    119: Sets default switches to be used whenever the mh program
                    120: \fIprogram\fR is invoked.
                    121: For example, one could override the \fIEditor\fR:
                    122: profile component when replying to messages by adding a
                    123: component such as:
                    124: .br
                    125:        repl: \-editor /bin/ed
                    126: .br
                    127: (profile, no defaults)
                    128: 
                    129: .ti -1i
                    130: \fIlasteditor\fR\-next:\ nexteditor
                    131: .br
                    132: Names \*(lqnexteditor\*(rq to be the default editor after using \*(lqlasteditor\*(rq.
                    133: This takes effect at \*(lqWhat now?\*(rq level in
                    134: \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR.
                    135: After editing the draft with \*(lqlasteditor\*(rq,
                    136: the default editor is set to be \*(lqnexteditor\*(rq.
                    137: If the user types \*(lqedit\*(rq without any arguments to \*(lqWhat now?\*(rq,
                    138: then \*(lqnexteditor\*(rq is used.
                    139: (profile, no default)
                    140: 
                    141: .ti -1i
                    142: bboards: system
                    143: .br
                    144: Tells \fIbbc\fR which BBoards you are interested in.
                    145: (profile, default: system)
                    146: 
                    147: .ti -1i
                    148: Folder\-Stack: \fIfolders\fR
                    149: .br
                    150: The contents of the folder\-stack for the \fIfolder\fR command.
                    151: (context, no default)
                    152: 
                    153: .ti -1i
                    154: mhe:
                    155: .br
                    156: If present, tells \fIinc\fR to compose an \fIMHE\fR auditfile in addition to
                    157: its other tasks.
                    158: \fIMHE\fR is Brian Reid's \fIEmacs\fR front\-end for \fIMH\fR.
                    159: An early version is supplied with the \fImh.6\fR distribution.
                    160: (profile, no default)
                    161: 
                    162: .ti \-1i
                    163: Alternate\-Mailboxes: mh@uci\-750a, bug-mh*
                    164: .br
                    165: Tells \fIrepl\fR and \fIscan\fR which addresses are really yours.
                    166: In this way, \fIrepl\fR knows which addresses should be included in the reply,
                    167: and \fIscan\fR knows if the message really originated from you.
                    168: Addresses must be separated by a comma,
                    169: and the hostnames listed should be the \*(lqofficial\*(rq hostnames for the
                    170: mailboxes you indicate,
                    171: as local nicknames for hosts are not replaced with their official site names.
                    172: For each address,
                    173: if a host is not given,
                    174: then that address on any host is considered to be you.
                    175: In addition,
                    176: an asterisk (`*') may appear at either or both ends of the mailbox and host
                    177: to indicate wild\-card matching.
                    178: (profile, default: your user-id)
                    179: 
                    180: .ti -1i
                    181: Draft\-Folder: drafts
                    182: .br
                    183: Indicates a default draft folder for \fIcomp\fR, \fIdist\fR, \fIforw\fR,
                    184: and \fIrepl\fR.
                    185: (profile, no default)
                    186: 
                    187: .ti -1i
                    188: digest\-issue\-\fIlist\fR:\ 1
                    189: .br
                    190: Tells \fIforw\fR the last issue of the last volume sent for the digest
                    191: \fIlist\fR.
                    192: (context, no default)
                    193: 
                    194: .ti -1i
                    195: digest\-volume\-\fIlist\fR:\ 1
                    196: .br
                    197: Tells \fIforw\fR the last volume sent for the digest \fIlist\fR.
                    198: (context, no default)
                    199: 
                    200: .ti -1i
                    201: MailDrop: .mail
                    202: .br
                    203: Tells \fIinc\fR your maildrop, if different from the default.
                    204: This is superceded by the \fB$MAILDROP\fR envariable.
                    205: (profile, default: @(MHDROPLOC))
                    206: 
                    207: .ti -1i
                    208: Signature: Rand MH System (agent: Marshall Rose)
                    209: .br
                    210: Tells \fIsend\fR your mail signature.
                    211: This is superceded by the \fB$SIGNATURE\fR envariable.
                    212: On hosts where \fIMH\fR was configured with the UCI option,
                    213: if \fB$SIGNATURE\fR is not set and this profile entry is not present,
                    214: the file $HOME/.signature is consulted.
                    215: (profile, no default)
                    216: .in -1i
                    217: 
                    218: The following profile elements are used whenever an \fIMH\fR program
                    219: invokes some other program such as \fImore\fR\0(1).
                    220: The \fI\&.mh\(ruprofile\fR can be used to select alternate
                    221: programs if the user wishes.  The default values are given in
                    222: the examples.
                    223: 
                    224: .nf
                    225: .in +.5i
                    226: .ta \w'whatnowproc:  'u
                    227: ^fileproc:~^@(MHBINPATH)/refile
                    228: ^incproc:~^@(MHBINPATH)/inc
                    229: ^installproc:~^@(MHETCPATH)/install\-mh
                    230: ^lproc:~^/usr/ucb/more
                    231: ^mailproc:~^@(MHBINPATH)/mhmail
                    232: ^mhlproc:~^@(MHETCPATH)/mhl
                    233: ^moreproc:~^/usr/ucb/more
                    234: ^mshproc:~^@(MHBINPATH)/msh
                    235: ^packproc:~^@(MHBINPATH)/packf
                    236: ^postproc:~^@(MHETCPATH)/post
                    237: ^rmmproc:~^none
                    238: ^rmfproc:~^@(MHBINPATH)/rmf
                    239: ^sendproc:~^@(MHBINPATH)/send
                    240: ^showproc:~^/usr/ucb/more
                    241: ^whatnowproc:~^@(MHBINPATH)/whatnow
                    242: ^whomproc:~^@(MHBINPATH)/whom
                    243: .re
                    244: .in -.5i
                    245: .fi
                    246: 
                    247: If you define the envariable \fB$MH\fR,
                    248: you can specify a profile other than \fI\&.mh\(ruprofile\fR to be read
                    249: by the \fIMH\fR programs that you invoke.
                    250: If the value of \fB$MH\fR is not absolute,
                    251: (i.e., does not begin with a \fB/\fR\0),
                    252: it will be presumed to start from the current working directory.
                    253: This is one of the very few exceptions in \fIMH\fR where non\-absolute
                    254: pathnames are not considered relative to the user's \fIMH\fR directory.
                    255: 
                    256: Similarly,
                    257: if you define the envariable \fB$MHCONTEXT\fR,
                    258: you can specify a context other than the normal context file
                    259: (as specified in the \fIMH\fR profile).
                    260: As always,
                    261: unless the value of \fB$MHCONTEXT\fR is absolute,
                    262: it will be presumed to start from your \fIMH\fR directory.
                    263: 
                    264: \fIMH\fR programs also support other envariables:
                    265: 
                    266: .in +.5i
                    267: .ti -.5i
                    268: \fB$MAILDROP\fR\0: tells \fIinc\fR the default maildrop
                    269: .br
                    270: This supercedes the \*(lqMailDrop:\*(rq profile entry.
                    271: 
                    272: .ti -.5i
                    273: \fB$SIGNATURE\fR\0: tells \fIsend\fR and \fIpost\fR your mail signature
                    274: .br
                    275: This supercedes the \*(lqSignature:\*(rq profile entry.
                    276: 
                    277: .ti -.5i
                    278: \fB$HOME\fR\0: tells all \fIMH\fR programs your home directory
                    279: 
                    280: .ti -.5i
                    281: \fB$SHELL\fR\0: tells \fIbbl\fR the default shell to run
                    282: 
                    283: .ti -.5i
                    284: \fB$TERM\fR\0: tells \fIMH\fR your terminal type
                    285: .br
                    286: The \fB$TERMCAP\fR envariable is also consulted.
                    287: In particular,
                    288: these tells \fIscan\fR and \fImhl\fR how to clear your terminal,
                    289: and how many columns wide your terminal is.
                    290: They also tell \fImhl\fR how many lines long your terminal screen is.
                    291: 
                    292: .ti -.5i
                    293: \fB$editalt\fR\0: the alternate message
                    294: .br
                    295: This is set by \fIdist\fR and \fIrepl\fR during edit sessions
                    296: so you can peruse the message being distributed or replied-to.
                    297: The message is also available through a link called \*(lq@\*(rq
                    298: in the current directory if your current working directory and
                    299: the folder the message lives in are on the same UNIX filesystem.
                    300: 
                    301: .ti -.5i
                    302: \fB$mhdraft\fR\0: the path to the working draft
                    303: .br
                    304: This is set by \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR
                    305: to tell the \fIwhatnowproc\fR which file to ask \*(lqWhat now?\*(rq questions
                    306: about.
                    307: In addition,
                    308: \fIdist\fR, \fIforw\fR, and \fIrepl\fR set \fB$mhfolder\fR if appropriate.
                    309: Further,
                    310: \fIdist\fR and \fIrepl\fR set \fB$mhaltmsg\fR to tell the
                    311: \fIwhatnowproc\fR about an alternate message associated with the draft
                    312: (the message being distributed or replied\-to),
                    313: and
                    314: \fIdist\fR sets \fB$mhdist\fR to tell the \fIwhatnowproc\fR that
                    315: message re\-distribution is occurring.
                    316: Also,
                    317: \fB$mheditor\fR is set to tell the \fIwhatnowproc\fR the user's choice of
                    318: editor (unless overridden by `\-noedit').
                    319: Similarly,
                    320: \fB$mhuse\fR may be set by \fIcomp\fR.
                    321: Finally,
                    322: \fB$mhmessages\fR is set by \fIdist\fR, \fIforw\fR, and \fIrepl\fR
                    323: if annotations are to occur
                    324: (along with \fB$mhannotate\fR, and \fB$mhinplace\fR).
                    325: It's amazing all the information that has to get passed via envariables to
                    326: make the \*(lqWhat now?\*(rq interface look squeaky clean to the \fIMH\fR
                    327: user, isn't it?
                    328: The reason for all this
                    329: is that the \fIMH\fR user can select \fIany\fR program as the
                    330: \fIwhatnowproc\fR, including one of the standard shells.
                    331: As a result, it's not possible to pass information via an argument list.
                    332: .br
                    333: If the WHATNOW option was set during \fIMH\fR configuration
                    334: (type `\-help' to an \fIMH\fR command to find out),
                    335: and if this envariable is set,
                    336: if the commands \fIrefile\fR, \fIsend\fR, \fIshow\fR, or \fIwhom\fR
                    337: are not given any `msgs' arguments,
                    338: then they will default to using the file indicated by \fB$mhdraft\fR.
                    339: This is useful for getting the default behavior supplied by the default
                    340: \fIwhatnowproc\fR.
                    341: 
                    342: .ti -.5i
                    343: \fB$mhfolder\fR\0: the folder containing the alternate message
                    344: .br
                    345: This is set by \fIdist\fR and \fIrepl\fR during edit sessions
                    346: so you can peruse other messages in the current folder
                    347: besides the one being distributed or replied-to.
                    348: The \fB$mhfolder\fR envariable is also
                    349: set by \fIshow\fR, \fIprev\fR, and \fInext\fR
                    350: for use by \fImhl\fR.
                    351: 
                    352: .ti -.5i
                    353: \fB$MHBBRC\fR\0: 
                    354: .br
                    355: If you define the envariable \fB$MHBBRC\fR,
                    356: you can specify a BBoards information file other than \fI\&.bbrc\fR to be
                    357: read by \fIbbc\fR.
                    358: If the value of \fB$MHBBRC\fR is not absolute,
                    359: (i.e., does not begin with a \fB/\fR\0),
                    360: it will be presumed to start from the current working directory.
                    361: 
                    362: .ti -.5i
                    363: \fB$MHFD\fR\0: 
                    364: .br
                    365: If the OVERHEAD option was set during \fIMH\fR configuration
                    366: (type `\-help' to an \fIMH\fR command to find out),
                    367: then if this envariable is set,
                    368: \fIMH\fR considers it to be the number of a file\-descriptor which is opened,
                    369: read\-only to the \fIMH\fR profile.
                    370: Similarly,
                    371: if the envariable \fB$MHCONTEXTFD\fR is set,
                    372: this is the number of a file\-descriptor which is opened read\-only
                    373: to the \fIMH\fR context.
                    374: This feature of \fIMH\fR is experimental,
                    375: and is used to examine possible speed improvements for \fIMH\fR startup.
                    376: Note that these envariables must be set and non\-empty to enable this feature.
                    377: However,
                    378: if OVERHEAD is enabled during \fIMH\fR configuration,
                    379: then when \fIMH\fR programs call other \fIMH\fR programs,
                    380: this scheme is used.
                    381: These file\-descriptors are not closed throughout the execution of the
                    382: \fIMH\fR program,
                    383: so children may take advantage of this.
                    384: This approach is thought to be completely safe and does result in some
                    385: performance enhancements.
                    386: .in -.5i
                    387: 
                    388: .Fi
                    389: ^$HOME/\&.mh\(ruprofile~^The user profile
                    390: ^or $MH~^Rather than the standard profile
                    391: ^<mh\-dir>/context~^The user context
                    392: ^or $CONTEXT~^Rather than the standard context
                    393: ^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
                    394: .Pr
                    395: All
                    396: .Sa
                    397: mh(1), environ(5)
                    398: .De
                    399: None
                    400: .Co
                    401: All
                    402: .Hi
                    403: In previous versions of \fIMH\fR,
                    404: the current\-message value of a writable folder was kept in a file
                    405: called \*(lqcur\*(rq in the folder itself.
                    406: In \fImh.3\fR,
                    407: the \fI\&.mh\(ruprofile\fR contained the current\-message values for
                    408: all folders, regardless of their writability.
                    409: 
                    410: In all versions of \fIMH\fR since \fImh.4\fR,
                    411: the \fI\&.mh\(ruprofile\fR contains only static information,
                    412: which \fIMH\fR programs will \fBNOT\fR update.
                    413: Changes in context are made to the \fIcontext\fR file kept in the users MH
                    414: \fIdirectory\fR.
                    415: This includes, but is not limited to:
                    416: the \*(lqCurrent\-Folder\*(rq entry and all private sequence information.
                    417: Public sequence information is kept in a file called \fI\&.mh\(rusequences\fR
                    418: in each folder.
                    419: 
                    420: To convert from the format used in releases of \fIMH\fR prior
                    421: to the format used in the \fImh.4\fR release,
                    422: \fIinstall\-mh\fR should be invoked with the `\-compat' switch.
                    423: This generally happens automatically on \fIMH\fR systems generated with the
                    424: \*(lqCOMPAT\*(rq option during \fIMH\fR configuration.
                    425: 
                    426: The \fI\&.mh\(ruprofile\fR may override the path of the \fIcontext\fR file,
                    427: by specifying a \*(lqcontext\*(rq entry (this must be in lower-case).
                    428: If the entry is not absolute (does not start with a \fB/\fR\0),
                    429: then it is interpreted relative to the user's \fIMH\fR directory.
                    430: As a result,
                    431: you can actually have more than one set of private sequences by using
                    432: different context files.
                    433: .Bu
                    434: The shell quoting conventions are not available in the \&.mh\(ruprofile.
                    435: Each token is separated by whitespace.
                    436: 
                    437: There is some question as to what kind of arguments should be placed in
                    438: the profile as options.
                    439: In order to provide a clear answer,
                    440: recall command line semantics of all \fIMH\fR programs:
                    441: conflicting switches (e.g., `\-header and `\-noheader')
                    442: may occur more than one time on the command line,
                    443: with the last switch taking effect.
                    444: Other arguments,
                    445: such as message sequences, filenames and folders,
                    446: are always remembered on the invocation line and are not superseded by 
                    447: following arguments of the same type.
                    448: Hence, it is safe to place only switches (and their arguments)
                    449: in the profile.
                    450: 
                    451: If one finds that an \fIMH\fR
                    452: program is being invoked again and again with the same arguments,
                    453: and those arguments aren't switches,
                    454: then there are a few possible solutions to this problem.
                    455: The first is to create a (soft) link in your \fI$HOME/bin\fR directory
                    456: to the \fIMH\fR program of your choice.
                    457: By giving this link a different name,
                    458: you can create a new entry in your profile
                    459: and use an alternate set of defaults for the \fIMH\fR command.
                    460: Similarly, you could create a small shell script which called the
                    461: \fIMH\fR program of your choice with an alternate set of invocation
                    462: line switches (using links and an alternate profile entry is preferable
                    463: to this solution).
                    464: 
                    465: Finally, the \fIcsh\fR user could create an alias for the command of the form:
                    466: 
                    467: .ti +.5i
                    468: alias cmd 'cmd arg1 arg2 ...'
                    469: 
                    470: In this way, the user can avoid lengthy type\-in to the shell,
                    471: and still give \fIMH\fR commands safely.  (Recall that some \fIMH\fR
                    472: commands invoke others, and that in all cases, the profile is read,
                    473: meaning that aliases are disregarded beyond an initial command invocation)
                    474: .En

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.