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 \*(lqMail\*(rq. 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 \*(lqInbox\*(rq)
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, \*(lq!foo\*(rq means all those messages that
91 are not a member of the sequence \*(lqfoo\*(rq.
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.
108 will add or remove messages from these
109 sequences when they are incorporated or read. If defined with an empty
110 value, no such sequences are defined. Otherwise, each message is
111 added to, or removed from, each sequence name given. Read the
113 man page for the details about this sequence.
114 (profile, default: u)
120 The name of the file in each folder which defines public sequences.
121 To disable the use of public sequences, leave the value portion of this
122 entry blank. (profile, default: \&.mh_sequences)
125 .BI atr\- seq \- folder :
128 Keeps track of the private sequence called \*(lqseq\*(rq in the specified
129 folder. Private sequences are generally used for read\-only folders.
132 man page for details about private sequences.
133 (context, no default)
139 Defines the editor to be used by the commands
145 (profile, default: vi)
156 (profile, default: %sendmailpath%)
162 The prefix that is prepended to the name of message files when they
163 are ``removed'' by rmm. This should typically be `,' or `#'.
164 (profile, default: `,')
170 Name of the link to the file to which you are replying or which you are
171 redistributing. See `$mhaltmsg' below.
172 (profile, default: `@')
175 .BR Attachment-Header :
178 The (pseudo) header in draft messages, that contains files to be attached
179 to the message on sending.
180 If you like to type a lot, name it `X-MH-Attachment'.
181 (profile, default: `Attach')
184 .BR Mime-Type-Query :
187 A command that prints the MIME type of a file.
188 The file name gets appended to the command line.
189 Note: Older GNU versions of file(1) won't generate the desired
190 output. GNU file-4.26, for instance, omits a required semicolon.
191 GNU file-5.04 is known to work. Non-GNU version likely need different
192 options or don't provide this function at all. Alternatively, you can use
193 .BR print\-mimetype ,
194 which is part of mmh, but guesses MIME types by file name extensions only.
200 An octal number which defines the permission bits for new message files.
203 for an explanation of the octal number.
204 (profile, default: 0644)
207 .BR Folder\-Protect :
210 An octal number which defines the permission bits for new folder
213 for an explanation of the octal number.
214 (profile, default: 700)
220 Sets default switches to be used whenever the mmh program
222 is invoked. For example, one could override the \*(lqEditor:\*(rq profile
223 component when replying to messages by adding a component such as:
226 repl: \-editor /bin/ed
229 (profile, no defaults)
232 .IB lasteditor "-next:"
235 Names \*(lqnexteditor\*(rq to be the default editor after using
236 \*(lqlasteditor\*(rq. This takes effect at \*(lqWhat now?\*(rq prompt
244 the draft with \*(lqlasteditor\*(rq, the default editor is set to be
245 \*(lqnexteditor\*(rq. If the user types \*(lqedit\*(rq without any
246 arguments to \*(lqWhat now?\*(rq, then \*(lqnexteditor\*(rq is used.
247 (profile, no default)
253 The contents of the folder-stack for the
256 (context, no default)
265 auditfile in addition to its other tasks.
271 (profile, no default)
274 .BR Alternate\-Mailboxes :
275 mh@uci\-750a, bug-mh*
281 which addresses are really yours.
284 knows which addresses should be included in the
287 knows if the message really originated from you.
288 Addresses must be separated by a comma, and the hostnames listed should
289 be the \*(lqofficial\*(rq hostnames for the mailboxes you indicate, as
290 local nicknames for hosts are not replaced with their official site names.
291 For each address, if a host is not given, then that address on any host is
292 considered to be you. In addition, an asterisk (`*') may appear at either
293 or both ends of the mailbox and host to indicate wild-card matching.
294 (profile, default: your user-id)
301 Indicates aliases files for
305 This may be used instead of the
308 switch. (profile, no default)
314 Changes the default draft folder. Read the
316 man page for details. (profile, default: +drafts)
319 .BI digest\-issue\- list :
324 the last issue of the last volume sent for the digest
326 (context, no default)
329 .BI digest\-volume\- list :
334 the last volume sent for the digest
336 (context, no default)
344 your maildrop, if different from the default. This is
345 superseded by the environment variable
347 (profile, default: %mailspool%/$USER)
351 RAND MH System (agent: Marshall Rose)
355 your mail signature. This is superseded by the
360 is not set and this profile entry is not present, the \*(lqgcos\*(rq field of
361 the \fI/etc/passwd\fP file will be used.
362 Your signature will be added to the address
364 puts in the \*(lqFrom:\*(rq header; do not include an address in the
365 signature text. (profile, no default)
368 .SS "Process Profile Entries"
369 The following profile elements are used whenever an
371 program invokes some other program such as
373 The profile can be used to select alternate programs if the
374 user wishes. The default values are given in the examples.
380 This is the program used by
382 to process MIME composition files, created from drafts which require
389 This program is used to refile or link a message to another folder.
392 to file a copy of a message into a folder given
393 by a \*(lqFcc:\*(rq field. It is used by the draft folder facility in
400 message into another folder. It is used to refile a draft message in
403 directive at the \*(lqWhat now?\*(rq prompt.
411 to incorporate new mail when it
412 is invoked with no arguments.
418 This program is used to list the contents of a message in response
423 directive at the \*(lqWhat now?\*(rq prompt.
424 The absolute pathname of the message to list will be appended to
425 the command line given.
431 This is the program used to automatically mail various messages
432 and notifications. It is used by
436 option. It is used by
438 to post failure notices.
439 It is used to retrieve an external-body with access-type `mail-server'
440 (such as when storing the body with
447 This is the program used to filter messages in various ways. It
450 to filter and display the message headers
458 is used to filter the
459 message to which you are replying.
465 This is the program used by
469 formatted message when displaying to a terminal. It is also the default
472 to display message bodies (or message parts) of type text/plain.
478 This is the program used by
487 post a message to the mail transport system.
493 This is the program used by
497 to delete a message from a folder.
503 This is the program to use by
505 to actually send the message
511 This is the program used by
513 to process and display non-text (MIME) messages.
519 This is the program used by
521 to filter and display text (non-MIME) messages.
527 This is the program invoked by
533 to query about the disposition of a composed draft message.
536 .SS "Environment Variables"
539 and its commands it also controlled by the
540 presence of certain environment variables.
542 Many of these environment variables are used internally by the
543 \*(lqWhat now?\*(rq interface. It's amazing all the information
544 that has to get passed via environment variables to make the
545 \*(lqWhat now?\*(rq interface look squeaky clean to the
547 user, isn't it? The reason for all this is that the
555 one of the standard shells. As a result, it's not possible to pass
556 information via an argument list. The convention is that environment
557 variables whose names are all upper-case are user-settable; those
558 whose names are lower-case only are used internally by mmh and should
559 not generally be set by the user.
563 option was set during
566 if this environment variable is set, then if the commands
571 are not given any `msgs'
572 arguments, then they will default to using the file indicated by
574 This is useful for getting the default behavior
575 supplied by the default
580 With this environment variable, you can specify an alternative
581 mmh directory. Personal mmh configuration files are located relative to
583 Non-absolute values are relative to the home directory.
584 This is one of the very few exceptions in
586 where non-absolute pathnames are not considered relative to the user's
592 With this environment variable, you can specify a profile
594 .I $HOME/.mmh/profile
598 that you invoke. If the value of
600 is not absolute, it will be presumed to start from the mmh directory.
605 With this environment variable, you can specify a
606 context other than the normal context file (as specified in
607 the profile). As always, unless the value of
609 is absolute, it will be presumed to start from your mmh directory.
614 With this environment variable, you can specify
615 the native character set you are using. You must be able to display
616 this character set on your terminal.
618 This variable is checked to see if a RFC-2047 header field should be
631 be called, since showmimeproc will be called if a text message uses
632 a character set that doesn't match
637 for matches against the charset parameter
638 of text contents to decide it the text content can be displayed
639 without modifications to your terminal. This variable is checked by
641 to decide what character set to specify in the charset
642 parameter of text contents containing 8\-bit characters.
644 When decoding text in such an alternate character set,
646 must be able to determine which characters are alphabetic, which
647 are control characters, etc. For many operating systems, this
648 will require enabling the support for locales (such as setting
649 the environment variable
658 the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry.
667 your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
672 This variable tells all
674 programs your home directory
681 the default shell to run
690 The environment variable
692 is also consulted. In particular,
697 how many columns wide your terminal is. They also tell
700 lines long your terminal screen is.
705 This is the alternate message.
711 during edit sessions so you can peruse the message being distributed or
712 replied to. The message is also available through a link called
713 \*(lq@\*(rq (if not changed by
715 in the current directory if your current working directory
716 and the message's folder are on the same UNIX filesystem.
721 This is the path to the working draft.
731 which file to ask \*(lqWhat now?\*(rq
754 about an alternate message associated with the
755 draft (the message being distributed or replied to).
765 that message re-distribution is occurring.
779 editor (unless overridden by
796 if annotations are to occur.
806 if annotations are to occur.
811 This is the folder containing the alternate message.
817 during edit sessions so you
818 can peruse other messages in the current folder besides the one being
819 distributed or replied to. The environment variable
833 .ta \w'%etcdir%/ExtraBigFileName 'u
834 ^$HOME/.mmh~^The user's mmh directory
835 ^or $MMH~^Rather than the standard mmh directory
836 ^$HOME/.mmh/profile~^The user's profile
837 ^or $MMHP~^Rather than the standard profile
838 ^$HOME/.mmh/context~^The user's context
839 ^or $MMHC~^Rather than the standard context
840 ^<folder>/.mh_sequences~^Public sequences for <folder>
844 nmh(1), environ(5), mh-sequence(7)
848 .I $HOME/.mmh/profile
849 contains only static information, which
853 update. Changes in context are made to the
854 .I $HOME/.mmh/context
856 This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
857 and all private sequence information. Public sequence information is
858 kept in each folder in the file determined by the \*(lqMh\-Sequences\*(rq
859 profile entry (default is
860 .IR \&.mh_sequences ).
862 The profile may override the path of the
864 file, by specifying a \*(lqContext\*(rq entry.
865 As a result, you can actually have more than one set of
866 private sequences by using different context files.
869 The shell quoting conventions are not available in the profile.
870 Each token is separated by whitespace.
872 There is some question as to what kind of arguments should be placed
873 in the profile as options. In order to provide a clear answer, recall
874 command line semantics of all
876 programs: conflicting switches
881 may occur more than one time on the
882 command line, with the last switch taking effect. Other arguments, such
883 as message sequences, filenames and folders, are always remembered on
884 the invocation line and are not superseded by following arguments of
885 the same type. Hence, it is safe to place only switches (and their
886 arguments) in the profile.
890 program is being invoked again and again
891 with the same arguments, and those arguments aren't switches, then there
892 are a few possible solutions to this problem. The first is to create a
898 of your choice. By giving this link a different name, you can create
899 a new entry in your profile and use an alternate set of defaults for
902 command. Similarly, you could create a small shell script
905 program of your choice with an alternate set
906 of invocation line switches (using links and an alternate profile entry
907 is preferable to this solution).
911 user could create an alias for the command of the form:
914 alias cmd 'cmd arg1 arg2 ...'
917 In this way, the user can avoid lengthy type-in to the shell, and still
920 commands safely. (Recall that some
923 invoke others, and that in all cases, the profile is read, meaning that
924 aliases are disregarded beyond an initial command invocation)