4 .TH MH-PROFILE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
6 mh-profile \- user profile customization for mmh message handler
14 is expected to have a file named
16 in his or her home directory. This file contains
17 a set of user parameters used by some or all of the
19 family of programs. Each entry in the file is of the format
22 .IR Profile\-Component ": " value
25 If the text of profile entry is long, you may extend it across several
26 real lines by indenting the continuation lines with leading spaces or tabs.
28 .SS "Standard Profile Entries"
29 The possible profile components are exemplified below. The only mandatory
30 entry is `Path:'. The others are optional; some have default values if
31 they are not present. In the notation used below, (profile, default)
32 indicates whether the information is kept in the user's
36 context, and indicates what the default value is.
41 Sets the user's mail storage to `Mail'. This is the
42 only mandatory profile entry. (profile, no default)
48 Declares the location of the
50 context file. This is overridden by the environment variable
55 (profile, default: $HOME/.mmh/context)
61 Keeps track of the current open folder.
62 (context, default: folder specified by `Inbox')
68 Defines the name of your default inbox.
69 (profile, default: inbox)
72 .BR Previous\-Sequence :
75 Names the sequence or sequences which should be defined as the `msgs' or
76 `msg' argument given to any
78 command. If not present or empty,
79 no such sequences are defined. Otherwise, for each name given, the
80 sequence is first zero'd and then each message is added to the sequence.
83 man page for the details about this sequence. (profile, no default)
86 .BR Sequence\-Negation :
89 Defines the string which, when prefixed to a sequence name, negates
90 that sequence. Hence, `!foo' means all those messages that
91 are not a member of the sequence `foo'.
92 To deactivate this mechanism, define Sequence\-Negation to an empty value.
95 man page for the details. (profile, default: !)
98 .BR Unseen\-Sequence :
101 Names the sequence or sequences which shall contain any unread messages.
107 will add or remove messages from these
108 sequences when they are incorporated or read. If defined with an empty
109 value, no such sequences are defined. Otherwise, each message is
110 added to, or removed from, each sequence name given. Read the
112 man page for the details about this sequence.
113 (profile, default: u)
119 The name of the file in each folder which defines public sequences.
120 To disable the use of public sequences, leave the value portion of this
121 entry blank. (profile, default: \&.mh_sequences)
124 .BI atr\- seq \- folder :
127 Keeps track of the private sequence called `seq' in the specified
128 folder. Private sequences are generally used for read\-only folders.
131 man page for details about private sequences.
132 (context, no default)
138 Defines the editor to be used by the commands
144 This profile entry overrides the $VISUAL and $EDITOR environment variables,
145 but gets overridden by the $MMHEDITOR environment variabel.
146 (profile, default: vi)
152 This is the program used by
156 formatted message when displaying to a terminal. It is also the default
159 to display message bodies (or message parts) of type text/plain.
160 This profile entry overrides the $PAGER environment variable, but gets
161 overridden by the $MMHPAGER environment variable.
162 (profile, default: more)
173 (profile, default: %sendmailpath%)
179 The prefix that is prepended to the name of message files when they
180 are backup'd for some reason.
182 for instance, does this.
183 Note: rmm does NOT anymore use the backup prefix.
184 It should typically be set to `,' or `#'.
185 (profile, default: `,')
188 .BR Attachment-Header :
191 The (pseudo) header in draft messages, that contains files to be attached
192 to the message on sending.
193 If you like to type a lot, name it `X-MH-Attachment'.
194 (profile, default: `Attach')
197 .BR Mime-Type-Query :
200 A command that prints the MIME type of a file.
201 The file name gets appended to the command line.
202 Note: Older GNU versions of file(1) won't generate the desired
203 output. GNU file-4.26, for instance, omits a required semicolon.
204 GNU file-5.04 is known to work. Non-GNU version likely need different
205 options or don't provide this function at all. Alternatively, you can use
206 .BR print\-mimetype ,
207 which is part of mmh, but guesses MIME types by file name extensions only.
213 An octal number which defines the permission bits for new message files.
216 for an explanation of the octal number.
217 (profile, default: 0600)
220 .BR Folder\-Protect :
223 An octal number which defines the permission bits for new folder
226 for an explanation of the octal number.
227 (profile, default: 0700)
233 Sets default switches to be used whenever the mmh program
235 is invoked. For example, one could override the `Editor:' profile
236 component when replying to messages by adding a component such as:
239 repl: \-editor /bin/ed
242 (profile, no defaults)
245 .IB lasteditor "-next:"
248 Names `nexteditor' to be the default editor after using
249 `lasteditor'. This takes effect at `What now?' prompt
257 the draft with `lasteditor', the default editor is set to be
258 `nexteditor'. If the user types `edit' without any
259 arguments to `What now?', then `nexteditor' is used.
260 (profile, no default)
266 The contents of the folder-stack for the
269 (context, no default)
272 .BR Alternate\-Mailboxes :
273 mh@uci\-750a, bug-mh*
279 which addresses are really yours.
282 knows which addresses should be included in the
285 knows if the message really originated from you.
286 Addresses must be separated by a comma, and the hostnames listed should
287 be the `official' hostnames for the mailboxes you indicate, as
288 local nicknames for hosts are not replaced with their official site names.
289 For each address, if a host is not given, then that address on any host is
290 considered to be you. In addition, an asterisk (`*') may appear at either
291 or both ends of the mailbox and host to indicate wild-card matching.
292 (profile, default: your user-id)
299 Indicates aliases files for
304 (profile, no default)
310 Changes the default draft folder. Read the
312 man page for details. (profile, default: +drafts)
318 Changes the default folder for removed messages. Read the
320 man page for details.
321 (profile, default: +trash)
324 .BI digest\-issue\- list :
329 the last issue of the last volume sent for the digest
331 (context, no default)
334 .BI digest\-volume\- list :
339 the last volume sent for the digest
341 (context, no default)
349 your maildrop, if different from the default. This is
350 superseded by the environment variable
352 (profile, default: %mailspool%/$USER)
356 RAND MH System (agent: Marshall Rose)
360 your mail signature. This is superseded by the
365 is not set and this profile entry is not present, the `gcos' field of
366 the \fI/etc/passwd\fP file will be used.
367 Your signature will be added to the address
369 puts in the `From:' header; do not include an address in the
370 signature text. (profile, no default)
373 .SS "Process Profile Entries"
374 The following profile elements are used whenever an
376 program invokes some other program such as
378 The profile can be used to select alternate programs if the
379 user wishes. The default values are given in the examples.
385 This program is used to list the contents of a message in response
390 directive at the `What now?' prompt.
391 The absolute pathname of the message to list will be appended to
392 the command line given.
398 This is the program invoked by
404 to query about the disposition of a composed draft message.
407 .SS "Environment Variables"
410 and its commands it also controlled by the
411 presence of certain environment variables.
413 Many of these environment variables are used internally by the
414 `What now?' interface. It's amazing all the information
415 that has to get passed via environment variables to make the
416 `What now?' interface look squeaky clean to the
418 user, isn't it? The reason for all this is that the
426 one of the standard shells. As a result, it's not possible to pass
427 information via an argument list. The convention is that environment
428 variables whose names are all upper-case are user-settable; those
429 whose names are lower-case only are used internally by mmh and should
430 not generally be set by the user.
434 option was set during
437 if this environment variable is set, then if the commands
442 are not given any `msgs'
443 arguments, then they will default to using the file indicated by
445 This is useful for getting the default behavior
446 supplied by the default
451 With this environment variable, you can specify an alternative
452 mmh directory. Personal mmh configuration files are located relative to
454 Non-absolute values are relative to the home directory.
455 This is one of the very few exceptions in
457 where non-absolute pathnames are not considered relative to the user's
463 With this environment variable, you can specify a profile
465 .I $HOME/.mmh/profile
469 that you invoke. If the value of
471 is not absolute, it will be presumed to start from the mmh directory.
476 With this environment variable, you can specify a
477 context other than the normal context file (as specified in
478 the profile). As always, unless the value of
480 is absolute, it will be presumed to start from your mmh directory.
485 With this environment variable, you can specify
486 the native character set you are using. You must be able to display
487 this character set on your terminal.
489 This variable is checked to see if a RFC-2047 header field should be
502 be called, since showmimeproc will be called if a text message uses
503 a character set that doesn't match
508 for matches against the charset parameter
509 of text contents to decide it the text content can be displayed
510 without modifications to your terminal. This variable is checked by
512 to decide what character set to specify in the charset
513 parameter of text contents containing 8\-bit characters.
515 When decoding text in such an alternate character set,
517 must be able to determine which characters are alphabetic, which
518 are control characters, etc. For many operating systems, this
519 will require enabling the support for locales (such as setting
520 the environment variable
529 the default maildrop. This supersedes the `MailDrop' profile entry.
538 your mail signature. This supersedes the `Signature' profile entry.
543 This variable tells all
545 programs your home directory
552 the default shell to run
561 These variables (in descending priority) define the default editor to use.
568 These variables (in descending priority) define the default pager to use.
577 The environment variable
579 is also consulted. In particular,
584 how many columns wide your terminal is. They also tell
587 lines long your terminal screen is.
592 This is the path to the working draft.
602 which file to ask `What now?'
615 about an alternate message associated with the
616 draft (the message being distributed or replied to).
617 It is also set during edit sessions so you can peruse the
618 message being distributed or replied to.
619 This variable replaces the older
622 There used to be a link named `@' in the working directory, pointing
623 to the alternate message, there is no such link anymore.
633 that message re-distribution is occurring.
647 editor (unless overridden by
664 if annotations are to occur.
674 if annotations are to occur.
679 This is the folder containing the alternate message.
685 during edit sessions so you
686 can peruse other messages in the current folder besides the one being
687 distributed or replied to.
693 .ta \w'%etcdir%/ExtraBigFileName 'u
694 ^$HOME/.mmh~^The user's mmh directory
695 ^or $MMH~^Rather than the standard mmh directory
696 ^$HOME/.mmh/profile~^The user's profile
697 ^or $MMHP~^Rather than the standard profile
698 ^$HOME/.mmh/context~^The user's context
699 ^or $MMHC~^Rather than the standard context
700 ^<folder>/.mh_sequences~^Public sequences for <folder>
704 nmh(1), environ(5), mh-sequence(7)
708 .I $HOME/.mmh/profile
709 contains only static information, which
713 update. Changes in context are made to the
714 .I $HOME/.mmh/context
716 This includes, but is not limited to: the `Current\-Folder' entry
717 and all private sequence information. Public sequence information is
718 kept in each folder in the file determined by the `Mh\-Sequences'
719 profile entry (default is
720 .IR \&.mh_sequences ).
722 The profile may override the path of the
724 file, by specifying a `Context' entry.
725 As a result, you can actually have more than one set of
726 private sequences by using different context files.
729 The shell quoting conventions are not available in the profile.
730 Each token is separated by whitespace.
732 There is some question as to what kind of arguments should be placed
733 in the profile as options. In order to provide a clear answer, recall
734 command line semantics of all
736 programs: conflicting switches
741 may occur more than one time on the
742 command line, with the last switch taking effect. Other arguments, such
743 as message sequences, filenames and folders, are always remembered on
744 the invocation line and are not superseded by following arguments of
745 the same type. Hence, it is safe to place only switches (and their
746 arguments) in the profile.
750 program is being invoked again and again
751 with the same arguments, and those arguments aren't switches, then there
752 are a few possible solutions to this problem. The first is to create a
758 of your choice. By giving this link a different name, you can create
759 a new entry in your profile and use an alternate set of defaults for
762 command. Similarly, you could create a small shell script
765 program of your choice with an alternate set
766 of invocation line switches (using links and an alternate profile entry
767 is preferable to this solution).
771 user could create an alias for the command of the form:
774 alias cmd 'cmd arg1 arg2 ...'
777 In this way, the user can avoid lengthy type-in to the shell, and still
780 commands safely. (Recall that some
783 invoke others, and that in all cases, the profile is read, meaning that
784 aliases are disregarded beyond an initial command invocation)