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