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