1 <?xml version="1.0" standalone="no"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
8 <title>The Mutt Next Generation E-Mail Client</title>
10 <firstname>Andreas</firstname><surname>Krennmair</surname>
11 <email>ak@synflood.at</email>
14 <firstname>Michael</firstname><surname>Elkins</surname>
15 <email>me@cs.hmc.edu</email>
17 <pubdate>version devel-r473</pubdate>
20 Michael Elinks on mutt, circa 1995:
21 ``All mail clients suck. This one just sucks less.''
24 Sven Guckes on mutt, ca. 2003: ``But it still sucks!''
30 <title>Introduction </title>
33 <title>Overview </title>
36 <emphasis role="bold">Mutt-ng</emphasis> is a small but very
37 powerful text-based MIME mail client. Mutt-ng is highly
38 configurable, and is well suited to the mail power user with
39 advanced features like key bindings, keyboard macros, mail
40 threading, regular expression searches and a powerful pattern
41 matching language for selecting groups of messages.
45 This documentation additionally contains documentation to
46 <emphasis role="bold"> Mutt-NG </emphasis> ,a fork from Mutt
47 with the goal to fix all the little annoyances of Mutt, to
48 integrate all the Mutt patches that are floating around in the
49 web, and to add other new features. Features specific to Mutt-ng
50 will be discussed in an extra section. Don't be confused when
51 most of the documentation talk about Mutt and not Mutt-ng,
52 Mutt-ng contains all Mutt features, plus many more.
62 <title>Mutt-ng Home Page </title>
65 <ulink url="http://www.muttng.org/">http://www.muttng.org</ulink>
75 <title>Mailing Lists </title>
83 <email>mutt-ng-users@lists.berlios.de</email>: This is
84 where the mutt-ng user support happens.
90 <email>mutt-ng-devel@lists.berlios.de</email>: The
91 development mailing list for mutt-ng
106 <title>Software Distribution Sites </title>
109 So far, there are no official releases of Mutt-ng, but you can
110 download daily snapshots from <ulink
111 url="http://mutt-ng.berlios.de/snapshots/"
112 >http://mutt-ng.berlios.de/snapshots/</ulink>
125 Visit channel <emphasis>#muttng</emphasis> on <ulink
126 url="http://www.freenode.net/">irc.freenode.net
127 (www.freenode.net) </ulink> to chat with other people
128 interested in Mutt-ng.
134 <title>Weblog </title>
137 If you want to read fresh news about the latest development in
138 Mutt-ng, and get informed about stuff like interesting,
139 Mutt-ng-related articles and packages for your favorite
140 distribution, you can read and/or subscribe to our <ulink
141 url="http://mutt-ng.supersized.org/">Mutt-ng development
148 <title>Copyright </title>
151 Mutt is Copyright (C) 1996-2000 Michael R. Elkins
152 <me@cs.hmc.edu> and others
156 This program is free software; you can redistribute it and/or modify
157 it under the terms of the GNU General Public License as published by
158 the Free Software Foundation; either version 2 of the License, or
159 (at your option) any later version.
163 This program is distributed in the hope that it will be useful,
164 but WITHOUT ANY WARRANTY; without even the implied warranty of
165 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
166 GNU General Public License for more details.
170 You should have received a copy of the GNU General Public License
171 along with this program; if not, write to the Free Software
172 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
181 <title>Getting Started </title>
184 <title>Basic Concepts </title>
187 <title>Screens and Menus </title>
190 mutt-ng offers different screens of which every has its special
200 The <emphasis>index</emphasis> displays the contents of the
209 The <emphasis>pager</emphasis> is responsible for displaying
211 is, the header, the body and all attached parts.
218 The <emphasis>file browser</emphasis> offers operations on and
220 information of all folders mutt-ng should watch for mail.
227 The <emphasis>sidebar</emphasis> offers a permanent view of
229 contain how many total, new and/or flagged mails.
236 The <emphasis>help screen</emphasis> lists for all currently
238 commands how to invoke them as well as a short description.
245 The <emphasis>compose</emphasis> menu is a comfortable
247 actions before sending mail: change subjects, attach files,
256 The <emphasis>attachement</emphasis> menu gives a summary and
258 structure of the attachements of the current message.
265 The <emphasis>alias</emphasis> menu lists all or a fraction of
274 The <emphasis>key</emphasis> menu used in connection with
276 users choose the right key to encrypt with.
286 When mutt-ng is started without any further options, it'll open
287 the users default mailbox and display the index.
298 <title>Configuration </title>
301 Mutt-ng does <emphasis>not</emphasis> feature an internal
303 interface or menu due to the simple fact that this would be too
304 complex to handle (currently there are several <emphasis>hundred</emphasis>
305 variables which fine-tune the behaviour.)
309 Mutt-ng is configured using configuration files which allow
310 users to add comments or manage them via version control systems
315 Also, mutt-ng comes with a shell script named <literal>grml-muttng</literal>
316 kindly contributed by users which really helps and eases the
317 creation of a user's configuration file. When downloading the
318 source code via a snapshot or via subversion, it can be found in
319 the <literal>contrib</literal> directory.
330 <title>Functions </title>
333 Mutt-ng offers great flexibility due to the use of functions:
334 internally, every action a user can make mutt-ng perform is named
335 ``function.'' Those functions are assigned to keys (or even key
336 sequences) and may be completely adjusted to user's needs. The
337 basic idea is that the impatient users get a very intuitive
338 interface to start off with and advanced users virtually get no
339 limits to adjustments.
350 <title>Interaction </title>
353 Mutt-ng has two basic concepts of user interaction:
362 There is one dedicated line on the screen used to query
363 the user for input, issue any command, query variables and
364 display error and informational messages. As for every type of
365 user input, this requires manual action leading to the need of
373 The automatized interface for interaction are the so
374 called <emphasis>hooks</emphasis>. Hooks specify actions the
376 performed at well-defined situations: what to do when entering
377 which folder, what to do when displaying or replying to what
378 kind of message, etc. These are optional, i.e. a user doesn't
379 need to specify them but can do so.
396 <title>Modularization </title>
399 Although mutt-ng has many functionality built-in, many
400 features can be delegated to external tools to increase
401 flexibility: users can define programs to filter a message through
402 before displaying, users can use any program they want for
403 displaying a message, message types (such as PDF or PostScript)
404 for which mutt-ng doesn't have a built-in filter can be rendered
405 by arbitrary tools and so forth. Although mutt-ng has an alias
406 mechanism built-in, it features using external tools to query for
407 nearly every type of addresses from sources like LDAP, databases
408 or just the list of locally known users.
419 <title>Patterns </title>
422 Mutt-ng has a built-in pattern matching ``language'' which is
423 as widely used as possible to present a consistent interface to
424 users. The same ``pattern terms'' can be used for searching,
425 scoring, message selection and much more.
444 <title>Screens and Menus </title>
447 <title>Index </title>
450 The index is the screen that you usually see first when you
451 start mutt-ng. It gives an overview over your emails in the
452 currently opened mailbox. By default, this is your system mailbox.
453 The information you see in the index is a list of emails, each with
454 its number on the left, its flags (new email, important email,
455 email that has been forwarded or replied to, tagged email, ...),
456 the date when email was sent, its sender, the email size, and the
457 subject. Additionally, the index also shows thread hierarchies:
458 when you reply to an email, and the other person replies back, you
459 can see the other's person email in a "sub-tree" below. This is
460 especially useful for personal email between a group of people or
461 when you've subscribed to mailing lists.
471 <title>Pager </title>
474 The pager is responsible for showing the email content. On the
475 top of the pager you have an overview over the most important email
476 headers like the sender, the recipient, the subject, and much more
477 information. How much information you actually see depends on your
478 configuration, which we'll describe below.
482 Below the headers, you see the email body which usually contains
483 the message. If the email contains any attachments, you will see
484 more information about them below the email body, or, if the
485 attachments are text files, you can view them directly in the
490 To give the user a good overview, it is possible to configure
491 mutt-ng to show different things in the pager with different
492 colors. Virtually everything that can be described with a regular
493 expression can be colored, e.g. URLs, email addresses or smileys.
503 <title>File Browser </title>
506 The file browser is the interface to the local or remote
507 file system. When selecting a mailbox to open, the browser allows
508 custom sorting of items, limiting the items shown by a regular
509 expression and a freely adjustable format of what to display in
510 which way. It also allows for easy navigation through the
511 file system when selecting file(s) to attach to a message, select
512 multiple files to attach and many more.
522 <title>Sidebar </title>
525 The sidebar comes in handy to manage mails which are spread
526 over different folders. All folders users setup mutt-ng to watch
527 for new mail will be listed. The listing includes not only the
528 name but also the number of total messages, the number of new and
529 flagged messages. Items with new mail may be colored different
530 from those with flagged mail, items may be shortened or compress
531 if they're they to long to be printed in full form so that by
532 abbreviated names, user still now what the name stands for.
545 The help screen is meant to offer a quick help to the user. It
546 lists the current configuration of key bindings and their
547 associated commands including a short description, and currently
548 unbound functions that still need to be associated with a key
549 binding (or alternatively, they can be called via the mutt-ng
560 <title>Compose Menu </title>
563 The compose menu features a split screen containing the
564 information which really matter before actually sending a
565 message by mail or posting an article to a newsgroup: who gets
566 the message as what (recipient, newsgroup, who gets what kind of
567 copy). Additionally, users may set security options like
568 deciding whether to sign, encrypt or sign and encrypt a message
573 Also, it's used to attach messages, news articles or files to
574 a message, to re-edit any attachment including the message
585 <title>Alias Menu </title>
588 The alias menu is used to help users finding the recipients
589 of messages. For users who need to contact many people, there's
590 no need to remember addresses or names completely because it
591 allows for searching, too. The alias mechanism and thus the
592 alias menu also features grouping several addresses by a shorter
593 nickname, the actual alias, so that users don't have to select
594 each single recipient manually.
604 <title>Attachment Menu </title>
607 As will be later discussed in detail, mutt-ng features a good
608 and stable MIME implementation, that is, is greatly supports
609 sending and receiving messages of arbitrary type. The
610 attachment menu displays a message's structure in detail: what
611 content parts are attached to which parent part (which gives a
612 true tree structure), which type is of what type and what size.
613 Single parts may saved, deleted or modified to offer great and
614 easy access to message's internals.
624 <title>Key Menu </title>
627 <literal>FIXME</literal>
644 <title>Moving Around in Menus </title>
647 Information is presented in menus, very similar to ELM. Here is a
648 tableshowing the common keys used to navigate menus in Mutt-ng.
654 <title>Default Menu Movement Keys</title>
655 <tgroup cols="3" align="left" colsep="1" rowsep="1">
659 <entry>Function</entry>
660 <entry>Description</entry>
665 <entry><code>j</code> or <code>Down</code></entry>
666 <entry><code>next-entry</code></entry>
667 <entry>move to the next entry</entry>
670 <entry><code>k</code> or <code>Up</code></entry>
671 <entry><code>previous-entry</code></entry>
672 <entry>move to the previous entry</entry>
675 <entry><code>z</code> or <code>PageDn</code></entry>
676 <entry><code>page-down</code></entry>
677 <entry>go to the next page</entry>
680 <entry><code>Z</code> or <code>PageUp</code></entry>
681 <entry><code>page-up</code></entry>
682 <entry>go to the previous page</entry>
685 <entry><code>=</code> or <code>Home</code></entry>
686 <entry><code>first-entry</code></entry>
687 <entry>jump to the first entry</entry>
690 <entry><code>*</code> or <code>End</code></entry>
691 <entry><code>last-entry</code></entry>
692 <entry>jump to the last entry</entry>
695 <entry><code>q</code></entry>
696 <entry><code>quit</code></entry>
697 <entry>exit the current menu</entry>
700 <entry><code>?</code></entry>
701 <entry><code>help</code></entry>
702 <entry>list all key bindings for the current menu</entry>
718 <sect1 id="editing"> <!--{{{-->
719 <title>Editing Input Fields </title>
722 Mutt-ng has a builtin line editor which is used as the primary way to
724 textual data such as email addresses or filenames. The keys used to
726 around while editing are very similar to those of Emacs.
732 <title>Built-In Editor Functions</title>
733 <tgroup cols="3" align="left" colsep="1" rowsep="1">
737 <entry>Function</entry>
738 <entry>Description</entry>
743 <entry><code>^A or <Home> </code></entry>
744 <entry><code>bol </code></entry>
745 <entry>move to the start of the line</entry>
748 <entry><code>^B or <Left> </code></entry>
749 <entry><code>backward-char </code>
750 </entry><entry>move back one char</entry>
753 <entry><code>Esc B </code></entry>
754 <entry><code>backward-word </code></entry>
755 <entry>move back one word</entry>
758 <entry><code>^D or <Delete> </code></entry>
759 <entry><code>delete-char </code></entry>
760 <entry>delete the char under the cursor</entry>
763 <entry><code>^E or <End> </code></entry>
764 <entry><code>eol </code></entry>
765 <entry>move to the end of the line</entry>
768 <entry><code>^F or <Right> </code></entry>
769 <entry><code>forward-char </code></entry>
770 <entry>move forward one char</entry>
773 <entry><code>Esc F </code></entry>
774 <entry><code>forward-word </code></entry>
775 <entry>move forward one word</entry>
778 <entry><code><Tab> </code></entry>
779 <entry><code>complete </code></entry>
780 <entry>complete filename or alias</entry>
783 <entry><code>^T </code></entry>
784 <entry><code>complete-query </code></entry>
785 <entry>complete address with query</entry>
788 <entry><code>^K </code></entry>
789 <entry><code>kill-eol </code></entry>
790 <entry>delete to the end of the line</entry>
793 <entry><code>ESC d </code></entry>
794 <entry><code>kill-eow </code></entry>
795 <entry>delete to the end of the word</entry>
798 <entry><code>^W </code></entry>
799 <entry><code>kill-word </code></entry>
800 <entry>kill the word in front of the cursor</entry>
803 <entry><code>^U </code></entry>
804 <entry><code>kill-line </code></entry>
805 <entry>delete entire line</entry>
808 <entry><code>^V </code></entry>
809 <entry><code>quote-char </code></entry>
810 <entry>quote the next typed key</entry>
813 <entry><code><Up> </code></entry>
814 <entry><code>history-up </code></entry>
815 <entry>recall previous string from history</entry>
818 <entry><code><Down> </code></entry>
819 <entry><code>history-down </code></entry>
820 <entry>recall next string from history</entry>
823 <entry><code><BackSpace> </code></entry>
824 <entry><code>backspace </code></entry>
825 <entry>kill the char in front of the cursor</entry>
828 <entry><code>Esc u </code></entry>
829 <entry><code>upcase-word </code></entry>
830 <entry>convert word to upper case</entry>
833 <entry><code>Esc l </code></entry>
834 <entry><code>downcase-word </code></entry>
835 <entry>convert word to lower case</entry>
838 <entry><code>Esc c </code></entry>
839 <entry><code>capitalize-word </code></entry>
840 <entry>capitalize the word</entry>
843 <entry><code>^G </code></entry>
844 <entry><code>n/a </code></entry>
848 <entry><code><Return> </code></entry>
849 <entry><code>n/a </code></entry>
850 <entry>finish editing</entry>
859 You can remap the <emphasis>editor</emphasis> functions using the <link linkend="bind">
862 command. For example, to make the <emphasis>Delete</emphasis> key
863 delete the character in
864 front of the cursor rather than under, you could use
868 <literal>bind editor <delete> backspace</literal>
879 <title>Reading Mail - The Index and Pager </title> <!--{{{-->
882 Similar to many other mail clients, there are two modes in which mail
883 isread in Mutt-ng. The first is the index of messages in the mailbox,
885 called the ``index'' in Mutt-ng. The second mode is the display of the
886 message contents. This is called the ``pager.''
890 The next few sections describe the functions provided in each of these
895 <title>The Message Index</title> <!--{{{-->
900 <title>Default Index Menu Bindings</title>
901 <tgroup cols="3" align="left" colsep="1" rowsep="1">
905 <entry>Function</entry>
906 <entry>Description</entry>
910 <row><entry><code>c </code></entry><entry><code></code></entry><entry>change to a different mailbox</entry></row>
911 <row><entry><code>ESC c </code></entry><entry><code></code></entry><entry>change to a folder in read-only mode</entry></row>
912 <row><entry><code>C </code></entry><entry><code></code></entry><entry>copy the current message to another mailbox</entry></row>
913 <row><entry><code>ESC C </code></entry><entry><code></code></entry><entry>decode a message and copy it to a folder</entry></row>
914 <row><entry><code>ESC s </code></entry><entry><code></code></entry><entry>decode a message and save it to a folder</entry></row>
915 <row><entry><code>D </code></entry><entry><code></code></entry><entry>delete messages matching a pattern</entry></row>
916 <row><entry><code>d </code></entry><entry><code></code></entry><entry>delete the current message</entry></row>
917 <row><entry><code>F </code></entry><entry><code></code></entry><entry>mark as important</entry></row>
918 <row><entry><code>l </code></entry><entry><code></code></entry><entry>show messages matching a pattern</entry></row>
919 <row><entry><code>N </code></entry><entry><code></code></entry><entry>mark message as new</entry></row>
920 <row><entry><code>o </code></entry><entry><code></code></entry><entry>change the current sort method</entry></row>
921 <row><entry><code>O </code></entry><entry><code></code></entry><entry>reverse sort the mailbox</entry></row>
922 <row><entry><code>q </code></entry><entry><code></code></entry><entry>save changes and exit</entry></row>
923 <row><entry><code>s </code></entry><entry><code></code></entry><entry>save-message</entry></row>
924 <row><entry><code>T </code></entry><entry><code></code></entry><entry>tag messages matching a pattern</entry></row>
925 <row><entry><code>t </code></entry><entry><code></code></entry><entry>toggle the tag on a message</entry></row>
926 <row><entry><code>ESC t </code></entry><entry><code></code></entry><entry>toggle tag on entire message thread</entry></row>
927 <row><entry><code>U </code></entry><entry><code></code></entry><entry>undelete messages matching a pattern</entry></row>
928 <row><entry><code>u </code></entry><entry><code></code></entry><entry>undelete-message</entry></row>
929 <row><entry><code>v </code></entry><entry><code></code></entry><entry>view-attachments</entry></row>
930 <row><entry><code>x </code></entry><entry><code></code></entry><entry>abort changes and exit</entry></row>
931 <row><entry><code><Return> </code></entry><entry><code></code></entry><entry>display-message</entry></row>
932 <row><entry><code><Tab> </code></entry><entry><code></code></entry><entry>jump to the next new message</entry></row>
933 <row><entry><code>@ </code></entry><entry><code></code></entry><entry>show the author's full e-mail address</entry></row>
934 <row><entry><code>$ </code></entry><entry><code></code></entry><entry>save changes to mailbox</entry></row>
935 <row><entry><code>/ </code></entry><entry><code></code></entry><entry>search</entry></row>
936 <row><entry><code>ESC / </code></entry><entry><code></code></entry><entry>search-reverse</entry></row>
937 <row><entry><code>^L </code></entry><entry><code></code></entry><entry>clear and redraw the screen</entry></row>
938 <row><entry><code>^T </code></entry><entry><code></code></entry><entry>untag messages matching a pattern</entry></row>
946 <title>Status Flags</title> <!--{{{-->
949 In addition to who sent the message and the subject, a short
951 the disposition of each message is printed beside the message
953 Zero or more of the following ``flags'' may appear, which mean:
964 message is deleted (is marked for deletion)
972 message have attachments marked for deletion
980 contains a PGP public key
1004 message is PGP encrypted
1012 message has been replied to
1020 message is signed, and the signature is succesfully
1053 Some of the status flags can be turned on or off using
1059 <emphasis role="bold">set-flag</emphasis> (default: w)
1065 <emphasis role="bold">clear-flag</emphasis> (default: W)
1074 Furthermore, the following flags reflect who the message is
1076 to. They can be customized with the
1077 <link linkend="to-chars">$to_chars</link> variable.
1087 message is to you and you only
1095 message is to you, but also to or cc'ed to others
1103 message is cc'ed to you
1119 message is sent to a subscribed mailing list
1133 <title>The Pager</title> <!--{{{-->
1136 By default, Mutt-ng uses its builtin pager to display the body of
1138 The pager is very similar to the Unix program <emphasis>less</emphasis> though not nearly as
1145 <title>Default Pager Menu Bindings</title>
1146 <tgroup cols="3" align="left" colsep="1" rowsep="1">
1150 <entry>Function</entry>
1151 <entry>Description</entry>
1155 <row><entry><code><Return> </code></entry><entry><code></code></entry><entry>go down one line</entry></row>
1156 <row><entry><code><Space> </code></entry><entry><code></code></entry><entry>display the next page (or next message if at the end of a message)</entry></row>
1157 <row><entry><code>- </code></entry><entry><code></code></entry><entry>go back to the previous page</entry></row>
1158 <row><entry><code>n </code></entry><entry><code></code></entry><entry>search for next match</entry></row>
1159 <row><entry><code>S </code></entry><entry><code></code></entry><entry>skip beyond quoted text</entry></row>
1160 <row><entry><code>T </code></entry><entry><code></code></entry><entry>toggle display of quoted text</entry></row>
1161 <row><entry><code>? </code></entry><entry><code></code></entry><entry>show key bindings</entry></row>
1162 <row><entry><code>/ </code></entry><entry><code></code></entry><entry>search for a regular expression (pattern)</entry></row>
1163 <row><entry><code>ESC / </code></entry><entry><code></code></entry><entry>search backwards for a regular expression</entry></row>
1164 <row><entry><code>\ </code></entry><entry><code></code></entry><entry>toggle search pattern coloring</entry></row>
1165 <row><entry><code>^ </code></entry><entry><code></code></entry><entry>jump to the top of the message</entry></row>
1174 In addition, many of the functions from the <emphasis>index</emphasis> are available in
1175 the pager, such as <emphasis>delete-message</emphasis> or <emphasis>
1179 advantage over using an external pager to view messages).
1183 Also, the internal pager supports a couple other advanced features.
1185 one, it will accept and translate the ``standard'' nroff sequences
1186 forbold and underline. These sequences are a series of either the
1188 backspace (ˆH), the letter again for bold or the letter,
1190 ``_'' for denoting underline. Mutt-ng will attempt to display
1192 in bold and underline respectively if your terminal supports them. If
1193 not, you can use the bold and underline <link
1194 linkend="color">color</link>
1195 objects to specify a color or mono attribute for them.
1199 Additionally, the internal pager supports the ANSI escape
1200 sequences for character attributes. Mutt-ng translates them
1201 into the correct color and character settings. The sequences
1202 Mutt-ng supports are: <literal>ESC [ Ps;Ps;Ps;...;Ps
1203 m</literal> (see table below for possible values for
1210 <title>ANSI Escape Sequences</title>
1211 <tgroup cols="2" align="left" colsep="1" rowsep="1">
1214 <entry>Value</entry>
1215 <entry>Attribute</entry>
1219 <row><entry><code>0 </code></entry><entry>All Attributes Off</entry></row>
1220 <row><entry><code>1 </code></entry><entry>Bold on</entry></row>
1221 <row><entry><code>4 </code></entry><entry>Underline on</entry></row>
1222 <row><entry><code>5 </code></entry><entry>Blink on</entry></row>
1223 <row><entry><code>7 </code></entry><entry>Reverse video on</entry></row>
1224 <row><entry><code>3x </code></entry><entry>Foreground color is x (see table below)</entry></row>
1225 <row><entry><code>4x </code></entry><entry>Background color is x (see table below)</entry></row>
1232 <title>ANSI Colors</title>
1233 <tgroup cols="2" align="left" colsep="1" rowsep="1">
1236 <entry>Number</entry>
1237 <entry>Color</entry>
1241 <row><entry><code>0 </code></entry><entry>black</entry></row>
1242 <row><entry><code>1 </code></entry><entry>red</entry></row>
1243 <row><entry><code>2 </code></entry><entry>green</entry></row>
1244 <row><entry><code>3 </code></entry><entry>yellow</entry></row>
1245 <row><entry><code>4 </code></entry><entry>blue</entry></row>
1246 <row><entry><code>5 </code></entry><entry>magenta</entry></row>
1247 <row><entry><code>6 </code></entry><entry>cyan</entry></row>
1248 <row><entry><code>7 </code></entry><entry>white</entry></row>
1257 Mutt-ng uses these attributes for handling text/enriched messages,
1259 can also be used by an external <link
1260 linkend="auto-view">autoview</link>
1261 script for highlighting purposes. <emphasis role="bold">Note:</emphasis> If you change the colors for your
1262 display, for example by changing the color associated with color2 for
1263 your xterm, then that color will be used instead of green.
1269 <sect2 id="threads">
1270 <title>Threaded Mode</title> <!--{{{-->
1273 When the mailbox is <link linkend="sort">sorted</link> by <emphasis>
1277 a few additional functions available in the <emphasis>index</emphasis> and <emphasis>
1286 <title>Default Thread Function Bindings</title>
1287 <tgroup cols="3" align="left" colsep="1" rowsep="1">
1291 <entry>Function</entry>
1292 <entry>Description</entry>
1296 <row><entry><code>^D </code></entry><entry><code>delete-thread </code></entry><entry>delete all messages in the current thread</entry></row>
1297 <row><entry><code>^U </code></entry><entry><code>undelete-thread </code></entry><entry>undelete all messages in the current thread</entry></row>
1298 <row><entry><code>^N </code></entry><entry><code>next-thread </code></entry><entry>jump to the start of the next thread</entry></row>
1299 <row><entry><code>^P </code></entry><entry><code>previous-thread </code></entry><entry>jump to the start of the previous thread</entry></row>
1300 <row><entry><code>^R </code></entry><entry><code>read-thread </code></entry><entry>mark the current thread as read</entry></row>
1301 <row><entry><code>ESC d </code></entry><entry><code>delete-subthread </code></entry><entry>delete all messages in the current subthread</entry></row>
1302 <row><entry><code>ESC u </code></entry><entry><code>undelete-subthread </code></entry><entry>undelete all messages in the current subthread</entry></row>
1303 <row><entry><code>ESC n </code></entry><entry><code>next-subthread </code></entry><entry>jump to the start of the next subthread</entry></row>
1304 <row><entry><code>ESC p </code></entry><entry><code>previous-subthread </code></entry><entry>jump to the start of the previous subthread</entry></row>
1305 <row><entry><code>ESC r </code></entry><entry><code>read-subthread </code></entry><entry>mark the current subthread as read </entry></row>
1306 <row><entry><code>ESC t </code></entry><entry><code>tag-thread </code></entry><entry>toggle the tag on the current thread</entry></row>
1307 <row><entry><code>ESC v </code></entry><entry><code>collapse-thread </code></entry><entry>toggle collapse for the current thread</entry></row>
1308 <row><entry><code>ESC V </code></entry><entry><code>collapse-all </code></entry><entry>toggle collapse for all threads</entry></row>
1309 <row><entry><code>P </code></entry><entry><code>parent-message </code></entry><entry>jump to parent message in thread</entry></row>
1318 <emphasis role="bold">Note:</emphasis> Collapsing a thread displays
1319 only the first message
1320 in the thread and hides the others. This is useful when threads
1321 contain so many messages that you can only see a handful of threads
1322 onthe screen. See %M in <link
1323 linkend="index-format">
1327 For example, you could use
1328 "%?M?(#%03M)&(%4l)?" in <link linkend="index-format">
1332 display the number of hidden messages if the thread is collapsed.
1336 See also: <link linkend="strict-threads">strict-threads</link>.
1343 <title>Miscellaneous Functions</title> <!--{{{-->
1346 <emphasis role="bold">create-alias</emphasis><anchor id="create-alias"/>
1352 Creates a new alias based upon the current message (or prompts for a
1353 new one). Once editing is complete, an <link linkend="alias">alias</link>
1354 command is added to the file specified by the <link linkend="alias-file">
1357 variable for future use. <emphasis role="bold">Note:</emphasis>
1358 Specifying an <link linkend="alias-file">alias-file</link>
1359 does not add the aliases specified there-in, you must also <link linkend="source">
1366 <emphasis role="bold">check-traditional-pgp</emphasis><anchor id="check-traditional-pgp"/>
1372 This function will search the current message for content signed or
1373 encrypted with PGP the "traditional" way, that is, without proper
1374 MIME tagging. Technically, this function will temporarily change
1375 the MIME content types of the body parts containing PGP data; this
1376 is similar to the <link linkend="edit-type">edit-type</link>
1382 <emphasis role="bold">display-toggle-weed</emphasis><anchor id="display-toggle-weed"/>
1388 Toggles the weeding of message header fields specified by <link linkend="ignore">
1395 <emphasis role="bold">edit</emphasis><anchor id="edit"/>
1401 This command (available in the ``index'' and ``pager'') allows you to
1402 edit the raw current message as it's present in the mail folder.
1403 After you have finished editing, the changed message will be
1404 appended to the current folder, and the original message will be
1405 marked for deletion.
1409 <emphasis role="bold">edit-type</emphasis><anchor id="edit-type"/>
1411 (default: ˆE on the attachment menu, and in the pager and index
1412 menus; ˆT on the
1417 This command is used to temporarily edit an attachment's content
1418 type to fix, for instance, bogus character set parameters. When
1419 invoked from the index or from the pager, you'll have the
1420 opportunity to edit the top-level attachment's content type. On the
1421 <link linkend="attach-menu">attach-menu</link>, you can change any
1422 attachment's content type. These changes are not persistent, and get
1423 lost upon changing folders.
1427 Note that this command is also available on the <link linkend="compose-menu">
1430 .There, it's used to
1431 fine-tune the properties of attachments you are going to send.
1435 <emphasis role="bold">enter-command</emphasis><anchor id="enter-command"/>
1441 This command is used to execute any command you would normally put in
1443 configuration file. A common use is to check the settings of
1445 in conjunction with <link linkend="macro">macro</link> to change
1451 <emphasis role="bold">extract-keys</emphasis><anchor id="extract-keys"/>
1457 This command extracts PGP public keys from the current or tagged
1458 message(s) and adds them to your PGP public key ring.
1462 <emphasis role="bold">forget-passphrase</emphasis><anchor id="forget-passphrase"/>
1469 This command wipes the passphrase(s) from memory. It is useful, if
1470 you misspelled the passphrase.
1474 <emphasis role="bold">list-reply</emphasis><anchor id="func-list-reply"/>
1480 Reply to the current or tagged message(s) by extracting any addresses
1482 match the regular expressions given by the <link linkend="lists">
1485 commands, but also honor any <literal>Mail-Followup-To</literal>
1487 <link linkend="honor-followup-to">honor-followup-to</link>
1488 configuration variable is set. Using this when replying to messages
1490 to mailing lists helps avoid duplicate copies being sent to the
1492 the message you are replying to.
1496 <emphasis role="bold">pipe-message</emphasis><anchor id="pipe-message"/>
1502 Asks for an external Unix command and pipes the current or
1503 tagged message(s) to it. The variables <link linkend="pipe-decode">
1506 ,<link linkend="pipe-split">pipe-split</link>, <link linkend="pipe-sep">
1509 and <link linkend="wait-key">wait-key</link> control the exact
1515 <emphasis role="bold">resend-message</emphasis><anchor id="resend-message"/>
1521 With resend-message, mutt takes the current message as a template for
1523 new message. This function is best described as "recall from
1525 folders". It can conveniently be used to forward MIME messages while
1526 preserving the original mail structure. Note that the amount of
1528 included here depends on the value of the <link linkend="weed">weed</link>
1533 This function is also available from the attachment menu. You can use
1535 to easily resend a message which was included with a bounce message
1536 as a message/rfc822 body part.
1540 <emphasis role="bold">shell-escape</emphasis><anchor id="shell-escape"/>
1546 Asks for an external Unix command and executes it. The <link linkend="wait-key">
1549 can be used to control
1550 whether Mutt-ng will wait for a key to be pressed when the command
1552 (presumably to let the user read the output of the command), based on
1553 the return status of the named command.
1557 <emphasis role="bold">toggle-quoted</emphasis><anchor id="toggle-quoted"/>
1563 The <emphasis>pager</emphasis> uses the <link linkend="quote-regexp">
1566 variable to detect quoted text when
1567 displaying the body of the message. This function toggles the
1568 displayof the quoted material in the message. It is particularly
1570 are interested in just the response and there is a large amount of
1571 quoted text in the way.
1575 <emphasis role="bold">skip-quoted</emphasis><anchor id="skip-quoted"/>
1581 This function will go to the next line of non-quoted text which come
1582 after a line of quoted text in the internal pager.
1596 <title>Sending Mail </title> <!--{{{-->
1599 The following bindings are available in the <emphasis>index</emphasis>
1607 <title>Default Mail Composition Bindings</title>
1608 <tgroup cols="3" align="left" colsep="1" rowsep="1">
1612 <entry>Function</entry>
1613 <entry>Description</entry>
1617 <row><entry><code>m </code></entry><entry><code>compose </code></entry><entry>compose a new message</entry></row>
1618 <row><entry><code>r </code></entry><entry><code>reply </code></entry><entry>reply to sender</entry></row>
1619 <row><entry><code>g </code></entry><entry><code>group-reply </code></entry><entry>reply to all recipients</entry></row>
1620 <row><entry><code>L </code></entry><entry><code>list-reply </code></entry><entry>reply to mailing list address</entry></row>
1621 <row><entry><code>f </code></entry><entry><code>forward </code></entry><entry>forward message</entry></row>
1622 <row><entry><code>b </code></entry><entry><code>bounce </code></entry><entry>bounce (remail) message</entry></row>
1623 <row><entry><code>ESC k </code></entry><entry><code>mail-key </code></entry><entry>mail a PGP public key to someone</entry></row>
1631 Bouncing a message sends the message as is to the recipient you
1632 specify. Forwarding a message allows you to add comments or
1633 modify the message you are forwarding. These items are discussed
1634 in greater detail in the next chapter <link linkend="forwarding-mail">
1641 <title>Composing new messages </title> <!--{{{-->
1644 When you want to send an email using mutt-ng, simply press <literal>m</literal> on
1645 your keyboard. Then, mutt-ng asks for the recipient via a prompt in
1657 After you've finished entering the recipient(s), press return. If you
1658 want to send an email to more than one recipient, separate the email
1659 addresses using the comma "<literal>,</literal>". Mutt-ng then asks
1661 subject. Again, press return after you've entered it. After that,
1663 got the most important information from you, and starts up an editor
1664 where you can then enter your email.
1668 The editor that is called is selected in the following way: you
1669 can e.g. set it in the mutt-ng configuration:
1675 set editor = "vim +/^$/ -c ':set tw=72'"
1677 set editor = "emacs"</screen>
1682 If you don't set your preferred editor in your configuration, mutt-ng
1683 first looks whether the environment variable <literal>$VISUAL</literal> is set, and if
1684 so, it takes its value as editor command. Otherwise, it has a look
1685 at <literal>$EDITOR</literal> and takes its value if it is set. If no
1687 can be found, mutt-ng simply assumes <literal>vi</literal> to be the
1689 since it's the most widespread editor in the Unix world and it's
1691 safe to assume that it is installed and available.
1695 When you've finished entering your message, save it and quit your
1696 editor. Mutt-ng will then present you with a summary screen, the
1698 On the top, you see a summary of the most important available key
1700 Below that, you see the sender, the recipient(s), Cc and/or Bcc
1701 recipient(s), the subject, the reply-to address, and optionally
1702 information where the sent email will be stored and whether it should
1703 be digitally signed and/or encrypted.
1707 Below that, you see a list of "attachments". The mail you've just
1708 entered before is also an attachment, but due to its special type
1709 (it's plain text), it will be displayed as the normal message on
1710 the receiver's side.
1714 At this point, you can add more attachments, pressing <literal>a</literal>, you
1715 can edit the recipient addresses, pressing <literal>t</literal> for
1717 <literal>c</literal> for the "Cc:" field, and <literal>b</literal>
1718 for the "Bcc: field. You can
1719 also edit the subject the subject by simply pressing <literal>s</literal> or the
1720 email message that you've entered before by pressing <literal>e</literal>. You will
1721 then again return to the editor. You can even edit the sender, by
1723 <literal><esc>f</literal>, but this shall only be used with
1728 Alternatively, you can configure mutt-ng in a way that most of the
1729 above settings can be edited using the editor. Therefore, you only
1730 need to add the following to your configuration:
1736 set edit_headers</screen>
1741 Once you have finished editing the body of your mail message, you are
1742 returned to the <emphasis>compose</emphasis> menu. The following
1743 options are available:
1749 <title>Default Compose Menu Bindings</title>
1750 <tgroup cols="3" align="left" colsep="1" rowsep="1">
1754 <entry>Function</entry>
1755 <entry>Description</entry>
1759 <row><entry><code>a </code></entry><entry><code>attach-file </code></entry><entry>attach a file</entry></row>
1760 <row><entry><code>A </code></entry><entry><code>attach-message </code></entry><entry>attach message(s) to the message</entry></row>
1761 <row><entry><code>ESC k </code></entry><entry><code>attach-key </code></entry><entry>attach a PGP public key</entry></row>
1762 <row><entry><code>d </code></entry><entry><code>edit-description </code></entry><entry>edit description on attachment</entry></row>
1763 <row><entry><code>D </code></entry><entry><code>detach-file </code></entry><entry>detach a file</entry></row>
1764 <row><entry><code>t </code></entry><entry><code>edit-to </code></entry><entry>edit the To field</entry></row>
1765 <row><entry><code>ESC f </code></entry><entry><code>edit-from </code></entry><entry>edit the From field</entry></row>
1766 <row><entry><code>r </code></entry><entry><code>edit-reply-to </code></entry><entry>edit the Reply-To field</entry></row>
1767 <row><entry><code>c </code></entry><entry><code>edit-cc </code></entry><entry>edit the Cc field</entry></row>
1768 <row><entry><code>b </code></entry><entry><code>edit-bcc </code></entry><entry>edit the Bcc field</entry></row>
1769 <row><entry><code>y </code></entry><entry><code>send-message </code></entry><entry>send the message</entry></row>
1770 <row><entry><code>s </code></entry><entry><code>edit-subject </code></entry><entry>edit the Subject</entry></row>
1771 <row><entry><code>S </code></entry><entry><code>smime-menu </code></entry><entry>select S/MIME options</entry></row>
1772 <row><entry><code>f </code></entry><entry><code>edit-fcc </code></entry><entry>specify an ``Fcc'' mailbox</entry></row>
1773 <row><entry><code>p </code></entry><entry><code>pgp-menu </code></entry><entry>select PGP options</entry></row>
1774 <row><entry><code>P </code></entry><entry><code>postpone-message </code></entry><entry>postpone this message until later</entry></row>
1775 <row><entry><code>q </code></entry><entry><code>quit </code></entry><entry>quit (abort) sending the message</entry></row>
1776 <row><entry><code>w </code></entry><entry><code>write-fcc </code></entry><entry>write the message to a folder</entry></row>
1777 <row><entry><code>i </code></entry><entry><code>ispell </code></entry><entry>check spelling (if available on your system)</entry></row>
1778 <row><entry><code>^F </code></entry><entry><code>forget-passphrase </code></entry><entry>wipe passphrase(s) from memory</entry></row>
1786 <emphasis role="bold">Note:</emphasis> The attach-message function
1787 will prompt you for a folder to
1788 attach messages from. You can now tag messages in that folder and
1789 theywill be attached to the message you are sending. Note that
1790 certainoperations like composing a new mail, replying, forwarding,
1792 not permitted when you are in that folder. The %r in <link linkend="status-format">
1796 a 'A' to indicate that you are in attach-message mode.
1807 <title>Replying </title> <!--{{{-->
1810 <title>Simple Replies </title> <!--{{{-->
1813 When you want to reply to an email message, select it in the index
1814 menu and then press <literal>r</literal>. Mutt-ng's behaviour is
1816 behaviour when you compose a message: first, you will be asked for
1817 the recipient, then for the subject, and then, mutt-ng will start
1818 the editor with the quote attribution and the quoted message. This
1819 can e.g. look like the example below.
1825 On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
1826 > Bill, can you please send last month's progress report to Mr.
1827 > Morgan? We also urgently need the cost estimation for the new
1828 > production server that we want to set up before our customer's
1829 > project will go live.</screen>
1834 You can start editing the email message. It is strongly
1835 recommended to put your answer <emphasis>below</emphasis> the
1837 only quote what is really necessary and that you refer to. Putting
1838 your answer on top of the quoted message, is, although very
1839 widespread, very often not considered to be a polite way to answer
1844 The quote attribution is configurable, by default it is set to
1847 set attribution = "On %d, %n wrote:"</screen>
1852 It can also be set to something more compact, e.g.
1855 set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"</screen>
1860 The example above results in the following attribution:
1863 * Michael Svensson <svensson@foobar.com> [05-03-06 17:02]:
1864 > Bill, can you please send last month's progress report to Mr.
1865 > Morgan? We also urgently need the cost estimation for the new
1866 > production server that we want to set up before our customer's
1867 > project will go live.</screen>
1872 Generally, try to keep your attribution short yet
1873 information-rich. It is <emphasis>not</emphasis> the right place
1875 long "attribution" novels or anything like that: the right place
1876 for such things is - if at all - the email signature at the very
1877 bottom of the message.
1881 When you're done with writing your message, save and quit the
1882 editor. As before, you will return to the compose menu, which is
1883 used in the same way as before.
1894 <title>Group Replies </title> <!--{{{-->
1897 In the situation where a group of people uses email as a
1898 discussion, most of the emails will have one or more recipients,
1899 and probably several "Cc:" recipients. The group reply
1900 functionalityensures that when you press <literal>g</literal>
1901 instead of <literal>r</literal> to do a reply,
1902 each and every recipient that is contained in the original message
1903 will receive a copy of the message, either as normal recipient or
1915 <title>List Replies </title> <!--{{{-->
1918 When you use mailing lists, it's generally better to send your
1919 reply to a message only to the list instead of the list and the
1920 original author. To make this easy to use, mutt-ng features list
1925 To do a list reply, simply press <literal>L</literal>. If the email
1927 a <literal>Mail-Followup-To:</literal> header, its value will be
1929 address. Otherwise, mutt-ng searches through all mail addresses in
1930 the original message and tries to match them a list of regular
1931 expressions which can be specified using the <literal>lists</literal> command.
1932 If any of the regular expression matches, a mailing
1933 list address has been found, and it will be used as reply address.
1939 lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@</screen>
1944 Nowadays, most mailing list software like GNU Mailman adds a
1945 <literal>Mail-Followup-To:</literal> header to their emails anyway,
1947 <literal>lists</literal> is hardly ever necessary in practice.
1965 <title>Editing the message header </title>
1968 When editing the header of your outgoing message, there are a couple
1970 special features available.
1976 <literal>Fcc:</literal> <emphasis>filename</emphasis>
1978 Mutt-ng will pick up <emphasis>filename</emphasis>
1979 just as if you had used the <emphasis>edit-fcc</emphasis> function in
1980 the <emphasis>compose</emphasis> menu.
1984 You can also attach files to your message by specifying
1986 <literal>Attach:</literal> <emphasis>filename</emphasis> [ <emphasis>
1991 where <emphasis>filename</emphasis> is the file to attach and <emphasis>
1995 optional string to use as the description of the attached file.
1999 When replying to messages, if you remove the <emphasis>In-Reply-To:</emphasis> field from
2000 the header field, Mutt-ng will not generate a <emphasis>References:</emphasis> field, which
2001 allows you to create a new message thread.
2005 Also see <link linkend="edit-headers">edit-headers</link>.
2015 <title>Using Mutt-ng with PGP </title>
2018 If you want to use PGP, you can specify
2022 <literal>Pgp:</literal> [ <literal>E</literal> | <literal>
2025 | <literal>S</literal><emphasis><id></emphasis> ]
2030 ``E'' encrypts, ``S'' signs and
2031 ``S<id>'' signs with the given key, setting <link linkend="pgp-sign-as">
2038 If you have told mutt to PGP encrypt a message, it will guide you
2039 through a key selection process when you try to send the message.
2040 Mutt-ng will not ask you any questions about keys which have a
2041 certified user ID matching one of the message recipients' mail
2042 addresses. However, there may be situations in which there are
2043 several keys, weakly certified user ID fields, or where no matching
2048 In these cases, you are dropped into a menu with a list of keys from
2049 which you can select one. When you quit this menu, or mutt can't
2050 find any matching keys, you are prompted for a user ID. You can, as
2051 usually, abort this prompt using <literal>ˆG</literal>. When
2052 you do so, mutt will
2053 return to the compose screen.
2057 Once you have successfully finished the key selection, the message
2058 will be encrypted using the selected public keys, and sent out.
2062 Most fields of the entries in the key selection menu (see also <link linkend="pgp-entry-format">
2066 have obvious meanings. But some explanations on the capabilities,
2068 and validity fields are in order.
2072 The flags sequence (%f) will expand to one of the following
2077 <title>PGP Key Menu Flags</title>
2078 <tgroup cols="2" align="left" colsep="1" rowsep="1">
2082 <entry>Description</entry>
2086 <row><entry><code>R </code></entry><entry>The key has been revoked and can't be used.</entry></row>
2087 <row><entry><code>X </code></entry><entry>The key is expired and can't be used.</entry></row>
2088 <row><entry><code>d </code></entry><entry>You have marked the key as disabled.</entry></row>
2089 <row><entry><code>c </code></entry><entry>There are unknown critical self-signature packets.</entry></row>
2097 The capabilities field (%c) expands to a two-character
2098 sequencerepresenting a key's capabilities. The first character gives
2099 the key's encryption capabilities: A minus sign (<emphasis role="bold">
2103 that the key cannot be used for encryption. A dot (<emphasis role="bold">
2107 it's marked as a signature key in one of the user IDs, but may
2108 also be used for encryption. The letter <emphasis role="bold">e</emphasis> indicates that
2109 this key can be used for encryption.
2113 The second character indicates the key's signing capabilities. Once
2114 again, a ``<emphasis role="bold">-</emphasis>'' implies ``not for
2115 signing'', ``<emphasis role="bold">.</emphasis>'' implies
2116 that the key is marked as an encryption key in one of the user-ids,
2118 ``<emphasis role="bold">s</emphasis>'' denotes a key which can be
2123 Finally, the validity field (%t) indicates how well-certified
2125 is. A question mark (<emphasis role="bold">?</emphasis>) indicates
2126 undefined validity, a minus
2127 character (<emphasis role="bold">-</emphasis>) marks an untrusted
2128 association, a space character
2129 means a partially trusted association, and a plus character (<emphasis role="bold">
2133 indicates complete validity.
2143 <title>Sending anonymous messages via mixmaster </title>
2146 You may also have configured mutt to co-operate with Mixmaster, an
2147 anonymous remailer. Mixmaster permits you to send your messages
2148 anonymously using a chain of remailers. Mixmaster support in mutt is
2150 mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03.
2151 It does not support earlier versions or the later so-called version 3
2153 of which the latest appears to be called 2.9b23.
2157 To use it, you'll have to obey certain restrictions. Most
2158 important, you cannot use the <literal>Cc</literal> and <literal>Bcc</literal> headers. To tell
2159 Mutt-ng to use mixmaster, you have to select a remailer chain, using
2160 the mix function on the compose menu.
2164 The chain selection screen is divided into two parts. In the
2165 (larger) upper part, you get a list of remailers you may use. In
2166 the lower part, you see the currently selected chain of remailers.
2170 You can navigate in the chain using the <literal>chain-prev</literal>
2172 <literal>chain-next</literal> functions, which are by default bound
2174 and right arrows and to the <literal>h</literal> and <literal>l</literal> keys (think vi
2175 keyboard bindings). To insert a remailer at the current chain
2176 position, use the <literal>insert</literal> function. To append a
2178 the current chain position, use <literal>select-entry</literal> or <literal>
2182 You can also delete entries from the chain, using the corresponding
2183 function. Finally, to abandon your changes, leave the menu, or
2184 <literal>accept</literal> them pressing (by default) the <literal>
2191 Note that different remailers do have different capabilities,
2192 indicated in the %c entry of the remailer menu lines (see
2193 <link linkend="mix-entry-format">mix-entry-format</link>). Most
2195 the ``middleman'' capability, indicated by a capital ``M'': This
2196 means that the remailer in question cannot be used as the final
2197 element of a chain, but will only forward messages to other
2198 mixmaster remailers. For details on the other capabilities, please
2199 have a look at the mixmaster documentation.
2214 <sect1 id="forwarding-mail">
2215 <title>Forwarding and Bouncing Mail </title>
2218 Often, it is necessary to forward mails to other people.
2219 Therefore, mutt-ng supports forwarding messages in two different
2224 The first one is regular forwarding, as you probably know it from
2225 other mail clients. You simply press <literal>f</literal>, enter the
2227 email address, the subject of the forwarded email, and then you can
2228 edit the message to be forwarded in the editor. The forwarded
2229 message is separated from the rest of the message via the two
2236 ----- Forwarded message from Lucas User <luser@example.com> -----
2238 From: Lucas User <luser@example.com>
2239 Date: Thu, 02 Dec 2004 03:08:34 +0100
2240 To: Michael Random <mrandom@example.com>
2241 Subject: Re: blackmail
2243 Pay me EUR 50,000.- cash or your favorite stuffed animal will die
2246 ----- End forwarded message -----</screen>
2251 When you're done with editing the mail, save and quit the editor,
2252 and you will return to the compose menu, the same menu you also
2253 encounter when composing or replying to mails.
2257 The second mode of forwarding emails with mutt-ng is the
2258 so-called <emphasis>bouncing</emphasis>: when you bounce an email to
2260 address, it will be sent in practically the same format you send it
2261 (except for headers that are created during transporting the
2262 message). To bounce a message, press <literal>b</literal> and enter the
2264 email address. By default, you are then asked whether you really
2265 want to bounce the message to the specified recipient. If you answer
2266 with yes, the message will then be bounced.
2270 To the recipient, the bounced email will look as if he got it
2271 like a regular email where he was <literal>Bcc:</literal> recipient.
2273 possibility to find out whether it was a bounced email is to
2274 carefully study the email headers and to find out which host really
2284 <sect1 id="postponing-mail">
2285 <title>Postponing Mail </title>
2288 At times it is desirable to delay sending a message that you have
2289 already begun to compose. When the <emphasis>postpone-message</emphasis> function is
2290 used in the <emphasis>compose</emphasis> menu, the body of your message
2292 are stored in the mailbox specified by the <link linkend="postponed">
2295 variable. This means that you can recall the
2296 message even if you exit Mutt-ng and then restart it at a later time.
2300 Once a message is postponed, there are several ways to resume it. From
2302 command line you can use the ``-p'' option, or if you <emphasis>compose</emphasis> a new
2303 message from the <emphasis>index</emphasis> or <emphasis>pager</emphasis> you will be prompted if postponed
2304 messages exist. If multiple messages are currently postponed, the
2305 <emphasis>postponed</emphasis> menu will pop up and you can select
2306 which message you would
2311 <emphasis role="bold">Note:</emphasis> If you postpone a reply to a
2312 message, the reply setting of
2313 the message is only updated when you actually finish the message and
2314 send it. Also, you must be in the same folder with the message you
2315 replied to for the status of the message to be updated.
2319 See also the <link linkend="postpone">postpone</link> quad-option.
2335 <title>Configuration </title>
2338 <title>Locations of Configuration Files </title>
2341 While the default configuration (or ``preferences'') make Mutt-ng
2343 of the box, it is often desirable to tailor Mutt-ng to suit your own
2345 Mutt-ng is first invoked, it will attempt to read the ``system''
2347 file (defaults set by your local system administrator), unless the
2348 ``-n'' <link linkend="commandline">commandline</link> option is
2349 specified. This file is
2350 typically <literal>/usr/local/share/muttng/Muttngrc</literal> or <literal>
2354 Mutt-ng users will find this file in <literal>
2355 /usr/local/share/muttng/Muttrc
2358 <literal>/etc/Muttngrc</literal>. Mutt will next look for a file named <literal>
2361 in your home directory, Mutt-ng will look for <literal>.muttngrc</literal>. If this file
2362 does not exist and your home directory has a subdirectory named <literal>
2366 mutt try to load a file named <literal>.muttng/muttngrc</literal>.
2370 <literal>.muttrc</literal> (or <literal>.muttngrc</literal> for
2371 Mutt-ng) is the file where you will
2372 usually place your <link linkend="commands">commands</link> to
2382 <sect1 id="muttrc-syntax">
2383 <title>Basic Syntax of Initialization Files </title>
2386 An initialization file consists of a series of <link linkend="commands">
2389 .Each line of the file may contain one or more commands.
2390 When multiple commands are used, they must be separated by a semicolon
2394 set realname='Mutt-ng user' ; ignore x-</screen>
2396 The hash mark, or pound sign
2397 (``#''), is used as a ``comment'' character. You can use it to
2398 annotate your initialization file. All text after the comment character
2399 to the end of the line is ignored. For example,
2405 my_hdr X-Disclaimer: Why are you listening to me? # This is a comment</screen>
2410 Single quotes (') and double quotes (") can be used to quote
2412 which contain spaces or other special characters. The difference
2414 the two types of quotes is similar to that of many popular shell
2416 namely that a single quote is used to specify a literal string (one
2418 not interpreted for shell variables or quoting with a backslash
2420 next paragraph]), while double quotes indicate a string for which
2421 should be evaluated. For example, backtics are evaluated inside of
2423 quotes, but <emphasis role="bold">not</emphasis> for single quotes.
2427 \ quotes the next character, just as in shells such as bash and
2429 For example, if want to put quotes ``"'' inside of a string, you
2431 ``\'' to force the next character to be a literal instead of
2436 set realname="Michael \"MuttDude\" Elkins"</screen>
2441 ``\\'' means to insert a literal ``\'' into the line.
2442 ``\n'' and ``\r'' have their usual C meanings of linefeed and
2443 carriage-return, respectively.
2447 A \ at the end of a line can be used to split commands over
2448 multiple lines, provided that the split points don't appear in the
2449 middle of command names.
2453 Please note that, unlike the various shells, mutt-ng interprets a
2455 at the end of a line also in comments. This allows you to disable a
2457 split over multiple lines with only one ``#''.
2464 set realname="Michael \"MuttDude\" Elkins"</screen>
2469 When testing your config files, beware the following caveat. The
2471 at the end of the commented line extends the current line with the next
2473 - then referred to as a ``continuation line''. As the first line is
2474 commented with a hash (#) all following continuation lines are also
2475 part of a comment and therefore are ignored, too. So take care of
2477 when continuation lines are involved within your setup files!
2496 line1 ``continues'' until line4. however, the part after the # is a
2497 comment which includes line3 and line4. line5 is a new line of its own
2499 thus is interpreted again.
2503 The commands understood by mutt are explained in the next paragraphs.
2504 For a complete list, see the <link linkend="commands">commands</link>.
2514 <title>Expansion within variables </title>
2517 Besides just assign static content to variables, there's plenty of
2518 ways of adding external and more or less dynamic content.
2522 <title>Commands' Output </title>
2525 It is possible to substitute the output of a Unix command in an
2526 initialization file. This is accomplished by enclosing the command
2527 in backquotes (``) as in, for example:
2533 my_hdr X-Operating-System: `uname -a`</screen>
2538 The output of the Unix command ``uname -a'' will be substituted
2539 before the line is parsed. Note that since initialization files are
2540 line oriented, only the first line of output from the Unix command
2541 will be substituted.
2547 <title>Environment Variables </title>
2550 UNIX environments can be accessed like the way it is done in
2551 shells like sh and bash: Prepend the name of the environment by a
2552 ``$'' sign. For example,
2558 set record=+sent_on_$HOSTNAME</screen>
2563 sets the <link linkend="record">record</link> variable to the
2564 string <emphasis>+sent_on_</emphasis> and appends the
2565 value of the evironment
2566 variable <literal>$HOSTNAME</literal>.
2570 <emphasis role="bold">Note:</emphasis> There will be no warning if an
2571 environment variable
2572 is not defined. The result will of the expansion will then be empty.
2578 <title>Configuration Variables </title>
2581 As for environment variables, the values of all configuration
2582 variables as string can be used in the same way, too. For example,
2588 set imap_home_namespace = $folder</screen>
2593 would set the value of <link linkend="imap-home-namespace">
2597 which <link linkend="folder">folder</link> is <emphasis>currently</emphasis> set
2602 <emphasis role="bold">Note:</emphasis> There're no logical links
2603 established in such cases so
2604 that the the value for <link linkend="imap-home-namespace">
2608 if <link linkend="folder">folder</link> gets changed.
2612 <emphasis role="bold">Note:</emphasis> There will be no warning if a
2613 configuration variable
2614 is not defined or is empty. The result will of the expansion will
2621 <title>Self-Defined Variables </title>
2624 Mutt-ng flexibly allows users to define their own variables. To
2625 avoid conflicts with the standard set and to prevent misleading
2626 error messages, there's a reserved namespace for them: all
2627 user-defined variables must be prefixed with <literal>user_</literal> and can be
2628 used just like any ordinary configuration or environment
2633 For example, to view the manual, users can either define two
2634 macros like the following
2640 macro generic <F1> "!less -r /path/to/manual" "Show manual"
2641 macro pager <F1> "!less -r /path/to/manual" "Show manual"</screen>
2646 for <literal>generic</literal>, <literal>pager</literal> and <literal>
2649 .The alternative is to
2650 define a custom variable like so:
2656 set user_manualcmd = "!less -r /path/to_manual"
2657 macro generic <F1> "$user_manualcmd<enter>" "Show manual"
2658 macro pager <F1> "$user_manualcmd<enter>" "Show manual"
2659 macro index <F1> "$user_manualcmd<enter>" "Show manual"</screen>
2664 to re-use the command sequence as in:
2670 macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"</screen>
2675 Using this feature, arbitrary sequences can be defined once and
2676 recalled and reused where necessary. More advanced scenarios could
2677 include to save a variable's value at the beginning of macro
2678 sequence and restore it at end.
2682 When the variable is first defined, the first value it gets
2683 assigned is also the initial value to which it can be reset using
2684 the <literal>reset</literal> command.
2688 The complete removal is done via the <literal>unset</literal>
2693 After the following sequence:
2700 set user_foo = 666</screen>
2705 the variable <literal>$user_foo</literal> has a current value
2707 initial of 42. The query
2713 set ?user_foo</screen>
2718 will show 666. After doing the reset via
2724 reset user_foo</screen>
2729 a following query will give 42 as the result. After unsetting it
2736 unset user_foo</screen>
2741 any query or operation (except the noted expansion within other
2742 statements) will lead to an error message.
2748 <title>Pre-Defined Variables </title>
2751 In order to allow users to share one setup over a number of
2752 different machines without having to change its contents, there's a
2753 number of pre-defined variables. These are prefixed with
2754 <literal>muttng_</literal> and are read-only, i.e. they cannot
2756 reset. The reference chapter lists all available variables.
2760 <emphasis> Please consult the local copy of your manual for their
2761 values as they may differ from different manual sources.
2764 the manual is installed in can be queried (already using such a
2765 variable) by running:
2771 muttng -Q muttng_docdir</screen>
2776 To extend the example for viewing the manual via self-defined
2777 variables, it can be made more readable and more portable by
2778 changing the real path in:
2784 set user_manualcmd = '!less -r /path/to_manual'</screen>
2795 set user_manualcmd = "!less -r $muttng_docdir/manual.txt"</screen>
2800 which works everywhere if a manual is installed.
2804 Please note that by the type of quoting, muttng determines when
2805 to expand these values: when it finds double quotes, the value will
2806 be expanded during reading the setup files but when it finds single
2807 quotes, it'll expand it at runtime as needed.
2811 For example, the statement
2817 folder-hook . "set user_current_folder = $muttng_folder_name"</screen>
2822 will be already be translated to the following when reading the
2829 folder-hook . "set user_current_folder = some_folder"</screen>
2834 with <literal>some_folder</literal> being the name of the
2836 opens. On the contrary,
2842 folder-hook . 'set user_current_folder = $muttng_folder_name'</screen>
2847 will be executed at runtime because of the single quotes so that
2848 <literal>user_current_folder</literal> will always have
2849 the value of the currently
2854 A more practical example is:
2860 folder-hook . 'source ~/.mutt/score-$muttng_folder_name'</screen>
2865 which can be used to source files containing score commands
2866 depending on the folder the user enters.
2872 <title>Type Conversions </title>
2875 A note about variable's types during conversion: internally
2876 values are stored in internal types but for any dump/query or set
2877 operation they're converted to and from string. That means that
2878 there's no need to worry about types when referencing any variable.
2879 As an example, the following can be used without harm (besides
2880 makeing muttng very likely behave strange):
2887 set folder = $read_inc
2888 set read_inc = $folder
2889 set user_magic_number = 42
2890 set folder = $user_magic_number</screen>
2899 <title>Defining/Using aliases </title>
2902 Usage: <literal>alias</literal> <emphasis>key</emphasis> <emphasis>
2905 [ , <emphasis>address</emphasis>, ... ]
2909 It's usually very cumbersome to remember or type out the address of
2911 you are communicating with. Mutt-ng allows you to create ``aliases''
2913 a short string to a full address.
2917 <emphasis role="bold">Note:</emphasis> if you want to create an alias
2918 for a group (by specifying more than
2919 one address), you <emphasis role="bold">must</emphasis> separate the
2920 addresses with a comma (``,'').
2924 To remove an alias or aliases (``*'' means all aliases):
2928 <literal>unalias</literal> [ * | <emphasis>key</emphasis> <emphasis>
2937 alias muttdude me@cs.hmc.edu (Michael Elkins)
2938 alias theguys manny, moe, jack</screen>
2943 Unlike other mailers, Mutt-ng doesn't require aliases to be defined
2944 in a special file. The <literal>alias</literal> command can appear
2946 a configuration file, as long as this file is <link linkend="source">
2949 .Consequently, you can have multiple alias files, or
2950 you can have all aliases defined in your muttrc.
2954 On the other hand, the <link linkend="create-alias">create-alias</link>
2955 function can use only one file, the one pointed to by the <link linkend="alias-file">
2959 <literal>˜/.muttrc</literal> by default). This file is not
2961 in the sense that Mutt-ng will happily append aliases to any file, but
2963 order for the new aliases to take effect you need to explicitly <link linkend="source">
2976 source /usr/local/share/Mutt-ng.aliases
2977 source ~/.mail_aliases
2978 set alias_file=~/.mail_aliases</screen>
2983 To use aliases, you merely use the alias at any place in mutt where
2984 muttprompts for addresses, such as the <emphasis>To:</emphasis> or <emphasis>
2988 also enter aliases in your editor at the appropriate headers if you
2990 <link linkend="edit-headers">edit-headers</link> variable set.
2994 In addition, at the various address prompts, you can use the tab
2996 to expand a partial alias to the full alias. If there are multiple
2998 mutt will bring up a menu with the matching aliases. In order to be
2999 presented with the full list of aliases, you must hit tab with out a
3001 alias, such as at the beginning of the prompt or after a comma denoting
3006 In the alias menu, you can select as many aliases as you want with the
3007 <emphasis>select-entry</emphasis> key (default: RET), and use the <emphasis>
3011 (default: q) to return to the address prompt.
3021 <title>Changing the default key bindings </title>
3024 Usage: <literal>bind</literal> <emphasis>map</emphasis> <emphasis>key</emphasis> <emphasis>
3030 This command allows you to change the default key bindings (operation
3031 invoked when pressing a key).
3035 <emphasis>map</emphasis> specifies in which menu the binding belongs.
3037 be specified by separating them with commas (no additional whitespace
3038 isallowed). The currently defined maps are:
3046 <term>generic</term>
3049 This is not a real menu, but is used as a fallback for all of
3051 menus except for the pager and editor modes. If a key is not
3053 another menu, Mutt-ng will look for a binding to use in this
3055 you to bind a key to a certain function in multiple menus
3057 multiple bind statements to accomplish the same task.
3065 The alias menu is the list of your personal aliases as defined
3067 muttrc. It is the mapping from a short alias name to the full
3069 address(es) of the recipient(s).
3077 The attachment menu is used to access the attachments on
3083 <term>browser</term>
3086 The browser is used for both browsing the local directory
3088 listing all of your incoming mailboxes.
3096 The editor is the line-based editor the user enters text data.
3104 The index is the list of messages contained in a mailbox.
3109 <term>compose</term>
3112 The compose menu is the screen used when sending a new message.
3120 The pager is the mode used to display message/attachment data,
3130 The pgp menu is used to select the OpenPGP keys used for
3137 <term>postpone</term>
3140 The postpone menu is similar to the index menu, except is used
3142 recalling a message the user was composing, but saved until
3151 <emphasis>key</emphasis> is the key (or key sequence) you wish to bind.
3153 control character, use the sequence <emphasis>\Cx</emphasis>,
3154 where <emphasis>x</emphasis> is the
3155 letter of the control character (for example, to specify control-A use
3156 ``\Ca''). Note that the case of <emphasis>x</emphasis> as well as
3157 <emphasis>\C</emphasis> is
3158 ignored, so that <emphasis>\CA</emphasis>, <emphasis>\Ca</emphasis>, <emphasis>
3161 and <emphasis>\ca</emphasis> are all
3162 equivalent. An alternative form is to specify the key as a three digit
3163 octal number prefixed with a ``\'' (for example <emphasis>
3167 equivalent to <emphasis>\c?</emphasis>).
3171 In addition, <emphasis>key</emphasis> may consist of:
3177 <title>Alternative Key Names</title>
3178 <tgroup cols="2" align="left" colsep="1" rowsep="1">
3181 <entry>Sequence</entry>
3182 <entry>Description</entry>
3186 <row><entry><code>\t </code></entry><entry>tab</entry></row>
3187 <row><entry><code><tab> </code></entry><entry>tab</entry></row>
3188 <row><entry><code><backtab> </code></entry><entry>backtab / shift-tab</entry></row>
3189 <row><entry><code>\r </code></entry><entry>carriage return</entry></row>
3190 <row><entry><code>\n </code></entry><entry>newline</entry></row>
3191 <row><entry><code>\e </code></entry><entry>escape</entry></row>
3192 <row><entry><code><esc> </code></entry><entry>escape</entry></row>
3193 <row><entry><code><up> </code></entry><entry>up arrow</entry></row>
3194 <row><entry><code><down> </code></entry><entry>down arrow</entry></row>
3195 <row><entry><code><left> </code></entry><entry>left arrow</entry></row>
3196 <row><entry><code><right> </code></entry><entry>right arrow</entry></row>
3197 <row><entry><code><pageup> </code></entry><entry>Page Up</entry></row>
3198 <row><entry><code><pagedown> </code></entry><entry>Page Down</entry></row>
3199 <row><entry><code><backspace> </code></entry><entry>Backspace</entry></row>
3200 <row><entry><code><delete> </code></entry><entry>Delete</entry></row>
3201 <row><entry><code><insert> </code></entry><entry>Insert</entry></row>
3202 <row><entry><code><enter> </code></entry><entry>Enter</entry></row>
3203 <row><entry><code><return> </code></entry><entry>Return</entry></row>
3204 <row><entry><code><home> </code></entry><entry>Home</entry></row>
3205 <row><entry><code><end> </code></entry><entry>End</entry></row>
3206 <row><entry><code><space> </code></entry><entry>Space bar</entry></row>
3207 <row><entry><code><f1> </code></entry><entry>function key 1</entry></row>
3208 <row><entry><code><f10> </code></entry><entry>function key 10</entry></row>
3216 <emphasis>key</emphasis> does not need to be enclosed in quotes unless
3222 <emphasis>function</emphasis> specifies which action to take when <emphasis>
3226 For a complete list of functions, see the <link linkend="functions">
3229 .The special function <literal>noop</literal> unbinds the specified key
3239 <sect1 id="charset-hook">
3240 <title>Defining aliases for character sets </title>
3243 Usage: <literal>charset-hook</literal> <emphasis>alias</emphasis> <emphasis>
3247 Usage: <literal>iconv-hook</literal> <emphasis>charset</emphasis> <emphasis>
3253 The <literal>charset-hook</literal> command defines an alias for a
3255 This is useful to properly display messages which are tagged with a
3256 character set name not known to mutt.
3260 The <literal>iconv-hook</literal> command defines a system-specific
3262 character set. This is helpful when your systems character
3263 conversion library insists on using strange, system-specific names
3273 <sect1 id="folder-hook">
3274 <title>Setting variables based upon mailbox </title>
3277 Usage: <literal>folder-hook</literal> [!]<emphasis>regexp</emphasis> <emphasis>
3283 It is often desirable to change settings based on which mailbox you are
3284 reading. The folder-hook command provides a method by which you can
3286 any configuration command. <emphasis>regexp</emphasis> is a regular
3287 expression specifying
3288 in which mailboxes to execute <emphasis>command</emphasis> before
3289 loading. If a mailbox
3290 matches multiple folder-hook's, they are executed in the order given in
3296 <emphasis role="bold">Note:</emphasis> if you use the ``!'' shortcut
3297 for <link linkend="spoolfile">spoolfile</link> at the beginning of the
3298 pattern, you must place it
3299 inside of double or single quotes in order to distinguish it from the
3300 logical <emphasis>not</emphasis> operator for the expression.
3304 Note that the settings are <emphasis>not</emphasis> restored when you
3306 For example, a command action to perform is to change the sorting
3307 methodbased upon the mailbox being read:
3313 folder-hook mutt set sort=threads</screen>
3318 However, the sorting method is not restored to its previous value when
3319 reading a different mailbox. To specify a <emphasis>default</emphasis>
3327 folder-hook . set sort=date-sent</screen>
3338 <title>Keyboard macros </title>
3341 Usage: <literal>macro</literal> <emphasis>menu</emphasis> <emphasis>key</emphasis> <emphasis>
3344 [ <emphasis>description</emphasis> ]
3348 Macros are useful when you would like a single key to perform a series
3350 actions. When you press <emphasis>key</emphasis> in menu <emphasis>
3353 ,Mutt-ng will behave as if
3354 you had typed <emphasis>sequence</emphasis>. So if you have a common
3355 sequence of commands
3356 you type, you can create a macro to execute those commands with a
3361 <emphasis>menu</emphasis> is the <link linkend="maps">maps</link> which
3362 the macro will be bound.
3363 Multiple maps may be specified by separating multiple menu arguments by
3364 commas. Whitespace may not be used in between the menu arguments and
3365 thecommas separating them.
3369 <emphasis>key</emphasis> and <emphasis>sequence</emphasis> are expanded
3370 by the same rules as the <link linkend="bind">bind</link>. There are
3371 some additions however. The
3372 first is that control characters in <emphasis>sequence</emphasis> can
3374 as <emphasis>ˆx</emphasis>. In order to get a caret (`ˆ'')
3376 <emphasis>ˆˆ</emphasis>. Secondly, to specify a certain key
3377 such as <emphasis>up</emphasis>
3378 or to invoke a function directly, you can use the format
3379 <emphasis><key name></emphasis> and <emphasis><function
3382 .For a listing of key
3383 names see the section on <link linkend="bind">bind</link>. Functions
3384 are listed in the <link linkend="functions">functions</link>.
3388 The advantage with using function names directly is that the macros
3389 willwork regardless of the current key bindings, so they are not
3391 the user having particular key definitions. This makes them more
3392 robustand portable, and also facilitates defining of macros in files
3394 than one user (eg. the system Muttngrc).
3398 Optionally you can specify a descriptive text after <emphasis>sequence</emphasis>,
3399 which is shown in the help screens.
3403 <emphasis role="bold">Note:</emphasis> Macro definitions (if any)
3404 listed in the help screen(s), are
3405 silently truncated at the screen width, and are not wrapped.
3415 <title>Using color and mono video attributes </title>
3418 Usage: <literal>color</literal> <emphasis>object</emphasis> <emphasis>
3421 <emphasis>background</emphasis> [ <emphasis>regexp</emphasis>
3424 Usage: <literal>color</literal> index <emphasis>foreground</emphasis> <emphasis>
3427 <emphasis>pattern</emphasis>
3429 Usage: <literal>uncolor</literal> index <emphasis>pattern</emphasis>
3430 [ <emphasis>pattern</emphasis> ... ]
3435 If your terminal supports color, you can spice up Mutt-ng by creating
3437 color scheme. To define the color of an object (type of information),
3439 must specify both a foreground color <emphasis role="bold">and</emphasis> a background color (it is not
3440 possible to only specify one or the other).
3444 <emphasis>object</emphasis> can be one of:
3459 body (match <emphasis>regexp</emphasis> in the body of messages)
3465 bold (highlighting bold patterns in the body of messages)
3471 error (error messages printed by Mutt-ng)
3477 header (match <emphasis>regexp</emphasis> in the message header)
3483 hdrdefault (default color of the message header in the pager)
3489 index (match <emphasis>pattern</emphasis> in the message index)
3495 indicator (arrow or bar used to indicate the current item in a
3502 markers (the ``+'' markers at the beginning of wrapped lines in
3509 message (informational messages)
3521 quoted (text matching <link linkend="quote-regexp">quote-regexp</link> in the body of a message)
3527 quoted1, quoted2, ..., quoted<emphasis role="bold">N</emphasis>
3528 (higher levels of quoting)
3534 search (highlighting of words in the pager)
3546 status (mode lines used to display info about the mailbox or
3553 tilde (the ``˜'' used to pad blank lines in the pager)
3559 tree (thread tree drawn in the message index and attachment menu)
3565 underline (highlighting underlined patterns in the body of
3575 <emphasis>foreground</emphasis> and <emphasis>background</emphasis> can
3576 be one of the following:
3639 color<emphasis>x</emphasis>
3648 <emphasis>foreground</emphasis> can optionally be prefixed with the
3649 keyword <literal>bright</literal> to make
3650 the foreground color boldfaced (e.g., <literal>brightred</literal>).
3654 If your terminal supports it, the special keyword <emphasis>default</emphasis> can be
3655 used as a transparent color. The value <emphasis>brightdefault</emphasis> is also valid.
3656 If Mutt-ng is linked against the <emphasis>S-Lang</emphasis> library,
3657 you also need to set
3658 the <emphasis>COLORFGBG</emphasis> environment variable to the default
3660 terminal for this to work; for example (for Bourne-like shells):
3666 set COLORFGBG="green;black"
3667 export COLORFGBG</screen>
3672 <emphasis role="bold">Note:</emphasis> The <emphasis>S-Lang</emphasis>
3673 library requires you to use the <emphasis>lightgray</emphasis>
3674 and <emphasis>brown</emphasis> keywords instead of <emphasis>white</emphasis> and <emphasis>
3678 setting this variable.
3682 <emphasis role="bold">Note:</emphasis> The uncolor command can be
3683 applied to the index object only. It
3684 removes entries from the list. You <emphasis role="bold">must</emphasis> specify the same pattern
3685 specified in the color command for it to be removed. The pattern ``*''
3687 a special token which means to clear the color index list of all
3692 Mutt-ng also recognizes the keywords <emphasis>color0</emphasis>, <emphasis>
3696 <emphasis>color</emphasis><emphasis role="bold">N-1</emphasis> (<emphasis role="bold">
3699 being the number of colors supported
3700 by your terminal). This is useful when you remap the colors for your
3701 display (for example by changing the color associated with <emphasis>
3704 for your xterm), since color names may then lose their normal meaning.
3708 If your terminal does not support color, it is still possible change
3710 attributes through the use of the ``mono'' command:
3714 Usage: <literal>mono</literal> <emphasis><object>
3717 [ <emphasis>regexp</emphasis> ]
3719 Usage: <literal>mono</literal> index <emphasis>attribute</emphasis> <emphasis>
3723 Usage: <literal>unmono</literal> index <emphasis>pattern</emphasis>
3724 [ <emphasis>pattern</emphasis> ... ]
3729 where <emphasis>attribute</emphasis> is one of the following:
3777 <title>Ignoring (weeding) unwanted message headers </title>
3780 Usage: <literal>[un]ignore</literal> <emphasis>pattern</emphasis> [ <emphasis>
3787 Messages often have many header fields added by automatic processing
3789 or which may not seem useful to display on the screen. This command
3791 you to specify header fields which you don't normally want to see.
3795 You do not need to specify the full header field name. For example,
3796 ``ignore content-'' will ignore all header fields that begin with the
3798 ``content-''. ``ignore *'' will ignore all headers.
3802 To remove a previously added token from the list, use the ``unignore''
3804 The ``unignore'' command will make Mutt-ng display headers with the
3806 For example, if you do ``ignore x-'' it is possible to ``unignore
3811 ``unignore *'' will remove all tokens from the ignore list.
3818 # Sven's draconian header weeding
3820 unignore from date subject to cc
3821 unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
3822 unignore posted-to:</screen>
3832 <sect1 id="alternates">
3833 <title>Alternative addresses </title>
3836 Usage: <literal>[un]alternates</literal> <emphasis>regexp</emphasis> [ <emphasis>
3844 With various functions, mutt will treat messages differently,
3845 depending on whether you sent them or whether you received them from
3846 someone else. For instance, when replying to a message that you
3847 sent to a different party, mutt will automatically suggest to send
3848 the response to the original message's recipients -- responding to
3849 yourself won't make much sense in many cases. (See <link linkend="reply-to">
3856 Many users receive e-mail under a number of different addresses. To
3857 fully use mutt's features here, the program must be able to
3858 recognize what e-mail addresses you receive mail under. That's the
3859 purpose of the <literal>alternates</literal> command: It takes a list
3861 expressions, each of which can identify an address under which you
3866 The <literal>unalternates</literal> command can be used to write
3868 <literal>alternates</literal> patterns. If an address matches something
3870 <literal>alternates</literal> command, but you nonetheless do not think
3872 from you, you can list a more precise pattern under an <literal>
3879 To remove a regular expression from the <literal>alternates</literal>
3881 <literal>unalternates</literal> command with exactly the same <emphasis>
3885 Likewise, if the <emphasis>regexp</emphasis> for a <literal>alternates</literal> command matches
3886 an entry on the <literal>unalternates</literal> list, that <literal>
3889 entry will be removed. If the <emphasis>regexp</emphasis> for <literal>
3892 is ``*'', <emphasis>all entries</emphasis> on <literal>alternates</literal> will be removed.
3902 <title>Format = Flowed </title>
3905 <title>Introduction </title>
3908 Mutt-ng contains support for so-called <literal>format=flowed</literal> messages.
3909 In the beginning of email, each message had a fixed line width, and
3910 it was enough for displaying them on fixed-size terminals. But times
3911 changed, and nowadays hardly anybody still uses fixed-size terminals:
3912 more people nowaydays use graphical user interfaces, with dynamically
3913 resizable windows. This led to the demand of a new email format that
3914 makes it possible for the email client to make the email look nice
3915 in a resizable window without breaking quoting levels and creating
3916 an incompatible email format that can also be displayed nicely on
3917 old fixed-size terminals.
3921 For introductory information on <literal>format=flowed</literal>
3923 <ulink URL="http://www.joeclark.org/ffaq.html"><http://www.joeclark.org/ffaq.html></ulink>.
3929 <title>Receiving: Display Setup </title>
3932 When you receive emails that are marked as <literal>format=flowed</literal>
3933 messages, and is formatted correctly, mutt-ng will try to reformat
3934 the message to optimally fit on your terminal. If you want a fixed
3935 margin on the right side of your terminal, you can set the
3942 set wrapmargin = 10</screen>
3947 The code above makes the line break 10 columns before the right
3948 side of the terminal.