|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.