]> git.llucax.com Git - software/mutt-debian.git/blob - obj-i486-linux-gnu-patched/doc/manual.xml
Imported Upstream version 1.5.20
[software/mutt-debian.git] / obj-i486-linux-gnu-patched / doc / manual.xml
1 <?xml version="1.0" standalone="no"?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <book>
5
6 <bookinfo>
7 <title>The Mutt E-Mail Client</title>
8 <author>
9 <firstname>Michael</firstname><surname>Elkins</surname>
10 <email>me@cs.hmc.edu</email>
11 </author>
12 <releaseinfo>version 1.5.19 (2009-01-05)</releaseinfo>
13
14 <abstract>
15 <para>
16 <quote>All mail clients suck.  This one just sucks less.</quote> -me, circa 1995
17 </para>
18 </abstract>
19 </bookinfo>
20
21 <chapter id="intro">
22 <title>Introduction</title>
23
24 <para>
25 <emphasis role="bold">Mutt</emphasis> is a small but very powerful text-based MIME mail client.  Mutt is
26 highly configurable, and is well suited to the mail power user with advanced
27 features like key bindings, keyboard macros, mail threading, regular
28 expression searches and a powerful pattern matching language for selecting
29 groups of messages.
30 </para>
31
32 <sect1 id="homepage">
33 <title>Mutt Home Page</title>
34
35 <para>
36 The official homepage can be found at
37 <ulink url="http://www.mutt.org/">http://www.mutt.org/</ulink>.
38 </para>
39
40 </sect1>
41
42 <sect1 id="muttlists">
43 <title>Mailing Lists</title>
44
45 <para>
46 To subscribe to one of the following mailing lists, send a message with the
47 word <emphasis>subscribe</emphasis> in the body to
48 <literal>list-name</literal><emphasis>-request</emphasis><literal>@mutt.org</literal>.
49 </para>
50
51 <itemizedlist>
52 <listitem>
53
54 <para>
55 <email>mutt-announce-request@mutt.org</email> -- low traffic list for announcements
56 </para>
57 </listitem>
58 <listitem>
59
60 <para>
61 <email>mutt-users-request@mutt.org</email> -- help, bug reports and feature requests
62 </para>
63 </listitem>
64 <listitem>
65
66 <para>
67 <email>mutt-dev-request@mutt.org</email> -- development mailing list
68 </para>
69 </listitem>
70
71 </itemizedlist>
72
73 <note>
74 <para>
75 All messages posted to
76 <emphasis>mutt-announce</emphasis> are automatically forwarded to
77 <emphasis>mutt-users</emphasis>, so you do not need to be subscribed to
78 both lists.
79 </para>
80 </note>
81
82 </sect1>
83
84 <sect1 id="distribution">
85 <title>Software Distribution Sites</title>
86
87 <para>
88 Mutt releases can be downloaded from
89 <ulink url="ftp://ftp.mutt.org/mutt/">ftp://ftp.mutt.org/mutt/</ulink>.
90 For a list of mirror sites, please refer to
91 <ulink url="http://www.mutt.org/download.html">http://www.mutt.org/download.html</ulink>.
92 </para>
93
94 </sect1>
95
96 <sect1 id="irc">
97 <title>Mutt online resources</title>
98
99 <variablelist>
100
101 <varlistentry>
102 <term>Bug Tracking System</term>
103 <listitem>
104 <para>
105 The official mutt bug tracking system can be found at
106 <ulink url="http://dev.mutt.org/">http://dev.mutt.org/</ulink>
107 </para>
108 </listitem>
109 </varlistentry>
110
111 <varlistentry>
112 <term>Wiki</term>
113 <listitem>
114 <para>
115 An (unofficial) wiki can be found
116 at <ulink url="http://wiki.mutt.org/">http://wiki.mutt.org/</ulink>.
117 </para>
118 </listitem>
119 </varlistentry>
120
121 <varlistentry>
122 <term>IRC</term>
123 <listitem>
124 <para>
125 For the IRC user community, visit channel <emphasis>&num;mutt</emphasis> on
126 <ulink url="http://www.freenode.net/">irc.freenode.net</ulink>.
127 </para>
128 </listitem>
129 </varlistentry>
130
131 <varlistentry>
132 <term>USENET</term>
133 <listitem>
134 <para>
135 For USENET, see the newsgroup <ulink url="news:comp.mail.mutt">comp.mail.mutt</ulink>.
136 </para>
137 </listitem>
138 </varlistentry>
139
140 </variablelist>
141
142 </sect1>
143
144 <sect1 id="contrib">
145 <title>Contributing to Mutt</title>
146
147 <para>
148 There are various ways to contribute to the Mutt project.
149 </para>
150
151 <para>
152 Especially for new users it may be helpful to meet other new and
153 experienced users to chat about Mutt, talk about problems and share
154 tricks.
155 </para>
156
157 <para>
158 Since translations of Mutt into other languages are highly appreciated,
159 the mutt developers always look for skilled translators that help
160 improve and continue to maintain stale translations.
161 </para>
162
163 <para>
164 For contributing code patches for new features and bug fixes, please
165 refer to the developer pages at
166 <ulink url="http://dev.mutt.org/">http://dev.mutt.org/</ulink> for more details.
167 </para>
168
169 </sect1>
170
171 <sect1 id="typo">
172 <title>Typograhical conventions</title>
173
174 <para>
175 This section lists typographical conventions followed throughout this
176 manual. See table <xref linkend="tab-typo"/> for typographical
177 conventions for special terms.
178 </para>
179
180 <table id="tab-typo">
181 <title>Typographical conventions for special terms</title>
182 <tgroup cols="2">
183 <thead>
184 <row><entry>Item</entry><entry>Refers to...</entry></row>
185 </thead>
186 <tbody>
187 <row><entry><literal>printf(3)</literal></entry><entry>UNIX manual pages, execute <literal>man 3 printf</literal></entry></row>
188 <row><entry><literal>&lt;PageUp&gt;</literal></entry><entry>named keys</entry></row>
189 <row><entry><literal>&lt;create-alias&gt;</literal></entry><entry>named Mutt function</entry></row>
190 <row><entry><literal>&circ;G</literal></entry><entry>Control+G key combination</entry></row>
191 <row><entry><literal>&dollar;mail&lowbar;check</literal></entry><entry>Mutt configuration option</entry></row>
192 </tbody>
193 </tgroup>
194 </table>
195
196 <para>
197 Examples are presented as:
198 </para>
199
200 <screen>
201 mutt -v
202 </screen>
203
204 <para>
205 Within command synopsis, curly brackets (<quote>&lcub;&rcub;</quote>) denote a set
206 of options of which one is mandatory, square brackets
207 (<quote>&lsqb;&rsqb;</quote>) denote optional arguments, three dots
208 denote that the argument may be repeated arbitrary times.
209 </para>
210
211 </sect1>
212
213 <sect1 id="copyright">
214 <title>Copyright</title>
215
216 <para>
217 Mutt is Copyright (C) 1996-2009 Michael R. Elkins
218 <email>me@mutt.org</email> and others.
219 </para>
220
221 <para>
222 This program is free software; you can redistribute it and/or modify
223 it under the terms of the GNU General Public License as published by
224 the Free Software Foundation; either version 2 of the License, or
225 (at your option) any later version.
226 </para>
227
228 <para>
229 This program is distributed in the hope that it will be useful,
230 but WITHOUT ANY WARRANTY; without even the implied warranty of
231 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
232 GNU General Public License for more details.
233 </para>
234
235 <para>
236 You should have received a copy of the GNU General Public License
237 along with this program; if not, write to the Free Software
238 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
239 </para>
240
241 </sect1>
242
243 </chapter>
244
245 <chapter id="gettingstarted">
246 <title>Getting Started</title>
247
248 <para>
249 This section is intended as a brief overview of how to use Mutt.  There are
250 many other features which are described elsewhere in the manual.  There
251 is even more information available in the Mutt FAQ and various web
252 pages. See the <ulink url="http://www.mutt.org/">Mutt homepage</ulink> for more details.
253 </para>
254
255 <para>
256 The keybindings described in this section are the defaults as distributed.
257 Your local system administrator may have altered the defaults for your site.
258 You can always type <quote>?</quote> in any menu to display the current bindings.
259 </para>
260
261 <para>
262 The first thing you need to do is invoke mutt, simply by typing <literal>mutt</literal>
263 at the command line.  There are various command-line options, see
264 either the mutt man page or the <link linkend="commandline">reference</link>.
265 </para>
266
267 <sect1 id="core-concepts">
268 <title>Core concepts</title>
269
270 <para>
271 Mutt is a text-based application which interacts with users through
272 different menus which are mostly line-/entry-based or page-based. A
273 line-based menu is the so-called <quote>index</quote> menu (listing all messages of
274 the currently opened folder) or the <quote>alias</quote> menu (allowing you to
275 select recipients from a list). Examples for page-based menus are the
276 <quote>pager</quote> (showing one message at a time) or the <quote>help</quote> menu listing
277 all available key bindings.
278 </para>
279
280 <para>
281 The user interface consists of a context sensitive help line at the top,
282 the menu's contents followed by a context sensitive status line and
283 finally the command line. The command line is used to display
284 informational and error messages as well as for prompts and for entering
285 interactive commands.
286 </para>
287
288 <para>
289 Because Mutt allows for customizing almost all key bindings, there are
290 so-called <quote>functions</quote> which can be executed manually (using the
291 command line) or in macros. Macros allow the user to bind a sequence of
292 commands to a single key or a short key sequence instead of repeating a
293 sequence of actions over and over.
294 </para>
295
296 <para>
297 Many commands (such as saving or copying a message to another folder)
298 can be applied to a single message or a set of messages (so-called
299 <quote>tagged</quote> messages). To help selecting messages, Mutt provides a rich
300 set of message patterns (such as recipients, sender, body contents, date
301 sent/received, etc.) which can be combined into complex expressions
302 using the boolean <emphasis>and</emphasis> and <emphasis>or</emphasis>
303 operations as well as negating. These patterns can also be used to (for
304 example) search for messages or to limit the index to show only matching
305 messages.
306 </para>
307
308 <para>
309 Mutt supports a <quote>hook</quote> concept which allows the user to execute
310 arbitrary configuration commands and functions in certain situations
311 such as entering a folder, starting a new message or replying to an
312 existing one. These hooks can be used to highly customize Mutt's
313 behaviour including managing multiple identities, customizing the
314 display for a folder or even implementing auto-archiving based on a
315 per-folder basis and much more.
316 </para>
317
318 </sect1>
319
320 <sect1 id="menus">
321 <title>Moving Around in Menus</title>
322
323 <para>
324 The most important navigation keys common to all menus are shown in
325 <xref linkend="tab-keys-nav"/>.
326 </para>
327
328 <table id="tab-keys-nav">
329 <title>Most common navigation keys</title>
330 <tgroup cols="3">
331 <thead>
332 <row><entry>Key</entry><entry>Function</entry><entry>Description</entry></row>
333 </thead>
334 <tbody>
335 <row><entry>j or &lt;Down&gt;</entry><entry><literal>&lt;next-entry&gt;</literal></entry><entry>move to the next entry</entry></row>
336 <row><entry>k or &lt;Up&gt;</entry><entry><literal>&lt;previous-entry&gt;</literal></entry><entry>move to the previous entry</entry></row>
337 <row><entry>z or &lt;PageDn&gt;</entry><entry><literal>&lt;page-down&gt;</literal></entry><entry>go to the next page</entry></row>
338 <row><entry>Z or &lt;PageUp&gt;</entry><entry><literal>&lt;page-up&gt;</literal></entry><entry>go to the previous page</entry></row>
339 <row><entry>= or &lt;Home&gt;</entry><entry><literal>&lt;first-entry&gt;</literal></entry><entry>jump to the first entry</entry></row>
340 <row><entry>* or &lt;End&gt;</entry><entry><literal>&lt;last-entry&gt;</literal></entry><entry>jump to the last entry</entry></row>
341 <row><entry>q</entry><entry><literal>&lt;quit&gt;</literal></entry><entry>exit the current menu</entry></row>
342 <row><entry>?</entry><entry><literal>&lt;help&gt;</literal></entry><entry>list all keybindings for the current menu</entry></row>
343 </tbody>
344 </tgroup>
345 </table>
346
347 </sect1>
348
349 <sect1 id="editing">
350 <title>Editing Input Fields</title>
351
352 <sect2 id="editing-intro">
353 <title>Introduction</title>
354
355 <para>
356 Mutt has a built-in line editor for inputting text, e.g. email
357 addresses or filenames. The keys used to manipulate text input are
358 very similar to those of Emacs. See <xref linkend="tab-keys-editor"/> for a full
359 reference of available functions, their default key bindings, and
360 short descriptions.
361 </para>
362
363 <table id="tab-keys-editor">
364 <title>Most common line editor keys</title>
365 <tgroup cols="3">
366 <thead>
367 <row><entry>Key</entry><entry>Function</entry><entry>Description</entry></row>
368 </thead>
369 <tbody>
370 <row><entry>&circ;A or &lt;Home&gt;</entry><entry><literal>&lt;bol&gt;</literal></entry><entry>move to the start of the line</entry></row>
371 <row><entry>&circ;B or &lt;Left&gt;</entry><entry><literal>&lt;backward-char&gt;</literal></entry><entry>move back one char</entry></row>
372 <row><entry>Esc B</entry><entry><literal>&lt;backward-word&gt;</literal></entry><entry>move back one word</entry></row>
373 <row><entry>&circ;D or &lt;Delete&gt;</entry><entry><literal>&lt;delete-char&gt;</literal></entry><entry>delete the char under the cursor</entry></row>
374 <row><entry>&circ;E or &lt;End&gt;</entry><entry><literal>&lt;eol&gt;</literal></entry><entry>move to the end of the line</entry></row>
375 <row><entry>&circ;F or &lt;Right&gt;</entry><entry><literal>&lt;forward-char&gt;</literal></entry><entry>move forward one char</entry></row>
376 <row><entry>Esc F</entry><entry><literal>&lt;forward-word&gt;</literal></entry><entry>move forward one word</entry></row>
377 <row><entry>&lt;Tab&gt;</entry><entry><literal>&lt;complete&gt;</literal></entry><entry>complete filename or alias</entry></row>
378 <row><entry>&circ;T</entry><entry><literal>&lt;complete-query&gt;</literal></entry><entry>complete address with query</entry></row>
379 <row><entry>&circ;K</entry><entry><literal>&lt;kill-eol&gt;</literal></entry><entry>delete to the end of the line</entry></row>
380 <row><entry>Esc d</entry><entry><literal>&lt;kill-eow&gt;</literal></entry><entry>delete to the end of the word</entry></row>
381 <row><entry>&circ;W</entry><entry><literal>&lt;kill-word&gt;</literal></entry><entry>kill the word in front of the cursor</entry></row>
382 <row><entry>&circ;U</entry><entry><literal>&lt;kill-line&gt;</literal></entry><entry>delete entire line</entry></row>
383 <row><entry>&circ;V</entry><entry><literal>&lt;quote-char&gt;</literal></entry><entry>quote the next typed key</entry></row>
384 <row><entry>&lt;Up&gt;</entry><entry><literal>&lt;history-up&gt;</literal></entry><entry>recall previous string from history</entry></row>
385 <row><entry>&lt;Down&gt;</entry><entry><literal>&lt;history-down&gt;</literal></entry><entry>recall next string from history</entry></row>
386 <row><entry>&lt;BackSpace&gt;</entry><entry><literal>&lt;backspace&gt;</literal></entry><entry>kill the char in front of the cursor</entry></row>
387 <row><entry>Esc u</entry><entry><literal>&lt;upcase-word&gt;</literal></entry><entry>convert word to upper case</entry></row>
388 <row><entry>Esc l</entry><entry><literal>&lt;downcase-word&gt;</literal></entry><entry>convert word to lower case</entry></row>
389 <row><entry>Esc c</entry><entry><literal>&lt;capitalize-word&gt;</literal></entry><entry>capitalize the word</entry></row>
390 <row><entry>&circ;G</entry><entry>n/a</entry><entry>abort</entry></row>
391 <row><entry>&lt;Return&gt;</entry><entry>n/a</entry><entry>finish editing</entry></row>
392 </tbody>
393 </tgroup>
394 </table>
395
396 <para>
397 You can remap the <emphasis>editor</emphasis> functions using the
398 <link linkend="bind">bind</link> command.  For example, to make
399 the &lt;Delete&gt; key delete the character in front of
400 the cursor rather than under, you could use:
401 </para>
402
403 <screen>
404 bind editor &lt;delete&gt; backspace
405 </screen>
406
407 </sect2>
408
409 <sect2 id="editing-history">
410 <title>History</title>
411
412 <para>
413 Mutt maintains a history for the built-in editor.  The number of items
414 is controlled by the <link linkend="history">&dollar;history</link>
415 variable and can be made persistent using an external file specified
416 using <link linkend="history-file">&dollar;history&lowbar;file</link>.
417 You may cycle through them at an editor prompt by using the
418 <literal>&lt;history-up&gt;</literal> and/or
419 <literal>&lt;history-down&gt;</literal> commands.
420 </para>
421
422 <para>
423 Mutt maintains several distinct history lists, one for each of the
424 following categories:
425 </para>
426
427 <itemizedlist>
428 <listitem><para>muttrc commands</para></listitem>
429 <listitem><para>addresses and aliases</para></listitem>
430 <listitem><para>shell commands</para></listitem>
431 <listitem><para>filenames</para></listitem>
432 <listitem><para>patterns</para></listitem>
433 <listitem><para>everything else</para></listitem>
434 </itemizedlist>
435
436 <para>
437 Mutt automatically filters out repeated items from the history.  It
438 also mimics the behavior of some shells by ignoring items starting
439 with a space. The latter feature can be useful in macros to not clobber
440 the history's valuable entries with unwanted entries.
441 </para>
442
443 </sect2>
444
445 </sect1>
446
447 <sect1 id="reading">
448 <title>Reading Mail - The Index and Pager</title>
449
450 <para>
451 Similar to many other mail clients, there are two modes in which mail is
452 read in Mutt.  The first is the index of messages in the mailbox, which is
453 called the <quote>index</quote> in Mutt.  The second mode is the display of the
454 message contents.  This is called the <quote>pager.</quote>
455 </para>
456
457 <para>
458 The next few sections describe the functions provided in each of these
459 modes.
460 </para>
461
462 <sect2 id="index-menu">
463 <title>The Message Index</title>
464
465 <para>
466 Common keys used to navigate through and manage messages in the index
467 are shown in <xref linkend="tab-key-index"/>. How messages are presented
468 in the index menu can be customized using the
469 <link linkend="index-format">&dollar;index&lowbar;format</link> variable.
470 </para>
471
472 <table id="tab-key-index">
473 <title>Most common message index keys</title>
474 <tgroup cols="2">
475 <thead>
476 <row><entry>Key</entry><entry>Description</entry></row>
477 </thead>
478 <tbody>
479 <row><entry>c</entry><entry>change to a different mailbox</entry></row>
480 <row><entry>Esc c</entry><entry>change to a folder in read-only mode</entry></row>
481 <row><entry>C</entry><entry>copy the current message to another mailbox</entry></row>
482 <row><entry>Esc C</entry><entry>decode a message and copy it to a folder</entry></row>
483 <row><entry>Esc s</entry><entry>decode a message and save it to a folder</entry></row>
484 <row><entry>D</entry><entry>delete messages matching a pattern</entry></row>
485 <row><entry>d</entry><entry>delete the current message</entry></row>
486 <row><entry>F</entry><entry>mark as important</entry></row>
487 <row><entry>l</entry><entry>show messages matching a pattern</entry></row>
488 <row><entry>N</entry><entry>mark message as new</entry></row>
489 <row><entry>o</entry><entry>change the current sort method</entry></row>
490 <row><entry>O</entry><entry>reverse sort the mailbox</entry></row>
491 <row><entry>q</entry><entry>save changes and exit</entry></row>
492 <row><entry>s</entry><entry>save-message</entry></row>
493 <row><entry>T</entry><entry>tag messages matching a pattern</entry></row>
494 <row><entry>t</entry><entry>toggle the tag on a message</entry></row>
495 <row><entry>Esc t</entry><entry>toggle tag on entire message thread</entry></row>
496 <row><entry>U</entry><entry>undelete messages matching a pattern</entry></row>
497 <row><entry>u</entry><entry>undelete-message</entry></row>
498 <row><entry>v</entry><entry>view-attachments</entry></row>
499 <row><entry>x</entry><entry>abort changes and exit</entry></row>
500 <row><entry>&lt;Return&gt;</entry><entry>display-message</entry></row>
501 <row><entry>&lt;Tab&gt;</entry><entry>jump to the next new or unread message</entry></row>
502 <row><entry>@</entry><entry>show the author's full e-mail address</entry></row>
503 <row><entry>$</entry><entry>save changes to mailbox</entry></row>
504 <row><entry>/</entry><entry>search</entry></row>
505 <row><entry>Esc /</entry><entry>search-reverse</entry></row>
506 <row><entry>&circ;L</entry><entry>clear and redraw the screen</entry></row>
507 <row><entry>&circ;T</entry><entry>untag messages matching a pattern</entry></row>
508 </tbody>
509 </tgroup>
510 </table>
511
512 <para>
513 In addition to who sent the message and the subject, a short summary of
514 the disposition of each message is printed beside the message number.
515 Zero or more of the <quote>flags</quote> in <xref linkend="tab-msg-status-flags"/>
516 may appear, some of which can be turned on or off using these functions:
517 <literal>&lt;set-flag&gt;</literal> and
518 <literal>&lt;clear-flag&gt;</literal>
519 bound by default to <quote>w</quote> and <quote>W</quote> respectively.
520 </para>
521
522 <para>
523 Furthermore, the flags in <xref linkend="tab-msg-recip-flags"/> reflect
524 who the message is addressed to. They can be customized with the
525 <link linkend="to-chars">&dollar;to&lowbar;chars</link> variable.
526 </para>
527
528 <table id="tab-msg-status-flags">
529 <title>Message status flags</title>
530 <tgroup cols="2">
531 <thead>
532 <row><entry>Flag</entry><entry>Description</entry></row>
533 </thead>
534 <tbody>
535 <row><entry>D</entry><entry>message is deleted (is marked for deletion)</entry></row>
536 <row><entry>d</entry><entry>message has attachments marked for deletion</entry></row>
537 <row><entry>K</entry><entry>contains a PGP public key</entry></row>
538 <row><entry>N</entry><entry>message is new</entry></row>
539 <row><entry>O</entry><entry>message is old</entry></row>
540 <row><entry>P</entry><entry>message is PGP encrypted</entry></row>
541 <row><entry>r</entry><entry>message has been replied to</entry></row>
542 <row><entry>S</entry><entry>message is signed, and the signature is successfully verified</entry></row>
543 <row><entry>s</entry><entry>message is signed</entry></row>
544 <row><entry>!</entry><entry>message is flagged</entry></row>
545 <row><entry>*</entry><entry>message is tagged</entry></row>
546 </tbody>
547 </tgroup>
548 </table>
549
550 <table id="tab-msg-recip-flags">
551 <title>Message recipient flags</title>
552 <tgroup cols="2">
553 <thead>
554 <row><entry>Flag</entry><entry>Description</entry></row>
555 </thead>
556 <tbody>
557 <row><entry>+</entry><entry>message is to you and you only</entry></row>
558 <row><entry>T</entry><entry>message is to you, but also to or cc'ed to others</entry></row>
559 <row><entry>C</entry><entry>message is cc'ed to you</entry></row>
560 <row><entry>F</entry><entry>message is from you</entry></row>
561 <row><entry>L</entry><entry>message is sent to a subscribed mailing list</entry></row>
562 </tbody>
563 </tgroup>
564 </table>
565
566 </sect2>
567
568 <sect2 id="pager-menu">
569 <title>The Pager</title>
570
571 <para>
572 By default, Mutt uses its builtin pager to display the contents of messages.
573 The pager is very similar to the Unix program <emphasis>less</emphasis> though not nearly as
574 featureful.
575 </para>
576
577 <table id="tab-key-pager">
578 <title>Most common pager keys</title>
579 <tgroup cols="2">
580 <thead>
581 <row><entry>Key</entry><entry>Description</entry></row>
582 </thead>
583 <tbody>
584 <row><entry>&lt;Return&gt;</entry><entry>go down one line</entry></row>
585 <row><entry>&lt;Space&gt;</entry><entry>display the next page (or next message if at the end of a message)</entry></row>
586 <row><entry>-</entry><entry>go back to the previous page</entry></row>
587 <row><entry>n</entry><entry>search for next match</entry></row>
588 <row><entry>S</entry><entry>skip beyond quoted text</entry></row>
589 <row><entry>T</entry><entry>toggle display of quoted text</entry></row>
590 <row><entry>?</entry><entry>show keybindings</entry></row>
591 <row><entry>/</entry><entry>regular expression search</entry></row>
592 <row><entry>Esc /</entry><entry>backward regular expression search</entry></row>
593 <row><entry>&bsol;</entry><entry>toggle highlighting of search matches</entry></row>
594 <row><entry>&circ;</entry><entry>jump to the top of the message</entry></row>
595 </tbody>
596 </tgroup>
597 </table>
598
599 <para>
600 In addition to key bindings in <xref linkend="tab-key-pager"/>,
601 many of the functions from the index menu are also available in
602 the pager, such as <literal>&lt;delete-message&gt;</literal> or <literal>&lt;copy-message&gt;</literal>
603 (this is one advantage over using an external pager to view messages).
604 </para>
605
606 <para>
607 Also, the internal pager supports a couple other advanced features. For
608 one, it will accept and translate the <quote>standard</quote> nroff sequences for
609 bold and underline. These sequences are a series of either the letter,
610 backspace (&circ;H), the letter again for bold or the letter, backspace,
611 <quote>&lowbar;</quote> for denoting underline. Mutt will attempt to display these
612 in bold and underline respectively if your terminal supports them. If
613 not, you can use the bold and underline <link linkend="color">color</link>
614 objects to specify a color or mono attribute for them.
615 </para>
616
617 <para>
618 Additionally, the internal pager supports the ANSI escape sequences for
619 character attributes.  Mutt translates them into the correct color and
620 character settings.  The sequences Mutt supports are:
621 </para>
622
623 <screen>
624 &bsol;e&lsqb;<emphasis>Ps</emphasis>;<emphasis>Ps</emphasis>;..<emphasis>Ps</emphasis>;m
625 </screen>
626
627 <para>
628 where <emphasis>Ps</emphasis> can be one of the codes shown in
629 <xref linkend="tab-ansi-esc"/>.
630 </para>
631
632 <table id="tab-ansi-esc">
633 <title>ANSI escape sequences</title>
634 <tgroup cols="2">
635 <thead>
636 <row><entry>Escape code</entry><entry>Description</entry></row>
637 </thead>
638 <tbody>
639 <row><entry>0</entry><entry>All attributes off</entry></row>
640 <row><entry>1</entry><entry>Bold on</entry></row>
641 <row><entry>4</entry><entry>Underline on</entry></row>
642 <row><entry>5</entry><entry>Blink on</entry></row>
643 <row><entry>7</entry><entry>Reverse video on</entry></row>
644 <row><entry>3<emphasis>&lt;color&gt;</emphasis></entry><entry>Foreground color is <emphasis>&lt;color&gt;</emphasis> (see <xref linkend="tab-color"/>)</entry></row>
645 <row><entry>4<emphasis>&lt;color&gt;</emphasis></entry><entry>Background color is <emphasis>&lt;color&gt;</emphasis> (see <xref linkend="tab-color"/>)</entry></row>
646 </tbody>
647 </tgroup>
648 </table>
649
650 <table id="tab-color">
651 <title>Color sequences</title>
652 <tgroup cols="2">
653 <thead>
654 <row><entry>Color code</entry><entry>Color</entry></row>
655 </thead>
656 <tbody>
657 <row><entry>0</entry><entry>Black</entry></row>
658 <row><entry>1</entry><entry>Red</entry></row>
659 <row><entry>2</entry><entry>Green</entry></row>
660 <row><entry>3</entry><entry>Yellow</entry></row>
661 <row><entry>4</entry><entry>Blue</entry></row>
662 <row><entry>5</entry><entry>Magenta</entry></row>
663 <row><entry>6</entry><entry>Cyan</entry></row>
664 <row><entry>7</entry><entry>White</entry></row>
665 </tbody>
666 </tgroup>
667 </table>
668
669 <para>
670 Mutt uses these attributes for handling <literal>text/enriched</literal>
671 messages, and they can also be used by an external
672 <link linkend="auto-view">autoview</link> script for highlighting
673 purposes.
674 </para>
675
676 <note>
677 <para>
678 If you change the colors for your
679 display, for example by changing the color associated with color2 for
680 your xterm, then that color will be used instead of green.
681 </para>
682 </note>
683
684 <note>
685 <para>
686 Note that the search commands in the pager take regular expressions,
687 which are not quite the same as the more
688 complex <link linkend="patterns">patterns</link> used by the search
689 command in the index. This is because the pager only performs simple
690 text search, whereas the index provides boolean filtering on several
691 aspects of messages.
692 </para>
693 </note>
694
695 </sect2>
696
697 <sect2 id="threads">
698 <title>Threaded Mode</title>
699
700 <para>
701 When the mailbox is <link linkend="sort">sorted</link> by <emphasis>threads</emphasis>, there are
702 a few additional functions available in the <emphasis>index</emphasis> and <emphasis>pager</emphasis> modes
703 as shown in <xref linkend="tab-key-threads"/>.
704 </para>
705
706 <table id="tab-key-threads">
707 <title>Most common thread mode keys</title>
708 <tgroup cols="3">
709 <thead>
710 <row><entry>Key</entry><entry>Function</entry><entry>Description</entry></row>
711 </thead>
712 <tbody>
713 <row><entry>&circ;D</entry><entry><literal>&lt;delete-thread&gt;</literal></entry><entry>delete all messages in the current thread</entry></row>
714 <row><entry>&circ;U</entry><entry><literal>&lt;undelete-thread&gt;</literal></entry><entry>undelete all messages in the current thread</entry></row>
715 <row><entry>&circ;N</entry><entry><literal>&lt;next-thread&gt;</literal></entry><entry>jump to the start of the next thread</entry></row>
716 <row><entry>&circ;P</entry><entry><literal>&lt;previous-thread&gt;</literal></entry><entry>jump to the start of the previous thread</entry></row>
717 <row><entry>&circ;R</entry><entry><literal>&lt;read-thread&gt;</literal></entry><entry>mark the current thread as read</entry></row>
718 <row><entry>Esc d</entry><entry><literal>&lt;delete-subthread&gt;</literal></entry><entry>delete all messages in the current subthread</entry></row>
719 <row><entry>Esc u</entry><entry><literal>&lt;undelete-subthread&gt;</literal></entry><entry>undelete all messages in the current subthread</entry></row>
720 <row><entry>Esc n</entry><entry><literal>&lt;next-subthread&gt;</literal></entry><entry>jump to the start of the next subthread</entry></row>
721 <row><entry>Esc p</entry><entry><literal>&lt;previous-subthread&gt;</literal></entry><entry>jump to the start of the previous subthread</entry></row>
722 <row><entry>Esc r</entry><entry><literal>&lt;read-subthread&gt;</literal></entry><entry>mark the current subthread as read</entry></row>
723 <row><entry>Esc t</entry><entry><literal>&lt;tag-thread&gt;</literal></entry><entry>toggle the tag on the current thread</entry></row>
724 <row><entry>Esc v</entry><entry><literal>&lt;collapse-thread&gt;</literal></entry><entry>toggle collapse for the current thread</entry></row>
725 <row><entry>Esc V</entry><entry><literal>&lt;collapse-all&gt;</literal></entry><entry>toggle collapse for all threads</entry></row>
726 <row><entry>P</entry><entry><literal>&lt;parent-message&gt;</literal></entry><entry>jump to parent message in thread</entry></row>
727 </tbody>
728 </tgroup>
729 </table>
730
731 <note>
732 <para>
733 Collapsing a thread displays only the first message
734 in the thread and hides the others. This is useful when threads
735 contain so many messages that you can only see a handful of threads on
736 the screen. See &percnt;M in <link linkend="index-format">&dollar;index&lowbar;format</link>.
737 For example, you could use "&percnt;?M?(&num;&percnt;03M)&amp;(&percnt;4l)?" in <link linkend="index-format">&dollar;index&lowbar;format</link> to optionally
738 display the number of hidden messages if the thread is collapsed.
739 </para>
740 </note>
741
742 <para>
743 See also: <link linkend="strict-threads">&dollar;strict&lowbar;threads</link>.
744 </para>
745
746 </sect2>
747
748 <sect2 id="reading-misc">
749 <title>Miscellaneous Functions</title>
750
751 <para>
752 In addition, the <emphasis>index</emphasis> and <emphasis>pager</emphasis>
753 menus have these interesting functions:
754 </para>
755
756 <variablelist>
757
758 <varlistentry>
759 <term>
760 <literal>&lt;create-alias&gt;</literal><anchor id="create-alias"/> (default: a)
761 </term>
762 <listitem>
763 <para>
764 Creates a new alias based upon the current message (or prompts for a
765 new one).  Once editing is complete, an <link linkend="alias">alias</link>
766 command is added to the file specified by
767 the <link linkend="alias-file">&dollar;alias&lowbar;file</link> variable
768 for future use
769 </para>
770
771 <note>
772 <para>
773 Mutt does not read the <link linkend="alias-file">&dollar;alias&lowbar;file</link>
774 upon startup so you must explicitly <link linkend="source">source</link> the file.
775 </para>
776 </note>
777 </listitem>
778 </varlistentry>
779
780 <varlistentry>
781 <term>
782 <literal>&lt;check-traditional-pgp&gt;</literal><anchor id="check-traditional-pgp"/> (default: Esc P)
783 </term>
784 <listitem>
785 <para>
786 This function will search the current message for content signed or
787 encrypted with PGP the <quote>traditional</quote> way, that is, without proper
788 MIME tagging.  Technically, this function will temporarily change
789 the MIME content types of the body parts containing PGP data; this
790 is similar to the <link linkend="edit-type"><literal>&lt;edit-type&gt;</literal></link> function's
791 effect.
792 </para>
793 </listitem>
794 </varlistentry>
795
796 <varlistentry>
797 <term>
798 <literal>&lt;edit&gt;</literal><anchor id="edit"/> (default: e)
799 </term>
800 <listitem>
801 <para>
802 This command (available in the index and pager) allows you to
803 edit the raw current message as it's present in the mail folder.
804 After you have finished editing, the changed message will be
805 appended to the current folder, and the original message will be
806 marked for deletion; if the message is unchanged it won't be replaced.
807 </para>
808 </listitem>
809 </varlistentry>
810
811 <varlistentry>
812 <term>
813 <literal>&lt;edit-type&gt;</literal><anchor id="edit-type"/> (default:
814 &circ;E on the attachment menu, and in the pager and index menus;
815 &circ;T on the compose menu)
816 </term>
817 <listitem>
818 <para>
819 This command is used to temporarily edit an attachment's content
820 type to fix, for instance, bogus character set parameters.  When
821 invoked from the index or from the pager, you'll have the
822 opportunity to edit the top-level attachment's content type.  On the
823 <link linkend="attach-menu">attachment menu</link>, you can change any
824 attachment's content type. These changes are not persistent, and get
825 lost upon changing folders.
826 </para>
827
828 <para>
829 Note that this command is also available on the <link linkend="compose-menu">compose
830 menu</link>.  There, it's used to fine-tune the properties of attachments you are going
831 to send.
832 </para>
833 </listitem>
834 </varlistentry>
835
836 <varlistentry>
837 <term>
838 <literal>&lt;enter-command&gt;</literal><anchor id="enter-command"/> (default: <quote>:</quote>)
839 </term>
840 <listitem>
841 <para>
842 This command is used to execute any command you would normally put in a
843 configuration file.  A common use is to check the settings of variables, or
844 in conjunction with <link linkend="macro">macros</link> to change settings on the
845 fly.
846 </para>
847 </listitem>
848 </varlistentry>
849
850 <varlistentry>
851 <term>
852 <literal>&lt;extract-keys&gt;</literal><anchor id="extract-keys"/> (default: &circ;K)
853 </term>
854 <listitem>
855 <para>
856 This command extracts PGP public keys from the current or tagged
857 message(s) and adds them to your PGP public key ring.
858 </para>
859 </listitem>
860 </varlistentry>
861
862 <varlistentry>
863 <term>
864 <literal>&lt;forget-passphrase&gt;</literal><anchor id="forget-passphrase"/> (default:
865 &circ;F)
866 </term>
867 <listitem>
868 <para>
869 This command wipes the passphrase(s) from memory. It is useful, if
870 you misspelled the passphrase.
871 </para>
872 </listitem>
873 </varlistentry>
874
875 <varlistentry>
876 <term>
877 <literal>&lt;list-reply&gt;</literal><anchor id="list-reply"/> (default: L)
878 </term>
879 <listitem>
880 <para>
881 Reply to the current or tagged message(s) by extracting any addresses which
882 match the regular expressions given by the <link linkend="lists">lists or subscribe</link>
883 commands, but also honor any <literal>Mail-Followup-To</literal> header(s) if the
884 <link linkend="honor-followup-to">&dollar;honor&lowbar;followup&lowbar;to</link>
885 configuration variable is set.  Using this when replying to messages posted
886 to mailing lists helps avoid duplicate copies being sent to the author of
887 the message you are replying to.
888 </para>
889 </listitem>
890 </varlistentry>
891
892 <varlistentry>
893 <term>
894 <literal>&lt;pipe-message&gt;</literal><anchor id="pipe-message"/> (default: &verbar;)
895 </term>
896 <listitem>
897 <para>
898 Asks for an external Unix command and pipes the current or
899 tagged message(s) to it.  The variables <link linkend="pipe-decode">&dollar;pipe&lowbar;decode</link>, <link linkend="pipe-split">&dollar;pipe&lowbar;split</link>,
900 <link linkend="pipe-sep">&dollar;pipe&lowbar;sep</link> and <link linkend="wait-key">&dollar;wait&lowbar;key</link> control the exact behavior of this function.
901 </para>
902 </listitem>
903 </varlistentry>
904
905 <varlistentry>
906 <term>
907 <literal>&lt;resend-message&gt;</literal><anchor id="resend-message"/> (default: Esc e)
908 </term>
909 <listitem>
910 <para>
911 Mutt takes the current message as a template for a
912 new message.  This function is best described as "recall from arbitrary
913 folders".  It can conveniently be used to forward MIME messages while
914 preserving the original mail structure. Note that the amount of headers
915 included here depends on the value of the <link linkend="weed">&dollar;weed</link>
916 variable.
917 </para>
918
919 <para>
920 This function is also available from the attachment menu. You can use this
921 to easily resend a message which was included with a bounce message
922 as a <literal>message/rfc822</literal> body part.
923 </para>
924 </listitem>
925 </varlistentry>
926
927 <varlistentry>
928 <term>
929 <literal>&lt;shell-escape&gt;</literal><anchor id="shell-escape"/> (default: !)
930 </term>
931 <listitem>
932 <para>
933 Asks for an external Unix command and executes it.  The <link linkend="wait-key">&dollar;wait&lowbar;key</link> can be used to control
934 whether Mutt will wait for a key to be pressed when the command returns
935 (presumably to let the user read the output of the command), based on
936 the return status of the named command. If no command is given, an
937 interactive shell is executed.
938 </para>
939 </listitem>
940 </varlistentry>
941
942 <varlistentry>
943 <term>
944 <literal>&lt;toggle-quoted&gt;</literal><anchor id="toggle-quoted"/> (default: T)
945 </term>
946 <listitem>
947 <para>
948 The pager uses the <link linkend="quote-regexp">&dollar;quote&lowbar;regexp</link> variable to detect quoted text when
949 displaying the body of the message.  This function toggles the display
950 of the quoted material in the message.  It is particularly useful when
951 being interested in just the response and there is a large amount of
952 quoted text in the way.
953 </para>
954 </listitem>
955 </varlistentry>
956
957 <varlistentry>
958 <term>
959 <literal>&lt;skip-quoted&gt;</literal><anchor id="skip-quoted"/> (default: S)
960 </term>
961 <listitem>
962 <para>
963 This function will go to the next line of non-quoted text which comes
964 after a line of quoted text in the internal pager.
965 </para>
966 </listitem>
967 </varlistentry>
968
969 </variablelist>
970
971 </sect2>
972
973 </sect1>
974
975 <sect1 id="sending">
976 <title>Sending Mail</title>
977
978 <sect2 id="sending-intro">
979 <title>Introduction</title>
980
981 <para>
982 The bindings shown in <xref linkend="tab-key-send"/> are available in the
983 <emphasis>index</emphasis> and <emphasis>pager</emphasis> to start a new message.
984 </para>
985
986 <table id="tab-key-send">
987 <title>Most common mail sending keys</title>
988 <tgroup cols="3">
989 <thead>
990 <row><entry>Key</entry><entry>Function</entry><entry>Description</entry></row>
991 </thead>
992 <tbody>
993 <row><entry>m</entry><entry><literal>&lt;compose&gt;</literal></entry><entry>compose a new message</entry></row>
994 <row><entry>r</entry><entry><literal>&lt;reply&gt;</literal></entry><entry>reply to sender</entry></row>
995 <row><entry>g</entry><entry><literal>&lt;group-reply&gt;</literal></entry><entry>reply to all recipients</entry></row>
996 <row><entry>L</entry><entry><literal>&lt;list-reply&gt;</literal></entry><entry>reply to mailing list address</entry></row>
997 <row><entry>f</entry><entry><literal>&lt;forward&gt;</literal></entry><entry>forward message</entry></row>
998 <row><entry>b</entry><entry><literal>&lt;bounce&gt;</literal></entry><entry>bounce (remail) message</entry></row>
999 <row><entry>Esc k</entry><entry><literal>&lt;mail-key&gt;</literal></entry><entry>mail a PGP public key to someone</entry></row>
1000 </tbody>
1001 </tgroup>
1002 </table>
1003
1004 <para>
1005 <emphasis>Bouncing</emphasis> a message sends the message as-is to the recipient you
1006 specify.  <emphasis>Forwarding</emphasis> a message allows you to add comments or
1007 modify the message you are forwarding.  These items are discussed
1008 in greater detail in the next chapter <quote><link linkend="forwarding-mail">Forwarding
1009 and Bouncing Mail</link>.</quote>
1010 </para>
1011
1012 <para>
1013 Mutt will then enter the <emphasis>compose</emphasis> menu and prompt you for the
1014 recipients to place on the <quote>To:</quote> header field.  Next, it will ask
1015 you for the <quote>Subject:</quote> field for the message, providing a default if
1016 you are replying to or forwarding a message.  See also
1017 <link linkend="askcc">&dollar;askcc</link>,
1018 <link linkend="askbcc">&dollar;askbcc</link>,
1019 <link linkend="autoedit">&dollar;autoedit</link>,
1020 <link linkend="bounce">&dollar;bounce</link>,
1021 <link linkend="fast-reply">&dollar;fast&lowbar;reply</link>,
1022 and <link linkend="include">&dollar;include</link>
1023 for changing how Mutt asks these questions.
1024 </para>
1025
1026 <para>
1027 Mutt will then automatically start your <link linkend="editor">&dollar;editor</link>
1028 on the message body. If the <link linkend="edit-headers">&dollar;edit&lowbar;headers</link>
1029 variable is set, the headers will be at the top of the message in your editor.
1030 Any messages you are replying to will be added in sort order to the message,
1031 with appropriate <link linkend="attribution">&dollar;attribution</link>,
1032 <link linkend="indent-string">&dollar;indent&lowbar;string</link> and
1033 <link linkend="post-indent-string">&dollar;post&lowbar;indent&lowbar;string</link>.
1034 When forwarding a message, if the <link linkend="mime-forward">&dollar;mime&lowbar;forward</link>
1035 variable is unset, a copy of the forwarded message will be included.  If
1036 you have specified a <link linkend="signature">&dollar;signature</link>, it
1037 will be appended to the message.
1038 </para>
1039
1040 <para>
1041 Once you have finished editing the body of your mail message, you are
1042 returned to the <emphasis>compose</emphasis> menu providing the functions
1043 shown in <xref linkend="tab-func-compose"/> to modify, send or postpone the
1044 message.
1045 </para>
1046
1047 <table id="tab-func-compose">
1048 <title>Most common compose menu keys</title>
1049 <tgroup cols="3">
1050 <thead>
1051 <row><entry>Key</entry><entry>Function</entry><entry>Description</entry></row>
1052 </thead>
1053 <tbody>
1054 <row><entry>a</entry><entry><literal>&lt;attach-file&gt;</literal></entry><entry>attach a file</entry></row>
1055 <row><entry>A</entry><entry><literal>&lt;attach-message&gt;</literal></entry><entry>attach message(s) to the message</entry></row>
1056 <row><entry>Esc k</entry><entry><literal>&lt;attach-key&gt;</literal></entry><entry>attach a PGP public key</entry></row>
1057 <row><entry>d</entry><entry><literal>&lt;edit-description&gt;</literal></entry><entry>edit description on attachment</entry></row>
1058 <row><entry>D</entry><entry><literal>&lt;detach-file&gt;</literal></entry><entry>detach a file</entry></row>
1059 <row><entry>t</entry><entry><literal>&lt;edit-to&gt;</literal></entry><entry>edit the To field</entry></row>
1060 <row><entry>Esc f</entry><entry><literal>&lt;edit-from&gt;</literal></entry><entry>edit the From field</entry></row>
1061 <row><entry>r</entry><entry><literal>&lt;edit-reply-to&gt;</literal></entry><entry>edit the Reply-To field</entry></row>
1062 <row><entry>c</entry><entry><literal>&lt;edit-cc&gt;</literal></entry><entry>edit the Cc field</entry></row>
1063 <row><entry>b</entry><entry><literal>&lt;edit-bcc&gt;</literal></entry><entry>edit the Bcc field</entry></row>
1064 <row><entry>y</entry><entry><literal>&lt;send-message&gt;</literal></entry><entry>send the message</entry></row>
1065 <row><entry>s</entry><entry><literal>&lt;edit-subject&gt;</literal></entry><entry>edit the Subject</entry></row>
1066 <row><entry>S</entry><entry><literal>&lt;smime-menu&gt;</literal></entry><entry>select S/MIME options</entry></row>
1067 <row><entry>f</entry><entry><literal>&lt;edit-fcc&gt;</literal></entry><entry>specify an <quote>Fcc</quote> mailbox</entry></row>
1068 <row><entry>p</entry><entry><literal>&lt;pgp-menu&gt;</literal></entry><entry>select PGP options</entry></row>
1069 <row><entry>P</entry><entry><literal>&lt;postpone-message&gt;</literal></entry><entry>postpone this message until later</entry></row>
1070 <row><entry>q</entry><entry><literal>&lt;quit&gt;</literal></entry><entry>quit (abort) sending the message</entry></row>
1071 <row><entry>w</entry><entry><literal>&lt;write-fcc&gt;</literal></entry><entry>write the message to a folder</entry></row>
1072 <row><entry>i</entry><entry><literal>&lt;ispell&gt;</literal></entry><entry>check spelling (if available on your system)</entry></row>
1073 <row><entry>&circ;F</entry><entry><literal>&lt;forget-passphrase&gt;</literal></entry><entry>wipe passphrase(s) from memory</entry></row>
1074 </tbody>
1075 </tgroup>
1076 </table>
1077
1078 <para>
1079 The compose menu is also used to edit the attachments for a message which can be either files
1080 or other messages. The <literal>&lt;attach-message&gt;</literal> function to will prompt you for a folder to
1081 attach messages from. You can now tag messages in that folder and they
1082 will be attached to the message you are sending.
1083 </para>
1084
1085 <note>
1086 <para>
1087 Note that certain
1088 operations like composing a new mail, replying, forwarding, etc. are
1089 not permitted when you are in that folder. The &percnt;r in
1090 <link linkend="status-format">&dollar;status&lowbar;format</link> will change to
1091 a <quote>A</quote> to indicate that you are in attach-message mode.
1092 </para>
1093 </note>
1094
1095 </sect2>
1096
1097 <sect2 id="edit-header">
1098 <title>Editing the message header</title>
1099
1100 <para>
1101 When editing the header because of <link linkend="edit-headers">&dollar;edit&lowbar;headers</link>
1102 being set, there are a several pseudo headers available which
1103 will not be included in sent messages.
1104 </para>
1105
1106 <sect3 id="fcc-header">
1107 <title>Fcc: pseudo header</title>
1108
1109 <para>
1110 If you specify
1111
1112 <literal>Fcc:</literal> <emphasis>filename</emphasis>
1113
1114 as a header, Mutt will pick up <emphasis>filename</emphasis>
1115 just as if you had used the <literal>&lt;edit-fcc&gt;</literal> function in the <emphasis>compose</emphasis> menu.
1116 </para>
1117
1118 </sect3>
1119
1120 <sect3 id="attach-header">
1121 <title>Attach: pseudo header</title>
1122
1123 <para>
1124 You can also attach files to your message by specifying
1125
1126 <literal>Attach:</literal> <emphasis>filename</emphasis>  &lsqb; <emphasis>description</emphasis> &rsqb;
1127
1128 where <emphasis>filename</emphasis> is the file to attach and <emphasis>description</emphasis> is an
1129 optional string to use as the description of the attached file.
1130 </para>
1131
1132 </sect3>
1133
1134 <sect3 id="pgp-header">
1135 <title>Pgp: pseudo header</title>
1136
1137 <para>
1138 If you want to use PGP, you can specify
1139 </para>
1140
1141 <para>
1142 <literal>Pgp:</literal> &lsqb; <literal>E</literal> &verbar; <literal>S</literal> &verbar; <literal>S</literal><emphasis>&lt;id&gt;</emphasis> &rsqb;
1143
1144 </para>
1145
1146 <para>
1147 <quote>E</quote> selects encryption, <quote>S</quote> selects signing and
1148 <quote>S&lt;id&gt;</quote> selects signing with the given key, setting
1149 <link linkend="pgp-sign-as">&dollar;pgp&lowbar;sign&lowbar;as</link>
1150 permanently.
1151 </para>
1152
1153 </sect3>
1154
1155 <sect3 id="in-reply-to-header">
1156 <title>In-Reply-To: header</title>
1157
1158 <para>
1159 When replying to messages, the <emphasis>In-Reply-To:</emphasis> header contains the
1160 Message-Id of the message(s) you reply to. If you remove its value, Mutt will not generate a
1161 <emphasis>References:</emphasis> field, which allows you to create a new message thread, for example
1162 to create a new message to a mailing list without having to enter the mailing list's address.
1163 </para>
1164
1165 </sect3>
1166
1167 </sect2>
1168
1169 <sect2 id="sending-crypto">
1170 <title>Sending cryptographically signed/encrypted messages</title>
1171
1172 <para>
1173 If you have told mutt to PGP or S/MIME encrypt a message, it will guide you
1174 through a key selection process when you try to send the message.
1175 Mutt will not ask you any questions about keys which have a
1176 certified user ID matching one of the message recipients' mail
1177 addresses.  However, there may be situations in which there are
1178 several keys, weakly certified user ID fields, or where no matching
1179 keys can be found.
1180 </para>
1181
1182 <para>
1183 In these cases, you are dropped into a menu with a list of keys from
1184 which you can select one.  When you quit this menu, or mutt can't
1185 find any matching keys, you are prompted for a user ID.  You can, as
1186 usually, abort this prompt using <literal>&circ;G</literal>.  When you do so, mutt will
1187 return to the compose screen.
1188 </para>
1189
1190 <para>
1191 Once you have successfully finished the key selection, the message
1192 will be encrypted using the selected public keys when sent out.
1193 </para>
1194
1195 <para>
1196 Most fields of the entries in the key selection menu (see also <link linkend="pgp-entry-format">&dollar;pgp&lowbar;entry&lowbar;format</link>)
1197 have obvious meanings.  But some explanations on the capabilities, flags,
1198 and validity fields are in order.
1199 </para>
1200
1201 <para>
1202 The flags sequence (&percnt;f) will expand to one of the flags in
1203 <xref linkend="tab-pgp-menuflags"/>.
1204 </para>
1205
1206 <table id="tab-pgp-menuflags">
1207 <title>PGP key menu flags</title>
1208 <tgroup cols="2">
1209 <thead>
1210 <row><entry>Flag</entry><entry>Description</entry></row>
1211 </thead>
1212 <tbody>
1213 <row><entry>R</entry><entry>The key has been revoked and can't be used.</entry></row>
1214 <row><entry>X</entry><entry>The key is expired and can't be used.</entry></row>
1215 <row><entry>d</entry><entry>You have marked the key as disabled.</entry></row>
1216 <row><entry>c</entry><entry>There are unknown critical self-signature packets.</entry></row>
1217 </tbody>
1218 </tgroup>
1219 </table>
1220
1221 <para>
1222 The capabilities field (&percnt;c) expands to a two-character sequence
1223 representing a key's capabilities.  The first character gives
1224 the key's encryption capabilities: A minus sign (<quote>-</quote>) means
1225 that the key cannot be used for encryption.  A dot (<quote>.</quote>) means that
1226 it's marked as a signature key in one of the user IDs, but may
1227 also be used for encryption.  The letter <quote>e</quote> indicates that
1228 this key can be used for encryption.
1229 </para>
1230
1231 <para>
1232 The second character indicates the key's signing capabilities.  Once
1233 again, a <quote>-</quote> implies <quote>not for signing</quote>, <quote>.</quote> implies
1234 that the key is marked as an encryption key in one of the user-ids, and
1235 <quote>s</quote> denotes a key which can be used for signing.
1236 </para>
1237
1238 <para>
1239 Finally, the validity field (&percnt;t) indicates how well-certified a user-id
1240 is.  A question mark (<quote>?</quote>) indicates undefined validity, a minus
1241 character (<quote>-</quote>) marks an untrusted association, a space character
1242 means a partially trusted association, and a plus character (<quote>+</quote>)
1243 indicates complete validity.
1244 </para>
1245
1246 </sect2>
1247
1248 <sect2 id="sending-mixmaster">
1249 <title>Sending anonymous messages via mixmaster</title>
1250
1251 <para>
1252 You may also have compiled mutt to co-operate with Mixmaster, an
1253 anonymous remailer.  Mixmaster permits you to send your messages
1254 anonymously using a chain of remailers. Mixmaster support in mutt is for
1255 mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03.
1256 It does not support earlier versions or the later so-called version 3 betas,
1257 of which the latest appears to be called 2.9b23.
1258 </para>
1259
1260 <para>
1261 To use it, you'll have to obey certain restrictions.  Most
1262 important, you cannot use the <literal>Cc</literal> and <literal>Bcc</literal> headers.  To tell
1263 Mutt to use mixmaster, you have to select a remailer chain, using
1264 the mix function on the compose menu.
1265 </para>
1266
1267 <para>
1268 The chain selection screen is divided into two parts.  In the
1269 (larger) upper part, you get a list of remailers you may use.  In
1270 the lower part, you see the currently selected chain of remailers.
1271 </para>
1272
1273 <para>
1274 You can navigate in the chain using the <literal>&lt;chain-prev&gt;</literal> and
1275 <literal>&lt;chain-next&gt;</literal> functions, which are by default bound to the left
1276 and right arrows and to the <literal>h</literal> and <literal>l</literal> keys (think vi
1277 keyboard bindings).  To insert a remailer at the current chain
1278 position, use the <literal>&lt;insert&gt;</literal> function.  To append a remailer behind
1279 the current chain position, use <literal>&lt;select-entry&gt;</literal> or <literal>&lt;append&gt;</literal>.
1280 You can also delete entries from the chain, using the corresponding
1281 function.  Finally, to abandon your changes, leave the menu, or
1282 <literal>&lt;accept&gt;</literal> them pressing (by default) the <literal>Return</literal> key.
1283 </para>
1284
1285 <para>
1286 Note that different remailers do have different capabilities,
1287 indicated in the &percnt;c entry of the remailer menu lines (see
1288 <link linkend="mix-entry-format">&dollar;mix&lowbar;entry&lowbar;format</link>).  Most important is
1289 the <quote>middleman</quote> capability, indicated by a capital <quote>M</quote>: This
1290 means that the remailer in question cannot be used as the final
1291 element of a chain, but will only forward messages to other
1292 mixmaster remailers.  For details on the other capabilities, please
1293 have a look at the mixmaster documentation.
1294 </para>
1295
1296 </sect2>
1297
1298 <sect2 id="ff">
1299 <title>Sending format=flowed messages</title>
1300
1301 <sect3 id="ff-concept">
1302 <title>Concept</title>
1303
1304 <para>
1305 <literal>format=flowed</literal>-style messages (or <literal>f=f</literal>
1306 for short) are <literal>text/plain</literal> messages that consist of paragraphs which a receiver's
1307 mail client may reformat to its own needs which mostly means to
1308 customize line lengths regardless of what the sender sent. Technically this is
1309 achieved by letting lines of a <quote>flowable</quote> paragraph end in spaces
1310 except for the last line.
1311 </para>
1312
1313 <para>
1314 While for text-mode clients like mutt it's the best way to assume only a
1315 standard 80x25 character cell terminal, it may be desired to let the
1316 receiver decide completely how to view a message.
1317 </para>
1318
1319 </sect3>
1320
1321 <sect3 id="ff-support">
1322 <title>Mutt support</title>
1323
1324 <para>
1325 Mutt only supports setting the required <literal>format=flowed</literal>
1326 MIME parameter on outgoing messages if the <link
1327 linkend="text-flowed">&dollar;text&lowbar;flowed</link>
1328 variable is set, specifically it does not add the
1329 trailing spaces.
1330 </para>
1331
1332 <para>
1333 After editing the initial message text and before entering
1334 the compose menu, mutt properly space-stuffes the message.
1335 <emphasis>Space-stuffing</emphasis> is required by RfC3676 defining
1336 <literal>format=flowed</literal> and means to prepend a space to:
1337 </para>
1338
1339 <itemizedlist>
1340 <listitem><para>all lines starting with a space</para></listitem>
1341 <listitem><para>lines starting with the word <quote><literal>From</literal></quote>
1342 followed by space</para></listitem>
1343 <listitem><para>all lines starting with <quote><literal>&gt;</literal></quote> which
1344 is not intended to be a quote character</para></listitem>
1345 </itemizedlist>
1346
1347 <note>
1348 <para>
1349 Mutt only supports space-stuffing
1350 for the first two types of lines but not for the third: It is impossible to
1351 safely detect whether a leading <literal>&gt;</literal> character starts a
1352 quote or not. Furthermore, Mutt only applies space-stuffing
1353 <emphasis>once</emphasis> after the initial edit is finished.
1354 </para>
1355 </note>
1356
1357 <para>
1358 All leading spaces are to be removed by receiving clients to restore
1359 the original message prior to further processing.
1360 </para>
1361
1362 </sect3>
1363
1364 <sect3 id="ff-editor">
1365 <title>Editor considerations</title>
1366
1367 <para>
1368 As mutt provides no additional features to compose <literal>f=f</literal>
1369 messages, it's completely up to the user and his editor to produce
1370 proper messages. Please consider your editor's documentation if you
1371 intend to send <literal>f=f</literal> messages.
1372 </para>
1373
1374 <para>
1375 Please note that when editing messages from the compose menu several
1376 times before really sending a mail, it's up to the user to ensure that
1377 the message is properly space-stuffed.
1378 </para>
1379
1380 <para>
1381 For example, <emphasis>vim</emphasis> provides the <literal>w</literal>
1382 flag for its <literal>formatoptions</literal> setting to assist in
1383 creating <literal>f=f</literal> messages, see <literal>:help
1384 fo-table</literal> for details.
1385 </para>
1386
1387 </sect3>
1388
1389 </sect2>
1390
1391 </sect1>
1392
1393 <sect1 id="forwarding-mail">
1394 <title>Forwarding and Bouncing Mail</title>
1395
1396 <para>
1397 Bouncing and forwarding let you send an existing message to recipients
1398 that you specify. Bouncing a message sends a verbatim copy of a message
1399 to alternative addresses as if they were the message's original
1400 recipients specified in the Bcc header.
1401 Forwarding a message, on the other hand, allows you to modify the message
1402 before it is resent (for example, by adding your own comments). Bouncing
1403 is done using the <literal>&lt;bounce&gt;</literal> function and forwarding
1404 using the <literal>&lt;forward&gt;</literal> function bound to <quote>b</quote> and <quote>f</quote>
1405 respectively.
1406 </para>
1407
1408 <para>
1409 Forwarding can be done by including the original message in the new
1410 message's body (surrounded by indicating lines) or including it as a MIME
1411 attachment, depending on the value of the <link linkend="mime-forward">&dollar;mime&lowbar;forward</link> variable.  Decoding of attachments,
1412 like in the pager, can be controlled by the <link linkend="forward-decode">&dollar;forward&lowbar;decode</link> and <link linkend="mime-forward-decode">&dollar;mime&lowbar;forward&lowbar;decode</link> variables,
1413 respectively.  The desired forwarding format may depend on the content,
1414 therefore <emphasis>&dollar;mime&lowbar;forward</emphasis> is a quadoption which, for
1415 example, can be set to <quote>ask-no</quote>.
1416 </para>
1417
1418 <para>
1419 The inclusion of headers is controlled by the current setting of the
1420 <link linkend="weed">&dollar;weed</link> variable, unless <link linkend="mime-forward">&dollar;mime&lowbar;forward</link> is set.
1421 </para>
1422
1423 <para>
1424 Editing the message to forward follows the same procedure as sending or
1425 replying to a message does.
1426 </para>
1427
1428 </sect1>
1429
1430 <sect1 id="postponing-mail">
1431 <title>Postponing Mail</title>
1432
1433 <para>
1434 At times it is desirable to delay sending a message that you have
1435 already begun to compose.  When the <literal>&lt;postpone-message&gt;</literal> function is
1436 used in the <emphasis>compose</emphasis> menu, the body of your message and attachments
1437 are stored in the mailbox specified by the <link linkend="postponed">&dollar;postponed</link> variable.  This means that you can recall the
1438 message even if you exit Mutt and then restart it at a later time.
1439 </para>
1440
1441 <para>
1442 Once a message is postponed, there are several ways to resume it.  From the
1443 command line you can use the <quote>-p</quote> option, or if you compose a new
1444 message from the <emphasis>index</emphasis> or <emphasis>pager</emphasis> you will be prompted if postponed
1445 messages exist.  If multiple messages are currently postponed, the
1446 <emphasis>postponed</emphasis> menu will pop up and you can select which message you would
1447 like to resume.
1448 </para>
1449
1450 <note>
1451 <para>
1452 If you postpone a reply to a message, the reply setting of
1453 the message is only updated when you actually finish the message and
1454 send it.  Also, you must be in the same folder with the message you
1455 replied to for the status of the message to be updated.
1456 </para>
1457 </note>
1458
1459 <para>
1460 See also the <link linkend="postpone">&dollar;postpone</link> quad-option.
1461 </para>
1462
1463 </sect1>
1464
1465 </chapter>
1466
1467 <chapter id="configuration">
1468 <title>Configuration</title>
1469
1470 <sect1 id="configuration-files">
1471 <title>Location of initialization files</title>
1472
1473 <para>
1474 While the default configuration (or <quote>preferences</quote>) make Mutt
1475 usable right out of the box, it is often desirable to tailor Mutt to
1476 suit your own tastes. When Mutt is first invoked, it will attempt to
1477 read the <quote>system</quote> configuration file (defaults set by your local
1478 system administrator), unless the <quote>-n</quote> <link linkend="commandline">command line</link> option is specified.  This file is typically
1479 <literal>/usr/local/share/mutt/Muttrc</literal> or <literal>/etc/Muttrc</literal>. Mutt
1480 will next look for a file named <literal>.muttrc</literal> in your home
1481 directory.  If this file does not exist and your home directory has
1482 a subdirectory named <literal>.mutt</literal>, mutt try to load a file named
1483 <literal>.mutt/muttrc</literal>.
1484 </para>
1485
1486 <para>
1487 <literal>.muttrc</literal> is the file where you will usually place your <link linkend="commands">commands</link> to configure Mutt.
1488 </para>
1489
1490 <para>
1491 In addition, mutt supports version specific configuration files that are
1492 parsed instead of the default files as explained above.  For instance, if
1493 your system has a <literal>Muttrc-0.88</literal> file in the system configuration
1494 directory, and you are running version 0.88 of mutt, this file will be
1495 sourced instead of the <literal>Muttrc</literal> file.  The same is true of the user
1496 configuration file, if you have a file <literal>.muttrc-0.88.6</literal> in your home
1497 directory, when you run mutt version 0.88.6, it will source this file
1498 instead of the default <literal>.muttrc</literal> file.  The version number is the
1499 same which is visible using the <quote>-v</quote> <link linkend="commandline">command line</link> switch or using the <literal>show-version</literal> key (default:
1500 V) from the index menu.
1501 </para>
1502
1503 </sect1>
1504
1505 <sect1 id="muttrc-syntax" xreflabel="Syntax of Initialization Files">
1506 <title>Syntax of Initialization Files</title>
1507
1508 <para>
1509 An initialization file consists of a series of <link linkend="commands">commands</link>.  Each line of the file may contain one or more commands.
1510 When multiple commands are used, they must be separated by a semicolon
1511 (;).
1512 </para>
1513
1514 <example id="ex-rc-multiple-cmds">
1515 <title>Multiple configuration commands per line</title>
1516 <screen>
1517 set realname='Mutt user' ; ignore x-
1518 </screen>
1519 </example>
1520
1521 <para>
1522 The hash mark, or pound sign
1523 (<quote>&num;</quote>), is used as a <quote>comment</quote> character. You can use it to
1524 annotate your initialization file. All text after the comment character
1525 to the end of the line is ignored. For example,
1526 </para>
1527
1528 <example id="ex-ec-comment">
1529 <title>Commenting configuration files</title>
1530 <screen>
1531 my_hdr X-Disclaimer: Why are you listening to me? &num; This is a comment
1532 </screen>
1533 </example>
1534
1535 <para>
1536 Single quotes (') and double quotes (&quot;) can be used to quote strings
1537 which contain spaces or other special characters.  The difference between
1538 the two types of quotes is similar to that of many popular shell programs,
1539 namely that a single quote is used to specify a literal string (one that is
1540 not interpreted for shell variables or quoting with a backslash &lsqb;see
1541 next paragraph&rsqb;), while double quotes indicate a string for which
1542 should be evaluated.  For example, backticks are evaluated inside of double
1543 quotes, but <emphasis role="bold">not</emphasis> for single quotes.
1544 </para>
1545
1546 <para>
1547 &bsol; quotes the next character, just as in shells such as bash and zsh.
1548 For example, if want to put quotes <quote>&quot;</quote> inside of a string, you can use
1549 <quote>&bsol;</quote> to force the next character to be a literal instead of interpreted
1550 character.
1551 </para>
1552
1553 <example id="ex-rc-quote">
1554 <title>Escaping quotes in congfiguration files</title>
1555 <screen>
1556 set realname="Michael \"MuttDude\" Elkins"
1557 </screen>
1558 </example>
1559
1560 <para>
1561 <quote>&bsol;&bsol;</quote> means to insert a literal <quote>&bsol;</quote> into the line.
1562 <quote>&bsol;n</quote> and <quote>&bsol;r</quote> have their usual C meanings of linefeed and
1563 carriage-return, respectively.
1564 </para>
1565
1566 <para>
1567 A &bsol; at the end of a line can be used to split commands over
1568 multiple lines, provided that the split points don't appear in the
1569 middle of command names.
1570 </para>
1571
1572 <para>
1573 It is also possible to substitute the output of a Unix command in an
1574 initialization file.  This is accomplished by enclosing the command in
1575 backticks (``).  For example,
1576 </para>
1577
1578 <example id="ex-rc-backtick">
1579 <title>Using external command's output in configuration files</title>
1580 <screen>
1581 my_hdr X-Operating-System: `uname -a`
1582 </screen>
1583 </example>
1584
1585 <para>
1586 The output of the Unix command <quote>uname -a</quote> will be substituted before the
1587 line is parsed.
1588 </para>
1589
1590 <note>
1591 <para>
1592 Since initialization files are line oriented, only
1593 the first line of output from the Unix command will be substituted.
1594 </para>
1595 </note>
1596
1597 <para>
1598 Both environment variables and mutt variables can be accessed by
1599 prepending <quote>&dollar;</quote> to the name of the variable. For example,
1600 </para>
1601
1602 <example id="ex-rc-env">
1603 <title>Using environment variables in configuration files</title>
1604 <screen>
1605 set record=+sent_on_$HOSTNAME
1606 </screen>
1607 </example>
1608
1609 <para>
1610 will cause mutt to save outgoing messages to a folder named
1611 <quote>sent_on_kremvax</quote> if the environment variable HOSTNAME is set to
1612 <quote>kremvax.</quote> (See <link linkend="record">&dollar;record</link> for
1613 details.)
1614 </para>
1615
1616 <para>
1617 Mutt expands the variable when it is assigned, not when it is used. If
1618 the value of a variable on the right-hand side of an assignment
1619 changes after the assignment, the variable on the left-hand side will
1620 not be affected.
1621 </para>
1622
1623 <para>
1624 The commands understood by mutt are explained in the next paragraphs.
1625 For a complete list, see the <link linkend="commands">command reference</link>.
1626 </para>
1627
1628 <para>
1629 All configuration files are expected to be in the current locale as
1630 specified by the <link linkend="charset">&dollar;charset</link> variable
1631 which doesn't have a default value since it's determined by Mutt at startup.
1632 If a configuration file is not encoded in the same character set the
1633 <link linkend="config-charset">&dollar;config&lowbar;charset</link>
1634 variable should be used: all lines starting with the next are recoded
1635 from &dollar;config&lowbar;charset to &dollar;charset.
1636 </para>
1637
1638 <para>
1639 This mechanism should be avoided if possible as it has the
1640 following implications:
1641 </para>
1642
1643 <itemizedlist>
1644
1645 <listitem><para>These variables should be set early in a configuration
1646 file with &dollar;charset preceding &dollar;config&lowbar;charset so Mutt
1647 know what character set to convert to.</para></listitem>
1648
1649 <listitem><para>If &dollar;config&lowbar;charset is set, it should be set
1650 in each configuration file because the value is global and <emphasis>not</emphasis>
1651 per configuration file.</para></listitem>
1652
1653 <listitem><para>Because Mutt first recodes a line before it attempts to parse it,
1654 a conversion introducing question marks or other characters as
1655 part of errors (unconvertable characters, transliteration) may introduce syntax
1656 errors or silently change the meaning of certain tokens (e.g. inserting
1657 question marks into regular expressions).</para></listitem>
1658
1659 </itemizedlist>
1660
1661 </sect1>
1662
1663 <sect1 id="addrgroup">
1664 <title>Address groups</title>
1665
1666 <para>Usage:</para>
1667
1668 <cmdsynopsis>
1669 <command>group</command>
1670 <arg choice="opt" rep="repeat">
1671 <option>-group</option>
1672 <replaceable class="parameter">name</replaceable>
1673 </arg>
1674 <group choice="req">
1675 <arg choice="plain" rep="repeat">
1676 <option>-rx</option>
1677 <replaceable class="parameter">expr</replaceable>
1678 </arg>
1679 <arg choice="plain" rep="repeat">
1680 <option>-addr</option>
1681 <replaceable class="parameter">expr</replaceable>
1682 </arg>
1683 </group>
1684 </cmdsynopsis>
1685
1686 <cmdsynopsis>
1687 <command>ungroup</command>
1688 <arg choice="opt" rep="repeat">
1689 <option>-group</option>
1690 <replaceable class="parameter">name</replaceable>
1691 </arg>
1692 <group choice="req">
1693 <arg choice="plain">
1694 <replaceable class="parameter">*</replaceable>
1695 </arg>
1696 <arg choice="plain" rep="repeat">
1697 <option>-rx</option>
1698 <replaceable class="parameter">expr</replaceable>
1699 </arg>
1700 <arg choice="plain" rep="repeat">
1701 <option>-addr</option>
1702 <replaceable class="parameter">expr</replaceable>
1703 </arg>
1704 </group>
1705 </cmdsynopsis>
1706
1707 <para>
1708 <literal>group</literal> is used to directly add either addresses or
1709 regular expressions to the specified group or groups. The different
1710 categories of arguments to the <literal>group</literal> command can be
1711 in any order. The flags <literal>-rx</literal> and
1712 <literal>-addr</literal> specify what the following strings (that cannot
1713 begin with a hyphen) should be interpreted as: either a regular
1714 expression or an email address, respectively.
1715 </para>
1716
1717 <para>
1718 These address groups can also be created implicitly by the
1719 <link linkend="alias">alias</link>, <link linkend="lists">lists</link>,
1720 <link linkend="lists">subscribe</link> and
1721 <link linkend="alternates">alternates</link> commands by specifying the
1722 optional <literal>-group</literal> option.
1723 </para>
1724
1725 <para>
1726 Once defined, these address groups can be used in
1727 <link linkend="patterns">patterns</link> to search for and limit the
1728 display to messages matching a group.
1729 </para>
1730
1731 <para>
1732 <literal>ungroup</literal> is used to remove addresses or regular
1733 expressions from the specified group or groups. The syntax is similar to
1734 the <literal>group</literal> command, however the special character
1735 <literal>*</literal> can be used to empty a group of all of its
1736 contents.
1737 </para>
1738
1739 </sect1>
1740
1741 <sect1 id="alias">
1742 <title>Defining/Using aliases</title>
1743
1744 <para>Usage:</para>
1745
1746 <cmdsynopsis>
1747 <command>alias</command>
1748 <arg choice="opt" rep="repeat">
1749 <option>-group</option>
1750 <replaceable class="parameter">name</replaceable>
1751 </arg>
1752 <arg choice="plain">
1753 <replaceable class="parameter">key</replaceable>
1754 </arg>
1755 <arg choice="plain">
1756 <replaceable class="parameter">address</replaceable>
1757 </arg>
1758 <arg choice="opt" rep="repeat">
1759 <replaceable class="parameter">address</replaceable>
1760 </arg>
1761 </cmdsynopsis>
1762
1763 <para>
1764 It's usually very cumbersome to remember or type out the address of someone
1765 you are communicating with.  Mutt allows you to create <quote>aliases</quote> which map
1766 a short string to a full address.
1767 </para>
1768
1769 <note>
1770 <para>
1771 If you want to create an alias for more than
1772 one address, you <emphasis role="bold">must</emphasis> separate the addresses with a comma (<quote>,</quote>).
1773 </para>
1774 </note>
1775
1776 <para>
1777 The optional <literal>-group</literal> argument to
1778 <literal>alias</literal> causes the aliased address(es) to be added to
1779 the named <emphasis>group</emphasis>.
1780 </para>
1781
1782 <para>
1783 To remove an alias or aliases (<quote>*</quote> means all aliases):
1784 </para>
1785
1786 <cmdsynopsis>
1787 <command>unalias</command>
1788 <arg choice="opt" rep="repeat">
1789 <option>-group</option>
1790 <replaceable>name</replaceable>
1791 </arg>
1792 <group choice="req">
1793 <arg choice="plain">
1794 <replaceable class="parameter">*</replaceable>
1795 </arg>
1796 <arg choice="plain" rep="repeat">
1797 <replaceable class="parameter">key</replaceable>
1798 </arg>
1799 </group>
1800 </cmdsynopsis>
1801
1802 <screen>
1803 alias muttdude me@cs.hmc.edu (Michael Elkins)
1804 alias theguys manny, moe, jack
1805 </screen>
1806
1807 <para>
1808 Unlike other mailers, Mutt doesn't require aliases to be defined
1809 in a special file.  The <literal>alias</literal> command can appear anywhere in
1810 a configuration file, as long as this file is <link linkend="source">sourced</link>.  Consequently, you can have multiple alias files, or
1811 you can have all aliases defined in your muttrc.
1812 </para>
1813
1814 <para>
1815 On the other hand, the <link linkend="create-alias"><literal>&lt;create-alias&gt;</literal></link>
1816 function can use only one file, the one pointed to by the <link linkend="alias-file">&dollar;alias&lowbar;file</link> variable (which is
1817 <literal>&tilde;/.muttrc</literal> by default). This file is not special either,
1818 in the sense that Mutt will happily append aliases to any file, but in
1819 order for the new aliases to take effect you need to explicitly <link linkend="source">source</link> this file too.
1820 </para>
1821
1822 <para>
1823 For example:
1824 </para>
1825
1826 <example id="ex-alias-external">
1827 <title>Configuring external alias files</title>
1828 <screen>
1829 source /usr/local/share/Mutt.aliases
1830 source ~/.mail_aliases
1831 set alias_file=~/.mail_aliases
1832 </screen>
1833 </example>
1834
1835 <para>
1836 To use aliases, you merely use the alias at any place in mutt where mutt
1837 prompts for addresses, such as the <emphasis>To:</emphasis> or <emphasis>Cc:</emphasis> prompt.  You can
1838 also enter aliases in your editor at the appropriate headers if you have the
1839 <link linkend="edit-headers">&dollar;edit&lowbar;headers</link> variable set.
1840 </para>
1841
1842 <para>
1843 In addition, at the various address prompts, you can use the tab character
1844 to expand a partial alias to the full alias.  If there are multiple matches,
1845 mutt will bring up a menu with the matching aliases.  In order to be
1846 presented with the full list of aliases, you must hit tab with out a partial
1847 alias, such as at the beginning of the prompt or after a comma denoting
1848 multiple addresses.
1849 </para>
1850
1851 <para>
1852 In the alias menu, you can select as many aliases as you want with the
1853 <literal>select-entry</literal> key (default: &lt;Return&gt;), and use the
1854 <emphasis>exit</emphasis> key (default: q) to return to the address prompt.
1855 </para>
1856
1857 </sect1>
1858
1859 <sect1 id="bind">
1860 <title>Changing the default key bindings</title>
1861
1862 <para>Usage:</para>
1863
1864 <cmdsynopsis>
1865 <command>bind</command>
1866 <arg choice="plain">
1867 <replaceable class="parameter">map</replaceable>
1868 </arg>
1869 <arg choice="plain">
1870 <replaceable class="parameter">key</replaceable>
1871 </arg>
1872 <arg choice="plain">
1873 <replaceable class="parameter">function</replaceable>
1874 </arg>
1875 </cmdsynopsis>
1876
1877 <para>
1878 This command allows you to change the default key bindings (operation
1879 invoked when pressing a key).
1880 </para>
1881
1882 <para>
1883 <emphasis>map</emphasis> specifies in which menu the binding belongs.  Multiple maps may
1884 be specified by separating them with commas (no additional whitespace is
1885 allowed). The currently defined maps are:
1886 </para>
1887
1888 <anchor id="maps"/>
1889 <variablelist>
1890
1891 <varlistentry>
1892 <term>generic</term>
1893 <listitem>
1894 <para>
1895 This is not a real menu, but is used as a fallback for all of the other
1896 menus except for the pager and editor modes.  If a key is not defined in
1897 another menu, Mutt will look for a binding to use in this menu.  This allows
1898 you to bind a key to a certain function in multiple menus instead of having
1899 multiple bind statements to accomplish the same task.
1900 </para>
1901 </listitem>
1902 </varlistentry>
1903 <varlistentry>
1904 <term>alias</term>
1905 <listitem>
1906 <para>
1907 The alias menu is the list of your personal aliases as defined in your
1908 muttrc.  It is the mapping from a short alias name to the full email
1909 address(es) of the recipient(s).
1910 </para>
1911 </listitem>
1912 </varlistentry>
1913 <varlistentry>
1914 <term>attach</term>
1915 <listitem>
1916 <para>
1917 The attachment menu is used to access the attachments on received messages.
1918 </para>
1919 </listitem>
1920 </varlistentry>
1921 <varlistentry>
1922 <term>browser</term>
1923 <listitem>
1924 <para>
1925 The browser is used for both browsing the local directory structure, and for
1926 listing all of your incoming mailboxes.
1927 </para>
1928 </listitem>
1929 </varlistentry>
1930 <varlistentry>
1931 <term>editor</term>
1932 <listitem>
1933 <para>
1934 The editor is the line-based editor the user enters text data.
1935 </para>
1936 </listitem>
1937 </varlistentry>
1938 <varlistentry>
1939 <term>index</term>
1940 <listitem>
1941 <para>
1942 The index is the list of messages contained in a mailbox.
1943 </para>
1944 </listitem>
1945 </varlistentry>
1946 <varlistentry>
1947 <term>compose</term>
1948 <listitem>
1949 <para>
1950 The compose menu is the screen used when sending a new message.
1951 </para>
1952 </listitem>
1953 </varlistentry>
1954 <varlistentry>
1955 <term>pager</term>
1956 <listitem>
1957 <para>
1958 The pager is the mode used to display message/attachment data, and help
1959 listings.
1960 </para>
1961 </listitem>
1962 </varlistentry>
1963 <varlistentry>
1964 <term>pgp</term>
1965 <listitem>
1966 <para>
1967 The pgp menu is used to select the OpenPGP keys used to encrypt outgoing
1968 messages.
1969 </para>
1970 </listitem>
1971 </varlistentry>
1972 <varlistentry>
1973 <term>smime</term>
1974 <listitem>
1975 <para>
1976 The smime menu is used to select the OpenSSL certificates used to encrypt outgoing
1977 messages.
1978 </para>
1979 </listitem>
1980 </varlistentry>
1981 <varlistentry>
1982 <term>postpone</term>
1983 <listitem>
1984 <para>
1985 The postpone menu is similar to the index menu, except is used when
1986 recalling a message the user was composing, but saved until later.
1987 </para>
1988 </listitem>
1989 </varlistentry>
1990 <varlistentry>
1991 <term>query</term>
1992 <listitem>
1993 <para>
1994 The query menu is the browser for results returned by
1995 <link linkend="query-command">&dollar;query&lowbar;command</link>.
1996 </para>
1997 </listitem>
1998 </varlistentry>
1999 <varlistentry>
2000 <term>mix</term>
2001 <listitem>
2002 <para>
2003 The mixmaster screen is used to select remailer options for outgoing
2004 messages (if Mutt is compiled with Mixmaster support).
2005 </para>
2006 </listitem>
2007 </varlistentry>
2008 </variablelist>
2009
2010 <para>
2011 <emphasis>key</emphasis> is the key (or key sequence) you wish to bind.  To specify a
2012 control character, use the sequence <emphasis>&bsol;Cx</emphasis>, where <emphasis>x</emphasis> is the
2013 letter of the control character (for example, to specify control-A use
2014 <quote>&bsol;Ca</quote>).  Note that the case of <emphasis>x</emphasis> as well as <emphasis>&bsol;C</emphasis> is
2015 ignored, so that <emphasis>&bsol;CA</emphasis>, <emphasis>&bsol;Ca</emphasis>, <emphasis>&bsol;cA</emphasis> and <emphasis>&bsol;ca</emphasis> are all
2016 equivalent.  An alternative form is to specify the key as a three digit
2017 octal number prefixed with a <quote>&bsol;</quote> (for example <emphasis>&bsol;177</emphasis> is
2018 equivalent to <emphasis>&bsol;c?</emphasis>). In addition, <emphasis>key</emphasis> may
2019 be a symbolic name as shown in <xref linkend="tab-key-names"/>.
2020 </para>
2021
2022 <table id="tab-key-names">
2023 <title>Symbolic key names</title>
2024 <tgroup cols="2">
2025 <thead>
2026 <row><entry>Symbolic name</entry><entry>Meaning</entry></row>
2027 </thead>
2028 <tbody>
2029 <row><entry>&bsol;t</entry><entry>tab</entry></row>
2030 <row><entry>&lt;tab&gt;</entry><entry>tab</entry></row>
2031 <row><entry>&lt;backtab&gt;</entry><entry>backtab / shift-tab</entry></row>
2032 <row><entry>&bsol;r</entry><entry>carriage return</entry></row>
2033 <row><entry>&bsol;n</entry><entry>newline</entry></row>
2034 <row><entry>&bsol;e</entry><entry>escape</entry></row>
2035 <row><entry>&lt;esc&gt;</entry><entry>escape</entry></row>
2036 <row><entry>&lt;up&gt;</entry><entry>up arrow</entry></row>
2037 <row><entry>&lt;down&gt;</entry><entry>down arrow</entry></row>
2038 <row><entry>&lt;left&gt;</entry><entry>left arrow</entry></row>
2039 <row><entry>&lt;right&gt;</entry><entry>right arrow</entry></row>
2040 <row><entry>&lt;pageup&gt;</entry><entry>Page Up</entry></row>
2041 <row><entry>&lt;pagedown&gt;</entry><entry>Page Down</entry></row>
2042 <row><entry>&lt;backspace&gt;</entry><entry>Backspace</entry></row>
2043 <row><entry>&lt;delete&gt;</entry><entry>Delete</entry></row>
2044 <row><entry>&lt;insert&gt;</entry><entry>Insert</entry></row>
2045 <row><entry>&lt;enter&gt;</entry><entry>Enter</entry></row>
2046 <row><entry>&lt;return&gt;</entry><entry>Return</entry></row>
2047 <row><entry>&lt;home&gt;</entry><entry>Home</entry></row>
2048 <row><entry>&lt;end&gt;</entry><entry>End</entry></row>
2049 <row><entry>&lt;space&gt;</entry><entry>Space bar</entry></row>
2050 <row><entry>&lt;f1&gt;</entry><entry>function key 1</entry></row>
2051 <row><entry>&lt;f10&gt;</entry><entry>function key 10</entry></row>
2052 </tbody>
2053 </tgroup>
2054 </table>
2055
2056 <para>
2057 <emphasis>key</emphasis> does not need to be enclosed in quotes unless it contains a
2058 space (<quote>&puncsp;</quote>) or semi-colon (<quote>;</quote>).
2059 </para>
2060
2061 <para>
2062 <emphasis>function</emphasis> specifies which action to take when <emphasis>key</emphasis> is pressed.
2063 For a complete list of functions, see the <link linkend="functions">reference</link>.  The special function <literal>&lt;noop&gt;</literal> unbinds the specified key
2064 sequence.
2065 </para>
2066
2067 </sect1>
2068
2069 <sect1 id="charset-hook">
2070 <title>Defining aliases for character sets </title>
2071
2072 <para>Usage:</para>
2073
2074 <cmdsynopsis>
2075 <command>charset-hook</command>
2076 <arg choice="plain">
2077 <replaceable class="parameter">alias</replaceable>
2078 </arg>
2079 <arg choice="plain">
2080 <replaceable class="parameter">charset</replaceable>
2081 </arg>
2082 </cmdsynopsis>
2083
2084 <cmdsynopsis>
2085 <command>iconv-hook</command>
2086 <arg choice="plain">
2087 <replaceable class="parameter">charset</replaceable>
2088 </arg>
2089 <arg choice="plain">
2090 <replaceable class="parameter">local-charset</replaceable>
2091 </arg>
2092 </cmdsynopsis>
2093
2094 <para>
2095 The <literal>charset-hook</literal> command defines an alias for a character set.
2096 This is useful to properly display messages which are tagged with a
2097 character set name not known to mutt.
2098 </para>
2099
2100 <para>
2101 The <literal>iconv-hook</literal> command defines a system-specific name for a
2102 character set.  This is helpful when your systems character
2103 conversion library insists on using strange, system-specific names
2104 for character sets.
2105 </para>
2106
2107 </sect1>
2108
2109 <sect1 id="folder-hook">
2110 <title>Setting variables based upon mailbox</title>
2111
2112 <para>Usage:</para>
2113
2114 <cmdsynopsis>
2115 <command>folder-hook</command>
2116 <arg choice="plain">
2117 <replaceable class="parameter">&lsqb;!&rsqb;regexp</replaceable>
2118 </arg>
2119 <arg choice="plain">
2120 <replaceable class="parameter">command</replaceable>
2121 </arg>
2122 </cmdsynopsis>
2123
2124 <para>
2125 It is often desirable to change settings based on which mailbox you are
2126 reading.  The folder-hook command provides a method by which you can execute
2127 any configuration command.  <emphasis>regexp</emphasis> is a regular expression specifying
2128 in which mailboxes to execute <emphasis>command</emphasis> before loading.  If a mailbox
2129 matches multiple folder-hook's, they are executed in the order given in the
2130 muttrc.
2131 </para>
2132
2133 <note>
2134 <para>
2135 If you use the <quote>!</quote> shortcut for <link linkend="spoolfile">&dollar;spoolfile</link> at the beginning of the pattern, you must place it
2136 inside of double or single quotes in order to distinguish it from the
2137 logical <emphasis>not</emphasis> operator for the expression.
2138 </para>
2139 </note>
2140
2141 <note>
2142 <para>
2143 Settings are <emphasis>not</emphasis> restored when you leave the mailbox.
2144 For example, a command action to perform is to change the sorting method
2145 based upon the mailbox being read:
2146 </para>
2147 </note>
2148
2149 <screen>
2150 folder-hook mutt set sort=threads
2151 </screen>
2152
2153 <para>
2154 However, the sorting method is not restored to its previous value when
2155 reading a different mailbox.  To specify a <emphasis>default</emphasis> command, use the
2156 pattern <quote>.</quote> before other folder-hooks adjusting a value on a per-folder basis
2157 because folder-hooks are evaluated in the order given in the configuration file.
2158 The following example will set the <link linkend="sort">sort</link> variable
2159 to <literal>date-sent</literal> for all folders but to <literal>threads</literal>
2160 for all folders containing <quote>mutt</quote> in their name.
2161 </para>
2162
2163 <example id="ex-folder-sorting">
2164 <title>Setting sort method based on mailbox name</title>
2165 <screen>
2166 folder-hook . set sort=date-sent
2167 folder-hook mutt set sort=threads
2168 </screen>
2169 </example>
2170
2171 </sect1>
2172
2173 <sect1 id="macro">
2174 <title>Keyboard macros</title>
2175
2176 <para>Usage:</para>
2177
2178 <cmdsynopsis>
2179 <command>macro</command>
2180 <arg choice="plain">
2181 <replaceable class="parameter">menu</replaceable>
2182 </arg>
2183 <arg choice="plain">
2184 <replaceable class="parameter">key</replaceable>
2185 </arg>
2186 <arg choice="plain">
2187 <replaceable class="parameter">sequence</replaceable>
2188 </arg>
2189 <arg choice="opt">
2190 <replaceable class="parameter">description</replaceable>
2191 </arg>
2192 </cmdsynopsis>
2193
2194 <para>
2195 Macros are useful when you would like a single key to perform a series of
2196 actions.  When you press <emphasis>key</emphasis> in menu <emphasis>menu</emphasis>, Mutt will behave as if
2197 you had typed <emphasis>sequence</emphasis>.  So if you have a common sequence of commands
2198 you type, you can create a macro to execute those commands with a single
2199 key or fewer keys.
2200 </para>
2201
2202 <para>
2203 <emphasis>menu</emphasis> is the <link linkend="maps">map</link> which the macro will be bound in.
2204 Multiple maps may be specified by separating multiple menu arguments by
2205 commas. Whitespace may not be used in between the menu arguments and the
2206 commas separating them.
2207 </para>
2208
2209 <para>
2210 <emphasis>key</emphasis> and <emphasis>sequence</emphasis> are expanded by the same rules as the
2211 <link linkend="bind">key bindings</link> with some additions.  The
2212 first is that control characters in <emphasis>sequence</emphasis> can also be specified
2213 as <emphasis>&circ;x</emphasis>.  In order to get a caret (<quote>&circ;</quote>) you need to use
2214 <emphasis>&circ;&circ;</emphasis>.  Secondly, to specify a certain key such as <emphasis>up</emphasis>
2215 or to invoke a function directly, you can use the format
2216 <emphasis>&lt;key name&gt;</emphasis> and <emphasis>&lt;function name&gt;</emphasis>.  For a listing of key
2217 names see the section on <link linkend="bind">key bindings</link>.  Functions
2218 are listed in the <link linkend="functions">reference</link>.
2219 </para>
2220
2221 <para>
2222 The advantage with using function names directly is that the macros will
2223 work regardless of the current key bindings, so they are not dependent on
2224 the user having particular key definitions.  This makes them more robust
2225 and portable, and also facilitates defining of macros in files used by more
2226 than one user (e.g., the system Muttrc).
2227 </para>
2228
2229 <para>
2230 Optionally you can specify a descriptive text after <emphasis>sequence</emphasis>,
2231 which is shown in the help screens.
2232 </para>
2233
2234 <note>
2235 <para>
2236 Macro definitions (if any) listed in the help screen(s), are
2237 silently truncated at the screen width, and are not wrapped.
2238 </para>
2239 </note>
2240
2241 </sect1>
2242
2243 <sect1 id="color">
2244 <title>Using color and mono video attributes</title>
2245
2246 <para>Usage:</para>
2247
2248 <cmdsynopsis>
2249 <command>color</command>
2250 <arg choice="plain">
2251 <replaceable class="parameter">object</replaceable>
2252 </arg>
2253 <arg choice="plain">
2254 <replaceable class="parameter">foreground</replaceable>
2255 </arg>
2256 <arg choice="plain">
2257 <replaceable class="parameter">background</replaceable>
2258 </arg>
2259 </cmdsynopsis>
2260
2261 <cmdsynopsis>
2262 <command>color</command>
2263 <group choice="req">
2264 <arg choice="plain">
2265 <option>header</option>
2266 </arg>
2267 <arg choice="plain">
2268 <option>body</option>
2269 </arg>
2270 </group>
2271 <arg choice="plain">
2272 <replaceable class="parameter">foreground</replaceable>
2273 </arg>
2274 <arg choice="plain">
2275 <replaceable class="parameter">background</replaceable>
2276 </arg>
2277 <arg choice="plain">
2278 <replaceable class="parameter">regexp</replaceable>
2279 </arg>
2280 </cmdsynopsis>
2281
2282 <cmdsynopsis>
2283 <command>color</command>
2284 <arg choice="plain">
2285 <option>index</option>
2286 </arg>
2287 <arg choice="plain">
2288 <replaceable class="parameter">foreground</replaceable>
2289 </arg>
2290 <arg choice="plain">
2291 <replaceable class="parameter">background</replaceable>
2292 </arg>
2293 <arg choice="plain">
2294 <replaceable class="parameter">pattern</replaceable>
2295 </arg>
2296 </cmdsynopsis>
2297
2298 <cmdsynopsis>
2299 <command>uncolor</command>
2300 <arg choice="plain">
2301 <option>index</option>
2302 </arg>
2303 <group choice="req">
2304 <arg choice="plain">
2305 <replaceable>*</replaceable>
2306 </arg>
2307 <arg choice="plain" rep="repeat">
2308 <replaceable>pattern</replaceable>
2309 </arg>
2310 </group>
2311 </cmdsynopsis>
2312
2313 <para>
2314 If your terminal supports color, you can spice up Mutt by creating your own
2315 color scheme.  To define the color of an object (type of information), you
2316 must specify both a foreground color <emphasis role="bold">and</emphasis> a background color (it is not
2317 possible to only specify one or the other).
2318 </para>
2319
2320 <para>
2321 <emphasis>header</emphasis> and <emphasis>body</emphasis> match <emphasis>regexp</emphasis>
2322 in the header/body of a message, <emphasis>index</emphasis> matches <emphasis>pattern</emphasis>
2323 (see <xref linkend="patterns"/>) in the message index.
2324 </para>
2325
2326 <para>
2327 <emphasis>object</emphasis> can be one of:
2328 </para>
2329
2330 <itemizedlist>
2331 <listitem><para>attachment</para></listitem>
2332 <listitem><para>bold (hiliting bold patterns in the body of messages)</para></listitem>
2333 <listitem><para>error (error messages printed by Mutt)</para></listitem>
2334 <listitem><para>hdrdefault (default color of the message header in the pager)</para></listitem>
2335 <listitem><para>indicator (arrow or bar used to indicate the current item in a menu)</para></listitem>
2336 <listitem><para>markers (the <quote>+</quote> markers at the beginning of wrapped lines in the pager)</para></listitem>
2337 <listitem><para>message (informational messages)</para></listitem>
2338 <listitem><para>normal</para></listitem>
2339 <listitem><para>quoted (text matching <link linkend="quote-regexp">&dollar;quote&lowbar;regexp</link> in the body of a message)</para></listitem>
2340 <listitem><para>quoted1, quoted2, ..., quoted<emphasis role="bold">N</emphasis> (higher levels of quoting)</para></listitem>
2341 <listitem><para>search (hiliting of words in the pager)</para></listitem>
2342 <listitem><para>signature</para></listitem><listitem><para>status (mode lines used to display info about the mailbox or message)</para></listitem>
2343 <listitem><para>tilde (the <quote>&tilde;</quote> used to pad blank lines in the pager)</para></listitem>
2344 <listitem><para>tree (thread tree drawn in the message index and attachment menu)</para></listitem>
2345 <listitem><para>underline (hiliting underlined patterns in the body of messages)</para></listitem>
2346 </itemizedlist>
2347
2348 <para>
2349 <emphasis>foreground</emphasis> and <emphasis>background</emphasis> can be one of the following:
2350 </para>
2351
2352 <itemizedlist>
2353 <listitem><para>white</para></listitem>
2354 <listitem><para>black</para></listitem>
2355 <listitem><para>green</para></listitem>
2356 <listitem><para>magenta</para></listitem>
2357 <listitem><para>blue</para></listitem>
2358 <listitem><para>cyan</para></listitem>
2359 <listitem><para>yellow</para></listitem>
2360 <listitem><para>red</para></listitem>
2361 <listitem><para>default</para></listitem>
2362 <listitem><para>color<emphasis>x</emphasis></para>
2363 </listitem>
2364 </itemizedlist>
2365
2366 <para>
2367 <emphasis>foreground</emphasis> can optionally be prefixed with the keyword <literal>bright</literal> to make
2368 the foreground color boldfaced (e.g., <literal>brightred</literal>).
2369 </para>
2370
2371 <para>
2372 If your terminal supports it, the special keyword <emphasis>default</emphasis> can be
2373 used as a transparent color.  The value <emphasis>brightdefault</emphasis> is also valid.
2374 If Mutt is linked against the <emphasis>S-Lang</emphasis> library, you also need to set
2375 the <emphasis>COLORFGBG</emphasis> environment variable to the default colors of your
2376 terminal for this to work; for example (for Bourne-like shells):
2377 </para>
2378
2379 <screen>
2380 set COLORFGBG="green;black"
2381 export COLORFGBG
2382 </screen>
2383
2384 <note>
2385 <para>
2386 The <emphasis>S-Lang</emphasis> library requires you to use the <emphasis>lightgray</emphasis>
2387 and <emphasis>brown</emphasis> keywords instead of <emphasis>white</emphasis> and <emphasis>yellow</emphasis> when
2388 setting this variable.
2389 </para>
2390 </note>
2391
2392 <note>
2393 <para>
2394 The uncolor command can be applied to the index object only.  It
2395 removes entries from the list. You <emphasis role="bold">must</emphasis> specify the same pattern
2396 specified in the color command for it to be removed.  The pattern <quote>*</quote> is
2397 a special token which means to clear the color index list of all entries.
2398 </para>
2399 </note>
2400
2401 <para>
2402 Mutt also recognizes the keywords <emphasis>color0</emphasis>, <emphasis>color1</emphasis>, &hellip;,
2403 <emphasis>color</emphasis><emphasis role="bold">N-1</emphasis> (<emphasis role="bold">N</emphasis> being the number of colors supported
2404 by your terminal).  This is useful when you remap the colors for your
2405 display (for example by changing the color associated with <emphasis>color2</emphasis>
2406 for your xterm), since color names may then lose their normal meaning.
2407 </para>
2408
2409 <para>
2410 If your terminal does not support color, it is still possible change the video
2411 attributes through the use of the <quote>mono</quote> command:
2412 </para>
2413
2414 <anchor id="mono"/>
2415 <para>Usage:</para>
2416
2417 <cmdsynopsis>
2418 <command>mono</command>
2419 <arg choice="plain">
2420 <replaceable class="parameter">object</replaceable>
2421 </arg>
2422 <arg choice="plain">
2423 <replaceable class="parameter">attribute</replaceable>
2424 </arg>
2425 </cmdsynopsis>
2426
2427 <cmdsynopsis>
2428 <command>mono</command>
2429 <group choice="req">
2430 <arg choice="plain">
2431 <option>header</option>
2432 </arg>
2433 <arg choice="plain">
2434 <option>body</option>
2435 </arg>
2436 </group>
2437 <arg choice="plain">
2438 <replaceable class="parameter">attribute</replaceable>
2439 </arg>
2440 <arg choice="plain">
2441 <replaceable class="parameter">regexp</replaceable>
2442 </arg>
2443 </cmdsynopsis>
2444
2445 <cmdsynopsis>
2446 <command>mono</command>
2447 <arg choice="plain">
2448 <option>index</option>
2449 </arg>
2450 <arg choice="plain">
2451 <replaceable class="parameter">attribute</replaceable>
2452 </arg>
2453 <arg choice="plain">
2454 <replaceable class="parameter">pattern</replaceable>
2455 </arg>
2456 </cmdsynopsis>
2457
2458 <cmdsynopsis>
2459 <command>unmono</command>
2460 <arg choice="plain">
2461 <option>index</option>
2462 </arg>
2463 <group choice="req">
2464 <arg choice="plain">
2465 <replaceable>*</replaceable>
2466 </arg>
2467 <arg choice="plain" rep="repeat">
2468 <replaceable>pattern</replaceable>
2469 </arg>
2470 </group>
2471 </cmdsynopsis>
2472
2473 <para>
2474 For <emphasis>object</emphasis>, see the color command. <emphasis>attribute</emphasis>
2475 can be one of the following:
2476 </para>
2477
2478 <itemizedlist>
2479 <listitem><para>none</para></listitem>
2480 <listitem><para>bold</para></listitem>
2481 <listitem><para>underline</para></listitem>
2482 <listitem><para>reverse</para></listitem>
2483 <listitem><para>standout</para></listitem>
2484 </itemizedlist>
2485
2486 </sect1>
2487
2488 <sect1 id="ignore">
2489 <title>Message header display</title>
2490
2491 <para>Usage:</para>
2492
2493 <cmdsynopsis>
2494 <command>ignore</command>
2495 <arg choice="plain">
2496 <replaceable class="parameter">pattern</replaceable>
2497 </arg>
2498 <arg choice="opt" rep="repeat">
2499 <replaceable class="parameter">pattern</replaceable>
2500 </arg>
2501 </cmdsynopsis>
2502
2503 <cmdsynopsis>
2504 <command>unignore</command>
2505 <group choice="req">
2506 <arg choice="plain">
2507 <replaceable>*</replaceable>
2508 </arg>
2509 <arg choice="plain" rep="repeat">
2510 <replaceable>pattern</replaceable>
2511 </arg>
2512 </group>
2513 </cmdsynopsis>
2514
2515 <para>
2516 Messages often have many header fields added by automatic processing systems,
2517 or which may not seem useful to display on the screen.  This command allows
2518 you to specify header fields which you don't normally want to see in the pager.
2519 </para>
2520
2521 <para>
2522 You do not need to specify the full header field name.  For example,
2523 <quote>ignore content-</quote> will ignore all header fields that begin with the pattern
2524 <quote>content-</quote>. <quote>ignore *</quote> will ignore all headers.
2525 </para>
2526
2527 <para>
2528 To remove a previously added token from the list, use the <quote>unignore</quote> command.
2529 The <quote>unignore</quote> command will make Mutt display headers with the given pattern.
2530 For example, if you do <quote>ignore x-</quote> it is possible to <quote>unignore x-mailer</quote>.
2531 </para>
2532
2533 <para>
2534 <quote>unignore *</quote> will remove all tokens from the ignore list.
2535 </para>
2536
2537 <para>
2538 For example:
2539 </para>
2540
2541 <example id="ex-header-weeding">
2542 <title>Header weeding</title>
2543 <screen>
2544 # Sven's draconian header weeding
2545 ignore *
2546 unignore from date subject to cc
2547 unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2548 unignore posted-to:
2549 </screen>
2550 </example>
2551
2552 <anchor id="hdr-order"/>
2553 <para>Usage:</para>
2554
2555 <cmdsynopsis>
2556 <command>hdr&lowbar;order</command>
2557 <arg choice="plain">
2558 <replaceable class="parameter">header</replaceable>
2559 </arg>
2560 <arg choice="opt" rep="repeat">
2561 <replaceable class="parameter">header</replaceable>
2562 </arg>
2563 </cmdsynopsis>
2564
2565 <cmdsynopsis>
2566 <command>unhdr&lowbar;order</command>
2567 <group choice="req">
2568 <arg choice="plain">
2569 <replaceable>*</replaceable>
2570 </arg>
2571 <arg choice="plain" rep="repeat">
2572 <replaceable>header</replaceable>
2573 </arg>
2574 </group>
2575 </cmdsynopsis>
2576
2577 <para>
2578 With the <literal>hdr&lowbar;order</literal> command you can specify an order in
2579 which mutt will attempt to present these headers to you when viewing messages.
2580 </para>
2581
2582 <para>
2583 <quote>unhdr&lowbar;order *</quote> will clear all previous headers from the order list,
2584 thus removing the header order effects set by the system-wide startup file.
2585 </para>
2586
2587 <example id="ex-hdr-order">
2588 <title>Configuring header display order</title>
2589 <screen>
2590 hdr&lowbar;order From Date: From: To: Cc: Subject:
2591 </screen>
2592 </example>
2593
2594 </sect1>
2595
2596 <sect1 id="alternates">
2597 <title>Alternative addresses</title>
2598
2599 <para>Usage:</para>
2600
2601 <cmdsynopsis>
2602 <command>alternates</command>
2603 <arg choice="opt" rep="repeat">
2604 <option>-group</option>
2605 <replaceable>name</replaceable>
2606 </arg>
2607 <arg choice="plain">
2608 <replaceable>regexp</replaceable>
2609 </arg>
2610 <arg choice="opt" rep="repeat">
2611 <replaceable>regexp</replaceable>
2612 </arg>
2613 </cmdsynopsis>
2614
2615 <cmdsynopsis>
2616 <command>unalternates</command>
2617 <arg choice="opt" rep="repeat">
2618 <option>-group</option>
2619 <replaceable>name</replaceable>
2620 </arg>
2621 <group choice="req">
2622 <arg choice="plain">
2623 <replaceable>*</replaceable>
2624 </arg>
2625 <arg choice="plain" rep="repeat">
2626 <replaceable>regexp</replaceable>
2627 </arg>
2628 </group>
2629 </cmdsynopsis>
2630
2631 <para>
2632 With various functions, mutt will treat messages differently,
2633 depending on whether you sent them or whether you received them from
2634 someone else.  For instance, when replying to a message that you
2635 sent to a different party, mutt will automatically suggest to send
2636 the response to the original message's recipients -- responding to
2637 yourself won't make much sense in many cases.  (See <link linkend="reply-to">&dollar;reply&lowbar;to</link>.)
2638 </para>
2639
2640 <para>
2641 Many users receive e-mail under a number of different addresses. To
2642 fully use mutt's features here, the program must be able to
2643 recognize what e-mail addresses you receive mail under. That's the
2644 purpose of the <literal>alternates</literal> command: It takes a list of regular
2645 expressions, each of which can identify an address under which you
2646 receive e-mail.
2647 </para>
2648
2649 <para>
2650 As addresses are matched using regular expressions and not exact strict
2651 comparisons, you should make sure you specify your addresses as precise
2652 as possible to avoid mismatches. For example, if you specify:
2653 </para>
2654
2655 <screen>
2656 alternates user@example
2657 </screen>
2658
2659 <para>
2660 mutt will consider <quote><literal>some-user@example</literal></quote> as
2661 being your address, too which may not be desired. As a solution, in such
2662 cases addresses should be specified as:
2663 </para>
2664
2665 <screen>
2666 alternates '^user@example$'
2667 </screen>
2668
2669 <para>
2670 The <literal>-group</literal> flag causes all of the subsequent regular expressions
2671 to be added to the named group.
2672 </para>
2673
2674 <para>
2675 The <literal>unalternates</literal> command can be used to write exceptions to
2676 <literal>alternates</literal> patterns. If an address matches something in an
2677 <literal>alternates</literal> command, but you nonetheless do not think it is
2678 from you, you can list a more precise pattern under an <literal>unalternates</literal>
2679 command.
2680 </para>
2681
2682 <para>
2683 To remove a regular expression from the <literal>alternates</literal> list, use the
2684 <literal>unalternates</literal> command with exactly the same <emphasis>regexp</emphasis>.
2685 Likewise, if the <emphasis>regexp</emphasis> for an <literal>alternates</literal> command matches
2686 an entry on the <literal>unalternates</literal> list, that <literal>unalternates</literal>
2687 entry will be removed. If the <emphasis>regexp</emphasis> for <literal>unalternates</literal>
2688 is <quote>*</quote>, <emphasis>all entries</emphasis> on <literal>alternates</literal> will be removed.
2689 </para>
2690
2691 </sect1>
2692
2693 <sect1 id="lists">
2694 <title>Mailing lists</title>
2695
2696 <anchor id="subscribe"/>
2697 <para>Usage:</para>
2698
2699 <cmdsynopsis>
2700 <command>lists</command>
2701 <arg choice="opt" rep="repeat">
2702 <option>-group</option>
2703 <replaceable class="parameter">name</replaceable>
2704 </arg>
2705 <arg choice="plain">
2706 <replaceable class="parameter">regexp</replaceable>
2707 </arg>
2708 <arg choice="opt" rep="repeat">
2709 <replaceable class="parameter">regexp</replaceable>
2710 </arg>
2711 </cmdsynopsis>
2712
2713 <cmdsynopsis>
2714 <command>unlists</command>
2715 <arg choice="opt" rep="repeat">
2716 <option>-group</option>
2717 <replaceable class="parameter">name</replaceable>
2718 </arg>
2719 <group choice="req">
2720 <arg choice="plain">
2721 <replaceable class="parameter">*</replaceable>
2722 </arg>
2723 <arg choice="plain" rep="repeat">
2724 <replaceable class="parameter">regexp</replaceable>
2725 </arg>
2726 </group>
2727 </cmdsynopsis>
2728
2729 <cmdsynopsis>
2730 <command>subscribe</command>
2731 <arg choice="opt" rep="repeat">
2732 <option>-group</option>
2733 <replaceable class="parameter">name</replaceable>
2734 </arg>
2735 <arg choice="plain">
2736 <replaceable class="parameter">regexp</replaceable>
2737 </arg>
2738 <arg choice="opt" rep="repeat">
2739 <replaceable class="parameter">regexp</replaceable>
2740 </arg>
2741 </cmdsynopsis>
2742
2743 <cmdsynopsis>
2744 <command>unsubscribe</command>
2745 <arg choice="opt" rep="repeat">
2746 <option>-group</option>
2747 <replaceable class="parameter">name</replaceable>
2748 </arg>
2749 <group choice="req">
2750 <arg choice="plain">
2751 <replaceable class="parameter">*</replaceable>
2752 </arg>
2753 <arg choice="plain" rep="repeat">
2754 <replaceable class="parameter">regexp</replaceable>
2755 </arg>
2756 </group>
2757 </cmdsynopsis>
2758
2759 <para>
2760 Mutt has a few nice features for <link linkend="using-lists">handling mailing lists</link>.  In order to take advantage of them, you must
2761 specify which addresses belong to mailing lists, and which mailing
2762 lists you are subscribed to.  Once you have done this, the <link linkend="list-reply"><literal>&lt;list-reply&gt;</literal></link> function will work for all known lists.
2763 Additionally, when you send a message to a subscribed list, mutt will
2764 add a Mail-Followup-To header to tell other users' mail user agents
2765 not to send copies of replies to your personal address.
2766 </para>
2767
2768 <note>
2769 <para>
2770 The Mail-Followup-To header is a non-standard extension which is not
2771 supported by all mail user agents.  Adding it is not bullet-proof against
2772 receiving personal CCs of list messages.  Also note that the generation
2773 of the Mail-Followup-To header is controlled by the
2774 <link linkend="followup-to">&dollar;followup&lowbar;to</link>
2775 configuration variable.
2776 </para>
2777 </note>
2778
2779 <para>
2780 More precisely, Mutt maintains lists of patterns for the addresses
2781 of known and subscribed mailing lists.  Every subscribed mailing
2782 list is known. To mark a mailing list as known, use the <quote>lists</quote>
2783 command.  To mark it as subscribed, use <quote>subscribe</quote>.
2784 </para>
2785
2786 <para>
2787 You can use regular expressions with both commands.  To mark all
2788 messages sent to a specific bug report's address on mutt's bug
2789 tracking system as list mail, for instance, you could say
2790 <quote>subscribe &lsqb;0-9&rsqb;*@bugs.guug.de</quote>.  Often, it's sufficient to just
2791 give a portion of the list's e-mail address.
2792 </para>
2793
2794 <para>
2795 Specify as much of the address as you need to to remove ambiguity.  For
2796 example, if you've subscribed to the Mutt mailing list, you will receive mail
2797 addressed to <emphasis>mutt-users@mutt.org</emphasis>.  So, to tell Mutt
2798 that this is a mailing list, you could add <quote>lists mutt-users@</quote> to your
2799 initialization file.  To tell mutt that you are subscribed to it,
2800 add <quote>subscribe mutt-users</quote> to your initialization file instead.
2801 If you also happen to get mail from someone whose address is
2802 <emphasis>mutt-users@example.com</emphasis>, you could use
2803 <quote>lists ^mutt-users@mutt&bsol;&bsol;.org$</quote>
2804 or <quote>subscribe ^mutt-users@mutt&bsol;&bsol;.org$</quote> to
2805 match only mail from the actual list.
2806 </para>
2807
2808 <para>
2809 The <literal>-group</literal> flag adds all of the subsequent regular expressions
2810 to the named group.
2811 </para>
2812
2813 <para>
2814 The <quote>unlists</quote> command is used to remove a token from the list of
2815 known and subscribed mailing-lists. Use <quote>unlists *</quote> to remove all
2816 tokens.
2817 </para>
2818
2819 <para>
2820 To remove a mailing list from the list of subscribed mailing lists,
2821 but keep it on the list of known mailing lists, use <quote>unsubscribe</quote>.
2822 </para>
2823
2824 </sect1>
2825
2826 <sect1 id="mbox-hook">
2827 <title>Using Multiple spool mailboxes</title>
2828
2829 <para>Usage:</para>
2830
2831 <cmdsynopsis>
2832 <command>mbox-hook</command>
2833 <arg choice="plain">
2834 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
2835 </arg>
2836 <arg choice="plain">
2837 <replaceable class="parameter">mailbox</replaceable>
2838 </arg>
2839 </cmdsynopsis>
2840
2841 <para>
2842 This command is used to move read messages from a specified mailbox to a
2843 different mailbox automatically when you quit or change folders.
2844 <emphasis>pattern</emphasis> is a regular expression specifying the mailbox to treat as a
2845 <quote>spool</quote> mailbox and <emphasis>mailbox</emphasis> specifies where mail should be saved when
2846 read.
2847 </para>
2848
2849 <para>
2850 Unlike some of the other <emphasis>hook</emphasis> commands, only the <emphasis>first</emphasis> matching
2851 pattern is used (it is not possible to save read mail in more than a single
2852 mailbox).
2853 </para>
2854
2855 </sect1>
2856
2857 <sect1 id="mailboxes">
2858 <title>Monitoring incoming mail</title>
2859
2860 <para>Usage:</para>
2861
2862 <cmdsynopsis>
2863 <command>mailboxes</command>
2864 <arg choice="plain">
2865 <replaceable class="parameter">mailbox</replaceable>
2866 </arg>
2867 <arg choice="opt" rep="repeat">
2868 <replaceable class="parameter">mailbox</replaceable>
2869 </arg>
2870 </cmdsynopsis>
2871
2872 <cmdsynopsis>
2873 <command>unmailboxes</command>
2874 <group choice="req">
2875 <arg choice="plain">
2876 <replaceable class="parameter">*</replaceable>
2877 </arg>
2878 <arg choice="plain" rep="repeat">
2879 <replaceable class="parameter">mailbox</replaceable>
2880 </arg>
2881 </group>
2882 </cmdsynopsis>
2883
2884 <para>
2885 This command specifies folders which can receive mail and
2886 which will be checked for new messages periodically.
2887 </para>
2888
2889 <para>
2890 <emphasis>folder</emphasis> can either be a local file or directory
2891 (Mbox/Mmdf or Maildir/Mh). If Mutt was built with POP and/or IMAP
2892 support, <emphasis>folder</emphasis> can also be a POP/IMAP folder
2893 URL. The URL syntax is described in <xref linkend="url-syntax"/>,
2894 POP and IMAP are described in <xref linkend="pop"/> and <xref linkend="imap"/>
2895 respectively.
2896 </para>
2897
2898 <para>
2899 Mutt provides a number of advanced features for handling (possibly many)
2900 folders and new mail within them, please refer to
2901 <xref linkend="handling-folders"/> for details (including in what
2902 situations and how often Mutt checks for new mail).
2903 </para>
2904
2905 <para>
2906 The <quote>unmailboxes</quote> command is used to remove a token from the list
2907 of folders which receive mail. Use <quote>unmailboxes *</quote> to remove all
2908 tokens.
2909 </para>
2910
2911 <note>
2912 <para>
2913 The folders in the <literal>mailboxes</literal> command are resolved when
2914 the command is executed, so if these names contain <link linkend="shortcuts">shortcut characters</link> (such as <quote>=</quote> and <quote>!</quote>), any variable
2915 definition that affects these characters (like <link linkend="folder">&dollar;folder</link> and <link linkend="spoolfile">&dollar;spoolfile</link>)
2916 should be set before the <literal>mailboxes</literal> command. If
2917 none of these shorcuts are used, a local path should be absolute as
2918 otherwise mutt tries to find it relative to the directory
2919 from where mutt was started which may not always be desired.
2920 </para>
2921 </note>
2922
2923 <para>
2924 For Mbox and Mmdf folders, new mail is detected by comparing access and/or
2925 modification times of files: Mutt assumes a folder has new mail if it wasn't
2926 accessed after it was last modified. Utilities like <literal>biff</literal> or
2927 <literal>frm</literal> or any other program which accesses the mailbox might cause
2928 Mutt to never detect new mail for that mailbox if they do not properly reset the
2929 access time. Other possible causes of Mutt not detecting new mail in these folders
2930 are backup tools (updating access times) or filesystems mounted without
2931 access time update support.
2932 </para>
2933
2934 <para>
2935 In cases where new mail detection for Mbox or Mmdf folders appears to be
2936 unreliable, the
2937 <link linkend="check-mbox-size">&dollar;check&lowbar;mbox&lowbar;size</link>
2938 option can be used to make Mutt track and consult file sizes for new
2939 mail detection instead.
2940 </para>
2941
2942 </sect1>
2943
2944 <sect1 id="my-hdr">
2945 <title>User defined headers</title>
2946
2947 <para>Usage:</para>
2948
2949 <cmdsynopsis>
2950 <command>my&lowbar;hdr</command>
2951 <arg choice="plain">
2952 <replaceable class="parameter">string</replaceable>
2953 </arg>
2954 </cmdsynopsis>
2955
2956 <cmdsynopsis>
2957 <command>unmy&lowbar;hdr</command>
2958 <group choice="req">
2959 <arg choice="plain">
2960 <replaceable class="parameter">*</replaceable>
2961 </arg>
2962 <arg choice="plain" rep="repeat">
2963 <replaceable class="parameter">field</replaceable>
2964 </arg>
2965 </group>
2966 </cmdsynopsis>
2967
2968 <para>
2969 The <literal>my&lowbar;hdr</literal> command allows you to create your own header
2970 fields which will be added to every message you send.
2971 </para>
2972
2973 <para>
2974 For example, if you would like to add an <quote>Organization:</quote> header field to
2975 all of your outgoing messages, you can put the command
2976 </para>
2977
2978 <example id="ex-my-hdr">
2979 <title>Defining custom headers</title>
2980 <screen>
2981 my&lowbar;hdr Organization: A Really Big Company, Anytown, USA
2982 </screen>
2983 </example>
2984
2985 <para>
2986 in your <literal>.muttrc</literal>.
2987 </para>
2988
2989 <note>
2990 <para>
2991 Space characters are <emphasis>not</emphasis> allowed between the keyword and
2992 the colon (<quote>:</quote>). The standard for electronic mail (RFC2822) says that
2993 space is illegal there, so Mutt enforces the rule.
2994 </para>
2995 </note>
2996
2997 <para>
2998 If you would like to add a header field to a single message, you should
2999 either set the <link linkend="edit-headers">&dollar;edit&lowbar;headers</link> variable,
3000 or use the <literal>&lt;edit-headers&gt;</literal> function (default: <quote>E</quote>) in the compose menu so
3001 that you can edit the header of your message along with the body.
3002 </para>
3003
3004 <para>
3005 To remove user defined header fields, use the <literal>unmy&lowbar;hdr</literal>
3006 command. You may specify an asterisk (<quote>*</quote>) to remove all header
3007 fields, or the fields to remove. For example, to remove all <quote>To</quote> and
3008 <quote>Cc</quote> header fields, you could use:
3009 </para>
3010
3011 <screen>
3012 unmy&lowbar;hdr to cc
3013 </screen>
3014
3015 </sect1>
3016
3017 <sect1 id="save-hook">
3018 <title>Specify default save mailbox</title>
3019
3020 <para>Usage:</para>
3021
3022 <cmdsynopsis>
3023 <command>save-hook</command>
3024 <arg choice="plain">
3025 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3026 </arg>
3027 <arg choice="plain">
3028 <replaceable class="parameter">mailbox</replaceable>
3029 </arg>
3030 </cmdsynopsis>
3031
3032 <para>
3033 This command is used to override the default mailbox used when saving
3034 messages. <emphasis>mailbox</emphasis> will be used as the default if the message
3035 matches <emphasis>pattern</emphasis>, see <xref linkend="pattern-hook"/> for information
3036 on the exact format.
3037 </para>
3038
3039 <para>
3040 To provide more flexibility and good defaults, Mutt applies the
3041 expandos of <link linkend="index-format">&dollar;index&lowbar;format</link> to
3042 <emphasis>mailbox</emphasis> after it was expanded.
3043 </para>
3044
3045 <para>
3046 Examples:
3047 </para>
3048
3049 <example id="ex-save-hook-exando">
3050 <title>Using %-expandos in <literal>save-hook</literal></title>
3051 <screen>
3052 # default: save all to ~/Mail/&lt;author name&gt;
3053 save-hook . ~/Mail/%F
3054
3055 # save from me@turing.cs.hmc.edu and me@cs.hmc.edu to $folder/elkins
3056 save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
3057
3058 # save from aol.com to $folder/spam
3059 save-hook aol\\.com$ +spam
3060 </screen>
3061 </example>
3062
3063 <para>
3064 Also see the <link linkend="fcc-save-hook">fcc-save-hook</link> command.
3065 </para>
3066
3067 </sect1>
3068
3069 <sect1 id="fcc-hook">
3070 <title>Specify default Fcc: mailbox when composing</title>
3071
3072 <para>Usage:</para>
3073
3074 <cmdsynopsis>
3075 <command>fcc-hook</command>
3076 <arg choice="plain">
3077 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3078 </arg>
3079 <arg choice="plain">
3080 <replaceable class="parameter">mailbox</replaceable>
3081 </arg>
3082 </cmdsynopsis>
3083
3084 <para>
3085 This command is used to save outgoing mail in a mailbox other than
3086 <link linkend="record">&dollar;record</link>.  Mutt searches the initial list of
3087 message recipients for the first matching <emphasis>regexp</emphasis> and uses <emphasis>mailbox</emphasis>
3088 as the default Fcc: mailbox.  If no match is found the message will be saved
3089 to <link linkend="record">&dollar;record</link> mailbox.
3090 </para>
3091
3092 <para>
3093 To provide more flexibility and good defaults, Mutt applies the
3094 expandos of <link linkend="index-format">&dollar;index&lowbar;format</link> to
3095 <emphasis>mailbox</emphasis> after it was expanded.
3096 </para>
3097
3098 <para>
3099 See <xref linkend="pattern-hook"/> for information on the exact format of <emphasis>pattern</emphasis>.
3100 </para>
3101
3102 <para>
3103 Example: <literal>fcc-hook &lsqb;@.&rsqb;aol&bsol;&bsol;.com&dollar; +spammers</literal>
3104 </para>
3105
3106 <para>
3107 The above will save a copy of all messages going to the aol.com domain to
3108 the `+spammers' mailbox by default.  Also see the <link linkend="fcc-save-hook">fcc-save-hook</link> command.
3109 </para>
3110
3111 </sect1>
3112
3113 <sect1 id="fcc-save-hook">
3114 <title>Specify default save filename and default Fcc: mailbox at once</title>
3115
3116 <para>Usage:</para>
3117
3118 <cmdsynopsis>
3119 <command>fcc-save-hook</command>
3120 <arg choice="plain">
3121 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3122 </arg>
3123 <arg choice="plain">
3124 <replaceable class="parameter">mailbox</replaceable>
3125 </arg>
3126 </cmdsynopsis>
3127
3128 <para>
3129 This command is a shortcut, equivalent to doing both a <link linkend="fcc-hook">fcc-hook</link>
3130 and a <link linkend="save-hook">save-hook</link> with its arguments,
3131 including &percnt;-expansion on <emphasis>mailbox</emphasis> according
3132 to <link linkend="index-format">&dollar;index&lowbar;format</link>.
3133 </para>
3134
3135 </sect1>
3136
3137 <sect1 id="send-hook">
3138 <title>Change settings based upon message recipients</title>
3139
3140 <anchor id="reply-hook"/>
3141 <anchor id="send2-hook"/>
3142
3143 <para>Usage:</para>
3144
3145 <cmdsynopsis>
3146 <command>reply-hook</command>
3147 <arg choice="plain">
3148 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3149 </arg>
3150 <arg choice="plain">
3151 <replaceable class="parameter">command</replaceable>
3152 </arg>
3153 </cmdsynopsis>
3154
3155 <cmdsynopsis>
3156 <command>send-hook</command>
3157 <arg choice="plain">
3158 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3159 </arg>
3160 <arg choice="plain">
3161 <replaceable class="parameter">command</replaceable>
3162 </arg>
3163 </cmdsynopsis>
3164
3165 <cmdsynopsis>
3166 <command>send2-hook</command>
3167 <arg choice="plain">
3168 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3169 </arg>
3170 <arg choice="plain">
3171 <replaceable class="parameter">command</replaceable>
3172 </arg>
3173 </cmdsynopsis>
3174
3175 <para>
3176 These commands can be used to execute arbitrary configuration commands based
3177 upon recipients of the message.  <emphasis>pattern</emphasis> is used to match
3178 the message, see <xref linkend="pattern-hook"/> for details. <emphasis>command</emphasis>
3179 is executed when <emphasis>pattern</emphasis> matches.
3180 </para>
3181
3182 <para>
3183 <literal>reply-hook</literal> is matched against the message you are <emphasis>replying to</emphasis>,
3184 instead of the message you are <emphasis>sending</emphasis>.  <literal>send-hook</literal> is
3185 matched against all messages, both <emphasis>new</emphasis>
3186 and <emphasis>replies</emphasis>.
3187 </para>
3188
3189 <note>
3190 <para>
3191 <literal>reply-hook</literal>s are matched <emphasis role="bold">before</emphasis> the <literal>send-hook</literal>, <emphasis role="bold">regardless</emphasis>
3192 of the order specified in the user's configuration file.
3193 </para>
3194 </note>
3195
3196 <para>
3197 <literal>send2-hook</literal> is matched every time a message is changed, either
3198 by editing it, or by using the compose menu to change its recipients
3199 or subject.  <literal>send2-hook</literal> is executed after <literal>send-hook</literal>, and
3200 can, e.g., be used to set parameters such as the <link linkend="sendmail">&dollar;sendmail</link> variable depending on the message's sender
3201 address.
3202 </para>
3203
3204 <para>
3205 For each type of <literal>send-hook</literal> or <literal>reply-hook</literal>, when multiple matches
3206 occur, commands are executed in the order they are specified in the muttrc
3207 (for that type of hook).
3208 </para>
3209
3210 <para>
3211 Example: <literal>send-hook mutt &quot;set mime&lowbar;forward signature=''&quot;</literal>
3212 </para>
3213
3214 <para>
3215 Another typical use for this command is to change the values of the
3216 <link linkend="attribution">&dollar;attribution</link>, <link linkend="signature">&dollar;signature</link> and <link linkend="locale">&dollar;locale</link>
3217 variables in order to change the language of the attributions and
3218 signatures based upon the recipients.
3219 </para>
3220
3221 <note>
3222 <para>
3223 send-hook's are only executed once after getting the initial
3224 list of recipients.  Adding a recipient after replying or editing the
3225 message will not cause any send-hook to be executed.  Also note that
3226 <literal>my&lowbar;hdr</literal> commands which modify recipient headers, or the message's
3227 subject, don't have any effect on the current message when executed
3228 from a send-hook.
3229 </para>
3230 </note>
3231
3232 </sect1>
3233
3234 <sect1 id="message-hook">
3235 <title>Change settings before formatting a message</title>
3236
3237 <para>Usage:</para>
3238
3239 <cmdsynopsis>
3240 <command>message-hook</command>
3241 <arg choice="plain">
3242 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
3243 </arg>
3244 <arg choice="plain">
3245 <replaceable class="parameter">command</replaceable>
3246 </arg>
3247 </cmdsynopsis>
3248
3249 <para>
3250 This command can be used to execute arbitrary configuration commands
3251 before viewing or formatting a message based upon information about the message.
3252 <emphasis>command</emphasis> is executed if the <emphasis>pattern</emphasis> matches the message to be
3253 displayed. When multiple matches occur, commands are executed in the order
3254 they are specified in the muttrc.
3255 </para>
3256
3257 <para>
3258 See <xref linkend="pattern-hook"/> for
3259 information on the exact format of <emphasis>pattern</emphasis>.
3260 </para>
3261
3262 <para>
3263 Example:
3264 </para>
3265
3266 <screen>
3267 message-hook ~A 'set pager=builtin'
3268 message-hook '~f freshmeat-news' 'set pager="less \"+/^  subject: .*\""'
3269 </screen>
3270
3271 </sect1>
3272
3273 <sect1 id="crypt-hook">
3274 <title>Choosing the cryptographic key of the recipient</title>
3275
3276 <para>Usage:</para>
3277
3278 <cmdsynopsis>
3279 <command>crypt-hook</command>
3280 <arg choice="plain">
3281 <replaceable class="parameter">pattern</replaceable>
3282 </arg>
3283 <arg choice="plain">
3284 <replaceable class="parameter">keyid</replaceable>
3285 </arg>
3286 </cmdsynopsis>
3287
3288 <para>
3289 When encrypting messages with PGP/GnuPG or OpenSSL, you may want to associate a certain
3290 key with a given e-mail address automatically, either because the
3291 recipient's public key can't be deduced from the destination address,
3292 or because, for some reasons, you need to override the key Mutt would
3293 normally use.  The <literal>crypt-hook</literal> command provides a
3294 method by which you can specify the ID of the public key to be used
3295 when encrypting messages to a certain recipient.
3296 </para>
3297
3298 <para>
3299 The meaning of <emphasis>keyid</emphasis> is to be taken broadly in this context:  You
3300 can either put a numerical key ID here, an e-mail address, or even
3301 just a real name.
3302 </para>
3303
3304 </sect1>
3305
3306 <sect1 id="push">
3307 <title>Adding key sequences to the keyboard buffer</title>
3308
3309 <para>Usage:</para>
3310
3311 <cmdsynopsis>
3312 <command>push</command>
3313 <arg choice="plain">
3314 <replaceable class="parameter">string</replaceable>
3315 </arg>
3316 </cmdsynopsis>
3317
3318 <para>
3319 This command adds the named string to the keyboard buffer. The string may
3320 contain control characters, key names and function names like the sequence
3321 string in the <link linkend="macro">macro</link> command. You may use it to
3322 automatically run a sequence of commands at startup, or when entering
3323 certain folders. For example, the following command will automatically
3324 collapse all threads when entering a folder:
3325 </para>
3326
3327 <example id="ex-folder-hook-push">
3328 <title>Embedding <literal>push</literal> in <literal>folder-hook</literal></title>
3329 <screen>
3330 folder-hook . 'push &lt;collapse-all&gt;'
3331 </screen>
3332 </example>
3333
3334 </sect1>
3335
3336 <sect1 id="exec">
3337 <title>Executing functions</title>
3338
3339 <para>Usage:</para>
3340
3341 <cmdsynopsis>
3342 <command>exec</command>
3343 <arg choice="plain">
3344 <replaceable class="parameter">function</replaceable>
3345 </arg>
3346 <arg choice="opt" rep="repeat">
3347 <replaceable class="parameter">function</replaceable>
3348 </arg>
3349 </cmdsynopsis>
3350
3351 <para>
3352 This command can be used to execute any function. Functions are
3353 listed in the <link linkend="functions">function reference</link>.
3354 <quote>exec function</quote> is equivalent to <quote>push &lt;function&gt;</quote>.
3355 </para>
3356
3357 </sect1>
3358
3359 <sect1 id="score-command">
3360 <title>Message Scoring</title>
3361
3362 <para>Usage:</para>
3363
3364 <cmdsynopsis>
3365 <command>score</command>
3366 <arg choice="plain">
3367 <replaceable class="parameter">pattern</replaceable>
3368 </arg>
3369 <arg choice="plain">
3370 <replaceable class="parameter">value</replaceable>
3371 </arg>
3372 </cmdsynopsis>
3373
3374 <cmdsynopsis>
3375 <command>unscore</command>
3376 <group choice="req">
3377 <arg choice="plain">
3378 <replaceable class="parameter">*</replaceable>
3379 </arg>
3380 <arg choice="plain" rep="repeat">
3381 <replaceable class="parameter">pattern</replaceable>
3382 </arg>
3383 </group>
3384 </cmdsynopsis>
3385
3386 <para>
3387 The <literal>score</literal> commands adds <emphasis>value</emphasis> to a message's score if <emphasis>pattern</emphasis>
3388 matches it.  <emphasis>pattern</emphasis> is a string in the format described in the <link linkend="patterns">patterns</link> section (note: For efficiency reasons, patterns
3389 which scan information not available in the index, such as <literal>&tilde;b</literal>,
3390 <literal>&tilde;B</literal> or <literal>&tilde;h</literal>, may not be used).  <emphasis>value</emphasis> is a
3391 positive or negative integer.  A message's final score is the sum total of all
3392 matching <literal>score</literal> entries.  However, you may optionally prefix <emphasis>value</emphasis> with
3393 an equal sign (=) to cause evaluation to stop at a particular entry if there is
3394 a match.  Negative final scores are rounded up to 0.
3395 </para>
3396
3397 <para>
3398 The <literal>unscore</literal> command removes score entries from the list.  You <emphasis role="bold">must</emphasis>
3399 specify the same pattern specified in the <literal>score</literal> command for it to be
3400 removed.  The pattern <quote>*</quote> is a special token which means to clear the list
3401 of all score entries.
3402 </para>
3403
3404 </sect1>
3405
3406 <sect1 id="spam">
3407 <title>Spam detection</title>
3408
3409 <para>Usage:</para>
3410
3411 <cmdsynopsis>
3412 <command>spam</command>
3413 <arg choice="plain">
3414 <replaceable class="parameter">pattern</replaceable>
3415 </arg>
3416 <arg choice="plain">
3417 <replaceable class="parameter">format</replaceable>
3418 </arg>
3419 </cmdsynopsis>
3420
3421 <cmdsynopsis>
3422 <command>nospam</command>
3423 <group choice="req">
3424 <arg choice="plain">
3425 <replaceable class="parameter">*</replaceable>
3426 </arg>
3427 <arg choice="plain">
3428 <replaceable class="parameter">pattern</replaceable>
3429 </arg>
3430 </group>
3431 </cmdsynopsis>
3432
3433 <para>
3434 Mutt has generalized support for external spam-scoring filters.
3435 By defining your spam patterns with the <literal>spam</literal> and <literal>nospam</literal>
3436 commands, you can <emphasis>limit</emphasis>, <emphasis>search</emphasis>, and <emphasis>sort</emphasis> your
3437 mail based on its spam attributes, as determined by the external
3438 filter. You also can display the spam attributes in your index
3439 display using the <literal>&percnt;H</literal> selector in the <link linkend="index-format">&dollar;index&lowbar;format</link> variable. (Tip: try <literal>&percnt;?H?[&percnt;H] ?</literal>
3440 to display spam tags only when they are defined for a given message.)
3441 </para>
3442
3443 <para>
3444 Your first step is to define your external filter's spam patterns using
3445 the <literal>spam</literal> command. <emphasis>pattern</emphasis> should be a regular expression
3446 that matches a header in a mail message. If any message in the mailbox
3447 matches this regular expression, it will receive a <quote>spam tag</quote> or
3448 <quote>spam attribute</quote> (unless it also matches a <literal>nospam</literal> pattern -- see
3449 below.) The appearance of this attribute is entirely up to you, and is
3450 governed by the <emphasis>format</emphasis> parameter. <emphasis>format</emphasis> can be any static
3451 text, but it also can include back-references from the <emphasis>pattern</emphasis>
3452 expression. (A regular expression <quote>back-reference</quote> refers to a
3453 sub-expression contained within parentheses.) <literal>&percnt;1</literal> is replaced with
3454 the first back-reference in the regex, <literal>&percnt;2</literal> with the second, etc.
3455 </para>
3456
3457 <para>
3458 If you're using multiple spam filters, a message can have more than
3459 one spam-related header. You can define <literal>spam</literal> patterns for each
3460 filter you use. If a message matches two or more of these patterns, and
3461 the &dollar;spam&lowbar;separator variable is set to a string, then the
3462 message's spam tag will consist of all the <emphasis>format</emphasis> strings joined
3463 together, with the value of &dollar;spam&lowbar;separator separating
3464 them.
3465 </para>
3466
3467 <para>
3468 For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
3469 define these spam settings:
3470 </para>
3471
3472 <example id="ex-spam">
3473 <title>Configuring spam detection</title>
3474 <screen>
3475 spam "X-DCC-.*-Metrics:.*(....)=many"         "90+/DCC-%1"
3476 spam "X-Spam-Status: Yes"                     "90+/SA"
3477 spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
3478 set spam_separator=", "
3479 </screen>
3480 </example>
3481
3482 <para>
3483 If I then received a message that DCC registered with <quote>many</quote> hits
3484 under the <quote>Fuz2</quote> checksum, and that PureMessage registered with a
3485 97&percnt; probability of being spam, that message's spam tag would read
3486 <literal>90+/DCC-Fuz2, 97/PM</literal>. (The four characters before <quote>=many</quote> in a
3487 DCC report indicate the checksum used -- in this case, <quote>Fuz2</quote>.)
3488 </para>
3489
3490 <para>
3491 If the &dollar;spam&lowbar;separator variable is unset, then each
3492 spam pattern match supersedes the previous one. Instead of getting
3493 joined <emphasis>format</emphasis> strings, you'll get only the last one to match.
3494 </para>
3495
3496 <para>
3497 The spam tag is what will be displayed in the index when you use
3498 <literal>&percnt;H</literal> in the <literal>&dollar;index&lowbar;format</literal> variable. It's also the
3499 string that the <literal>&tilde;H</literal> pattern-matching expression matches against for
3500 <literal>&lt;search&gt;</literal> and <literal>&lt;limit&gt;</literal> functions. And it's what sorting by spam
3501 attribute will use as a sort key.
3502 </para>
3503
3504 <para>
3505 That's a pretty complicated example, and most people's actual
3506 environments will have only one spam filter. The simpler your
3507 configuration, the more effective mutt can be, especially when it comes
3508 to sorting.
3509 </para>
3510
3511 <para>
3512 Generally, when you sort by spam tag, mutt will sort <emphasis>lexically</emphasis> --
3513 that is, by ordering strings alphanumerically. However, if a spam tag
3514 begins with a number, mutt will sort numerically first, and lexically
3515 only when two numbers are equal in value. (This is like UNIX's
3516 <literal>sort -n</literal>.) A message with no spam attributes at all -- that is, one
3517 that didn't match <emphasis>any</emphasis> of your <literal>spam</literal> patterns -- is sorted at
3518 lowest priority. Numbers are sorted next, beginning with 0 and ranging
3519 upward. Finally, non-numeric strings are sorted, with <quote>a</quote> taking lower
3520 priority than <quote>z</quote>. Clearly, in general, sorting by spam tags is most
3521 effective when you can coerce your filter to give you a raw number. But
3522 in case you can't, mutt can still do something useful.
3523 </para>
3524
3525 <para>
3526 The <literal>nospam</literal> command can be used to write exceptions to <literal>spam</literal>
3527 patterns. If a header pattern matches something in a <literal>spam</literal> command,
3528 but you nonetheless do not want it to receive a spam tag, you can list a
3529 more precise pattern under a <literal>nospam</literal> command.
3530 </para>
3531
3532 <para>
3533 If the <emphasis>pattern</emphasis> given to <literal>nospam</literal> is exactly the same as the
3534 <emphasis>pattern</emphasis> on an existing <literal>spam</literal> list entry, the effect will be to
3535 remove the entry from the spam list, instead of adding an exception.
3536 Likewise, if the <emphasis>pattern</emphasis> for a <literal>spam</literal> command matches an entry
3537 on the <literal>nospam</literal> list, that <literal>nospam</literal> entry will be removed. If the
3538 <emphasis>pattern</emphasis> for <literal>nospam</literal> is <quote>*</quote>, <emphasis>all entries on both lists</emphasis>
3539 will be removed. This might be the default action if you use <literal>spam</literal>
3540 and <literal>nospam</literal> in conjunction with a <literal>folder-hook</literal>.
3541 </para>
3542
3543 <para>
3544 You can have as many <literal>spam</literal> or <literal>nospam</literal> commands as you like.
3545 You can even do your own primitive spam detection within mutt -- for
3546 example, if you consider all mail from <literal>MAILER-DAEMON</literal> to be spam,
3547 you can use a <literal>spam</literal> command like this:
3548 </para>
3549
3550 <screen>
3551 spam "^From: .*MAILER-DAEMON"       "999"
3552 </screen>
3553
3554 </sect1>
3555
3556 <sect1 id="set">
3557 <title>Setting and Querying Variables</title>
3558
3559 <sect2 id="set-commands">
3560 <title>Commands</title>
3561
3562 <para>
3563 The following commands are available to manipulate and query variables:
3564 </para>
3565
3566 <para>Usage:</para>
3567
3568 <cmdsynopsis>
3569 <command>set</command>
3570 <group choice="req">
3571 <arg choice="plain">
3572 <group choice="opt">
3573 <arg choice="plain"><option>no</option></arg>
3574 <arg choice="plain"><option>inv</option></arg>
3575 </group>
3576 <replaceable class="parameter">variable</replaceable>
3577 </arg>
3578 <arg choice="plain">
3579 <replaceable class="parameter">variable=value</replaceable>
3580 </arg>
3581 </group>
3582 <arg choice="opt" rep="repeat"/>
3583 </cmdsynopsis>
3584
3585 <cmdsynopsis>
3586 <command>toggle</command>
3587 <arg choice="plain">
3588 <replaceable class="parameter">variable</replaceable>
3589 </arg>
3590 <arg choice="opt" rep="repeat">
3591 <replaceable class="parameter">variable</replaceable>
3592 </arg>
3593 </cmdsynopsis>
3594
3595 <cmdsynopsis>
3596 <command>unset</command>
3597 <arg choice="plain">
3598 <replaceable class="parameter">variable</replaceable>
3599 </arg>
3600 <arg choice="opt" rep="repeat">
3601 <replaceable class="parameter">variable</replaceable>
3602 </arg>
3603 </cmdsynopsis>
3604
3605 <cmdsynopsis>
3606 <command>reset</command>
3607 <arg choice="plain">
3608 <replaceable class="parameter">variable</replaceable>
3609 </arg>
3610 <arg choice="opt" rep="repeat">
3611 <replaceable class="parameter">variable</replaceable>
3612 </arg>
3613 </cmdsynopsis>
3614
3615 <para>
3616 This command is used to set (and unset) <link linkend="variables">configuration variables</link>.  There are four basic types of variables:
3617 boolean, number, string and quadoption.  <emphasis>boolean</emphasis> variables can be
3618 <emphasis>set</emphasis> (true) or <emphasis>unset</emphasis> (false).  <emphasis>number</emphasis> variables can be
3619 assigned a positive integer value.
3620 <emphasis>string</emphasis> variables consist of any number of printable characters and
3621 must be enclosed in quotes if they contain spaces or tabs.  You
3622 may also use the escape sequences <quote>&bsol;n</quote> and <quote>&bsol;t</quote> for newline and tab, respectively.
3623 <emphasis>quadoption</emphasis> variables are used to control whether or not to be prompted
3624 for certain actions, or to specify a default action.  A value of <emphasis>yes</emphasis>
3625 will cause the action to be carried out automatically as if you had answered
3626 yes to the question.  Similarly, a value of <emphasis>no</emphasis> will cause the
3627 action to be carried out as if you had answered <quote>no.</quote>  A value of
3628 <emphasis>ask-yes</emphasis> will cause a prompt with a default answer of <quote>yes</quote> and
3629 <emphasis>ask-no</emphasis> will provide a default answer of <quote>no.</quote>
3630 </para>
3631
3632 <para>
3633 Prefixing a variable with <quote>no</quote> will unset it.  Example: <literal>set noaskbcc</literal>.
3634 </para>
3635
3636 <para>
3637 For <emphasis>boolean</emphasis> variables, you may optionally prefix the variable name with
3638 <literal>inv</literal> to toggle the value (on or off).  This is useful when writing
3639 macros.  Example: <literal>set invsmart&lowbar;wrap</literal>.
3640 </para>
3641
3642 <para>
3643 The <literal>toggle</literal> command automatically prepends the <literal>inv</literal> prefix to all
3644 specified variables.
3645 </para>
3646
3647 <para>
3648 The <literal>unset</literal> command automatically prepends the <literal>no</literal> prefix to all
3649 specified variables.
3650 </para>
3651
3652 <para>
3653 Using the <literal>&lt;enter-command&gt;</literal> function in the <emphasis>index</emphasis> menu, you can query the
3654 value of a variable by prefixing the name of the variable with a question
3655 mark:
3656 </para>
3657
3658 <screen>
3659 set ?allow_8bit
3660 </screen>
3661
3662 <para>
3663 The question mark is actually only required for boolean and quadoption
3664 variables.
3665 </para>
3666
3667 <para>
3668 The <literal>reset</literal> command resets all given variables to the compile time
3669 defaults (hopefully mentioned in this manual). If you use the command
3670 <literal>set</literal> and prefix the variable with <quote>&amp;</quote> this has the same
3671 behavior as the reset command.
3672 </para>
3673
3674 <para>
3675 With the <literal>reset</literal> command there exists the special variable <quote>all</quote>,
3676 which allows you to reset all variables to their system defaults.
3677 </para>
3678
3679 </sect2>
3680
3681 <sect2 id="set-myvar">
3682 <title>User-defined variables</title>
3683
3684 <sect3 id="set-myvar-intro">
3685 <title>Introduction</title>
3686
3687 <para>
3688 Along with the variables listed in the
3689 <link linkend="variables">Configuration variables</link> section, mutt
3690 supports user-defined variables with names starting
3691 with <literal>my&lowbar;</literal> as in, for
3692 example, <literal>my&lowbar;cfgdir</literal>.
3693 </para>
3694
3695 <para>
3696 The <literal>set</literal> command either creates a
3697 custom <literal>my&lowbar;</literal> variable or changes its
3698 value if it does exist already. The <literal>unset</literal> and <literal>reset</literal>
3699 commands remove the variable entirely.
3700 </para>
3701
3702 <para>
3703 Since user-defined variables are expanded in the same way that
3704 environment variables are (except for
3705 the <link linkend="shell-escape">shell-escape</link> command and
3706 backtick expansion), this feature can be used to make configuration
3707 files more readable.
3708 </para>
3709
3710 </sect3>
3711
3712 <sect3 id="set-myvar-examples">
3713 <title>Examples</title>
3714
3715 <para>
3716 The following example defines and uses the variable <literal>my&lowbar;cfgdir</literal>
3717 to abbreviate the calls of the <link linkend="source">source</link> command:
3718 </para>
3719
3720 <example id="ex-myvar1">
3721 <title>Using user-defined variables for config file readability</title>
3722 <screen>
3723 set my_cfgdir = $HOME/mutt/config
3724
3725 source $my_cfgdir/hooks
3726 source $my_cfgdir/macros
3727 # more source commands...
3728 </screen>
3729 </example>
3730
3731 <para>
3732 A custom variable can also be used in macros to backup the current value
3733 of another variable. In the following example, the value of the
3734 <link linkend="delete">&dollar;delete</link> is changed temporarily
3735 while its original value is saved as <literal>my&lowbar;delete</literal>.
3736 After the macro has executed all commands, the original value of <link
3737 linkend="delete">&dollar;delete</link> is restored.
3738 </para>
3739
3740 <example id="ex-myvar2">
3741 <title>Using user-defined variables for backing up other config option values</title>
3742 <screen>
3743 macro pager ,x '&bsol;
3744 &lt;enter-command&gt;set my_delete=$delete&lt;enter&gt;&bsol;
3745 &lt;enter-command&gt;set delete=yes&lt;enter&gt;&bsol;
3746 ...&bsol;
3747 &lt;enter-command&gt;set delete=$my_delete&lt;enter&gt;'
3748 </screen>
3749 </example>
3750
3751 <para>
3752 Since mutt expands such values already when parsing the configuration
3753 file(s), the value of <literal>&dollar;my&lowbar;delete</literal> in the
3754 last example would be the value of <literal>&dollar;delete</literal> exactly
3755 as it was at that point during parsing the configuration file. If
3756 another statement would change the value for <literal>&dollar;delete</literal>
3757 later in the same or another file, it would have no effect on
3758 <literal>&dollar;my&lowbar;delete</literal>. However, the expansion can
3759 be deferred to runtime, as shown in the next example, when escaping the
3760 dollar sign.
3761 </para>
3762
3763 <example id="ex-myvar3">
3764 <title>Deferring user-defined variable expansion to runtime</title>
3765 <screen>
3766 macro pager &lt;PageDown&gt; "&bsol;
3767 &lt;enter-command&gt; set my&lowbar;old&lowbar;pager&lowbar;stop=&bsol;&dollar;pager&lowbar;stop pager&lowbar;stop&lt;Enter&gt;&bsol;
3768 &lt;next-page&gt;&bsol;
3769 &lt;enter-command&gt; set pager&lowbar;stop=&bsol;&dollar;my&lowbar;old&lowbar;pager&lowbar;stop&lt;Enter&gt;&bsol;
3770 &lt;enter-command&gt; unset my&lowbar;old&lowbar;pager&lowbar;stop&lt;Enter&gt;"
3771 </screen>
3772 </example>
3773
3774 <para>
3775 Note that there is a space
3776 between <literal>&lt;enter-command&gt;</literal> and
3777 the <literal>set</literal> configuration command, preventing mutt from
3778 recording the macro's commands into its history.
3779 </para>
3780
3781 </sect3>
3782
3783 </sect2>
3784
3785 </sect1>
3786
3787 <sect1 id="source">
3788 <title>Reading initialization commands from another file</title>
3789
3790 <para>Usage:</para>
3791
3792 <cmdsynopsis>
3793 <command>source</command>
3794 <arg choice="plain">
3795 <replaceable class="parameter">filename</replaceable>
3796 </arg>
3797 </cmdsynopsis>
3798
3799 <para>
3800 This command allows the inclusion of initialization commands
3801 from other files.  For example, I place all of my aliases in
3802 <literal>&tilde;/.mail&lowbar;aliases</literal> so that I can make my
3803 <literal>&tilde;/.muttrc</literal> readable and keep my aliases private.
3804 </para>
3805
3806 <para>
3807 If the filename begins with a tilde (<quote>&tilde;</quote>), it will be expanded to the
3808 path of your home directory.
3809 </para>
3810
3811 <para>
3812 If the filename ends with a vertical bar (&verbar;), then <emphasis>filename</emphasis> is
3813 considered to be an executable program from which to read input (eg.
3814 <literal>source &tilde;/bin/myscript&verbar;</literal>).
3815 </para>
3816
3817 </sect1>
3818
3819 <sect1 id="ifdef">
3820
3821 <title>Configuring features conditionnaly</title>
3822
3823 <para>
3824 Usage: <literal>ifdef</literal> <emphasis>item</emphasis> <emphasis>command</emphasis>
3825 </para>
3826
3827 <para>
3828 This command allows to test if a feature has been compiled in, before
3829 actually executing the command. Item can be either the name of a
3830 function, variable, or command. Example:
3831 </para>
3832
3833 <para>
3834 <screen>
3835 ifdef imap_keepalive 'source ~/.mutt/imap_setup'
3836 </screen>
3837 </para>
3838
3839 </sect1>
3840
3841 <sect1 id="unhook">
3842 <title>Removing hooks</title>
3843
3844 <para>Usage:</para>
3845
3846 <cmdsynopsis>
3847 <command>unhook</command>
3848 <group choice="req">
3849 <arg choice="plain">
3850 <replaceable class="parameter">*</replaceable>
3851 </arg>
3852 <arg choice="plain">
3853 <replaceable class="parameter">hook-type</replaceable>
3854 </arg>
3855 </group>
3856 </cmdsynopsis>
3857
3858 <para>
3859 This command permits you to flush hooks you have previously defined.
3860 You can either remove all hooks by giving the <quote>*</quote> character as an
3861 argument, or you can remove all hooks of a specific type by saying
3862 something like <literal>unhook send-hook</literal>.
3863 </para>
3864
3865 </sect1>
3866
3867 <sect1 id="formatstrings">
3868 <title>Format Strings</title>
3869
3870 <sect2 id="formatstrings-basics">
3871 <title>Basic usage</title>
3872
3873 <para>
3874 Format strings are a general concept you'll find in several locations
3875 through the mutt configuration, especially in the
3876 <link linkend="index-format">&dollar;index&lowbar;format</link>,
3877 <link linkend="pager-format">&dollar;pager&lowbar;format</link>,
3878 <link linkend="status-format">&dollar;status&lowbar;format</link>,
3879 and other <quote>*_format</quote> variables. These can be very straightforward,
3880 and it's quite possible you already know how to use them.
3881 </para>
3882
3883 <para>
3884 The most basic format string element is a percent symbol followed
3885 by another character. For example, <literal>%s</literal>
3886 represents a message's Subject: header in the <link
3887 linkend="index-format">&dollar;index&lowbar;format</link> variable. The
3888 <quote>expandos</quote> available are documented with each format variable, but
3889 there are general modifiers available with all formatting expandos,
3890 too. Those are our concern here.
3891 </para>
3892
3893 <para>
3894 Some of the modifiers are borrowed right out of C (though you might
3895 know them from Perl, Python, shell, or another language). These are
3896 the [-]m.n modifiers, as in <literal>%-12.12s</literal>. As with
3897 such programming languages, these modifiers allow you to specify the
3898 minimum and maximum size of the resulting string, as well as its
3899 justification. If the <quote>-</quote> sign follows the percent, the string will
3900 be left-justified instead of right-justified. If there's a number
3901 immediately following that, it's the minimum amount of space the
3902 formatted string will occupy -- if it's naturally smaller than that, it
3903 will be padded out with spaces.  If a decimal point and another number
3904 follow, that's the maximum space allowable -- the string will not be
3905 permitted to exceed that width, no matter its natural size. Each of
3906 these three elements is optional, so that all these are legal format
3907 strings:
3908 <literal>%-12s</literal>
3909 <literal>%4c</literal>
3910 <literal>%.15F</literal>
3911 <literal>%-12.15L</literal>
3912 </para>
3913
3914 <para>
3915 Mutt adds some other modifiers to format strings. If you use an equals
3916 symbol (<literal>=</literal>) as a numeric prefix (like the minus
3917 above), it will force the string to be centered within its minimum
3918 space range. For example, <literal>%=14y</literal> will reserve 14
3919 characters for the %y expansion -- that's the X-Label: header, in
3920 <literal>&dollar;index&lowbar;format</literal>. If the expansion
3921 results in a string less than 14 characters, it will be centered in a
3922 14-character space.  If the X-Label for a message were "test", that
3923 expansion would look like <quote>     test     </quote>.
3924 </para>
3925
3926 <para>
3927 There are two very little-known modifiers that affect the way that an
3928 expando is replaced. If there is an underline (<quote>&lowbar;</quote>) character
3929 between any format modifiers (as above) and the expando letter, it will
3930 expands in all lower case. And if you use a colon (<quote>:</quote>), it will
3931 replace all decimal points with underlines.
3932 </para>
3933
3934 </sect2>
3935
3936 <sect2 id="formatstrings-filters">
3937 <title>Filters</title>
3938
3939 <para>
3940 Any format string ending in a vertical bar (<quote>&verbar;</quote>) will be
3941 expanded and piped through the first word in the string, using spaces
3942 as separator. The string returned will be used for display.
3943 If the returned string ends in &percnt;, it will be passed through
3944 the formatter a second time. This allows the filter to generate a
3945 replacement format string including &percnt; expandos.
3946 </para>
3947
3948 <para>
3949 All &percnt; expandos in a format string are expanded before the script
3950 is called so that:
3951 </para>
3952
3953 <example id="ex-fmtpipe">
3954 <title>Using external filters in format strings</title>
3955 <screen>
3956 set status_format="script.sh '%r %f (%L)'|"
3957 </screen>
3958 </example>
3959
3960 <para>
3961 will make mutt expand <literal>&percnt;r</literal>,
3962 <literal>&percnt;f</literal> and <literal>&percnt;L</literal>
3963 before calling the script. The example also shows that arguments can be
3964 quoted: the script will receive the expanded string between the single quotes
3965 as the only argument.
3966 </para>
3967
3968 <para>
3969 A practical example is the <literal>mutt&lowbar;xtitle</literal>
3970 script installed in the <literal>samples</literal>
3971 subdirectory of the mutt documentation: it can be used as filter for
3972 <literal>&dollar;status&lowbar;format</literal> to set the current
3973 terminal's title, if supported.
3974 </para>
3975
3976 </sect2>
3977
3978 </sect1>
3979
3980 </chapter>
3981
3982 <chapter id="advancedusage">
3983 <title>Advanced Usage</title>
3984
3985 <sect1 id="regexp">
3986 <title>Regular Expressions</title>
3987
3988 <para>
3989 All string patterns in Mutt including those in more complex
3990 <link linkend="patterns">patterns</link> must be specified
3991 using regular expressions (regexp) in the <quote>POSIX extended</quote> syntax (which
3992 is more or less the syntax used by egrep and GNU awk).  For your
3993 convenience, we have included below a brief description of this syntax.
3994 </para>
3995
3996 <para>
3997 The search is case sensitive if the pattern contains at least one upper
3998 case letter, and case insensitive otherwise.
3999 </para>
4000
4001 <note>
4002 <para>
4003 Note that <quote>&bsol;</quote>
4004 must be quoted if used for a regular expression in an initialization
4005 command: <quote>&bsol;&bsol;</quote>.
4006 </para>
4007 </note>
4008
4009 <para>
4010 A regular expression is a pattern that describes a set of strings.
4011 Regular expressions are constructed analogously to arithmetic
4012 expressions, by using various operators to combine smaller expressions.
4013 </para>
4014
4015 <note>
4016 <para>
4017 Note that the regular expression can be enclosed/delimited by either &quot;
4018 or ' which is useful if the regular expression includes a white-space
4019 character.  See <xref linkend="muttrc-syntax"/>
4020 for more information on &quot; and ' delimiter processing.  To match a
4021 literal &quot; or ' you must preface it with \ (backslash).
4022 </para>
4023 </note>
4024
4025 <para>
4026 The fundamental building blocks are the regular expressions that match
4027 a single character.  Most characters, including all letters and digits,
4028 are regular expressions that match themselves.  Any metacharacter with
4029 special meaning may be quoted by preceding it with a backslash.
4030 </para>
4031
4032 <para>
4033 The period <quote>.</quote> matches any single character.  The caret <quote>&circ;</quote> and
4034 the dollar sign <quote>&dollar;</quote> are metacharacters that respectively match
4035 the empty string at the beginning and end of a line.
4036 </para>
4037
4038 <para>
4039 A list of characters enclosed by <quote>&lsqb;</quote> and <quote>&rsqb;</quote> matches any
4040 single character in that list; if the first character of the list
4041 is a caret <quote>&circ;</quote> then it matches any character <emphasis role="bold">not</emphasis> in the
4042 list.  For example, the regular expression <emphasis role="bold">&lsqb;0123456789&rsqb;</emphasis>
4043 matches any single digit.  A range of ASCII characters may be specified
4044 by giving the first and last characters, separated by a hyphen
4045 <quote>-</quote>.  Most metacharacters lose their special meaning inside
4046 lists.  To include a literal <quote>&rsqb;</quote> place it first in the list.
4047 Similarly, to include a literal <quote>&circ;</quote> place it anywhere but first.
4048 Finally, to include a literal hyphen <quote>-</quote> place it last.
4049 </para>
4050
4051 <para>
4052 Certain named classes of characters are predefined.  Character classes
4053 consist of <quote>&lsqb;:</quote>, a keyword denoting the class, and <quote>:&rsqb;</quote>.
4054 The following classes are defined by the POSIX standard in
4055 <xref linkend="posix-regex-char-classes"/>
4056 </para>
4057
4058 <table id="posix-regex-char-classes">
4059 <title>POSIX regular expression character classes</title>
4060 <tgroup cols="2">
4061 <thead>
4062 <row><entry>Character class</entry><entry>Description</entry></row>
4063 </thead>
4064 <tbody>
4065 <row><entry>&lsqb;:alnum:&rsqb;</entry><entry>Alphanumeric characters</entry></row>
4066 <row><entry>&lsqb;:alpha:&rsqb;</entry><entry>Alphabetic characters</entry></row>
4067 <row><entry>&lsqb;:blank:&rsqb;</entry><entry>Space or tab characters</entry></row>
4068 <row><entry>&lsqb;:cntrl:&rsqb;</entry><entry>Control characters</entry></row>
4069 <row><entry>&lsqb;:digit:&rsqb;</entry><entry>Numeric characters</entry></row>
4070 <row><entry>&lsqb;:graph:&rsqb;</entry><entry>Characters that are both printable and visible. (A space is printable, but not visible, while an <quote>a</quote> is both)</entry></row>
4071 <row><entry>&lsqb;:lower:&rsqb;</entry><entry>Lower-case alphabetic characters</entry></row>
4072 <row><entry>&lsqb;:print:&rsqb;</entry><entry>Printable characters (characters that are not control characters)</entry></row>
4073 <row><entry>&lsqb;:punct:&rsqb;</entry><entry>Punctuation characters (characters that are not letter, digits, control characters, or space characters)</entry></row>
4074 <row><entry>&lsqb;:space:&rsqb;</entry><entry>Space characters (such as space, tab and formfeed, to name a few)</entry></row>
4075 <row><entry>&lsqb;:upper:&rsqb;</entry><entry>Upper-case alphabetic characters</entry></row>
4076 <row><entry>&lsqb;:xdigit:&rsqb;</entry><entry>Characters that are hexadecimal digits</entry></row>
4077 </tbody>
4078 </tgroup>
4079 </table>
4080
4081 <para>
4082 A character class is only valid in a regular expression inside the
4083 brackets of a character list.
4084 </para>
4085
4086 <note>
4087 <para>
4088 Note that the brackets in these
4089 class names are part of the symbolic names, and must be included
4090 in addition to the brackets delimiting the bracket list. For
4091 example, <emphasis role="bold">&lsqb;&lsqb;:digit:&rsqb;&rsqb;</emphasis> is equivalent to
4092 <emphasis role="bold">&lsqb;0-9&rsqb;</emphasis>.
4093 </para>
4094 </note>
4095
4096 <para>
4097 Two additional special sequences can appear in character lists.  These
4098 apply to non-ASCII character sets, which can have single symbols (called
4099 collating elements) that are represented with more than one character,
4100 as well as several characters that are equivalent for collating or
4101 sorting purposes:
4102 </para>
4103
4104 <variablelist>
4105
4106 <varlistentry>
4107 <term>Collating Symbols</term>
4108 <listitem>
4109 <para>
4110 A collating symbol is a multi-character collating element enclosed in
4111 <quote>&lsqb;.</quote> and <quote>.&rsqb;</quote>.  For example, if <quote>ch</quote> is a collating
4112 element, then <emphasis role="bold">&lsqb;&lsqb;.ch.&rsqb;&rsqb;</emphasis> is a regexp that matches
4113 this collating element, while <emphasis role="bold">&lsqb;ch&rsqb;</emphasis> is a regexp that
4114 matches either <quote>c</quote> or <quote>h</quote>.
4115 </para>
4116 </listitem>
4117 </varlistentry>
4118 <varlistentry>
4119 <term>Equivalence Classes</term>
4120 <listitem>
4121 <para>
4122 An equivalence class is a locale-specific name for a list of
4123 characters that are equivalent. The name is enclosed in <quote>&lsqb;=</quote>
4124 and <quote>=&rsqb;</quote>.  For example, the name <quote>e</quote> might be used to
4125 represent all of <quote>&egrave;</quote> <quote>&eacute;</quote> and <quote>e</quote>.  In this case,
4126 <emphasis role="bold">&lsqb;&lsqb;=e=&rsqb;&rsqb;</emphasis> is a regexp that matches any of
4127 <quote>&egrave;</quote>, <quote>&eacute;</quote> and <quote>e</quote>.
4128 </para>
4129 </listitem>
4130 </varlistentry>
4131 </variablelist>
4132
4133 <para>
4134 A regular expression matching a single character may be followed by one
4135 of several repetition operators described in <xref linkend="regex-repeat"/>.
4136 </para>
4137
4138 <table id="regex-repeat">
4139 <title>Regular expression repetition operators</title>
4140 <tgroup cols="2">
4141 <thead>
4142 <row><entry>Operator</entry><entry>Description</entry></row>
4143 </thead>
4144 <tbody>
4145 <row><entry>?</entry><entry>The preceding item is optional and matched at most once</entry></row>
4146 <row><entry>*</entry><entry>The preceding item will be matched zero or more times</entry></row>
4147 <row><entry>+</entry><entry>The preceding item will be matched one or more times</entry></row>
4148 <row><entry>&lcub;n&rcub;</entry><entry>The preceding item is matched exactly <emphasis>n</emphasis> times</entry></row>
4149 <row><entry>&lcub;n,&rcub;</entry><entry>The preceding item is matched <emphasis>n</emphasis> or more times</entry></row>
4150 <row><entry>&lcub;,m&rcub;</entry><entry>The preceding item is matched at most <emphasis>m</emphasis> times</entry></row>
4151 <row><entry>&lcub;n,m&rcub;</entry><entry>The preceding item is matched at least <emphasis>n</emphasis> times, but no more than <emphasis>m</emphasis> times</entry></row>
4152 </tbody>
4153 </tgroup>
4154 </table>
4155
4156 <para>
4157 Two regular expressions may be concatenated; the resulting regular
4158 expression matches any string formed by concatenating two substrings
4159 that respectively match the concatenated subexpressions.
4160 </para>
4161
4162 <para>
4163 Two regular expressions may be joined by the infix operator <quote>&verbar;</quote>;
4164 the resulting regular expression matches any string matching either
4165 subexpression.
4166 </para>
4167
4168 <para>
4169 Repetition takes precedence over concatenation, which in turn takes
4170 precedence over alternation.  A whole subexpression may be enclosed in
4171 parentheses to override these precedence rules.
4172 </para>
4173
4174 <note>
4175 <para>
4176 If you compile Mutt with the GNU <emphasis>rx</emphasis> package, the
4177 following operators may also be used in regular expressions as described in <xref linkend="regex-gnu-ext"/>.
4178 </para>
4179 </note>
4180
4181 <table id="regex-gnu-ext">
4182 <title>GNU regular expression extensions</title>
4183 <tgroup cols="2">
4184 <thead>
4185 <row><entry>Expression</entry><entry>Description</entry></row>
4186 </thead>
4187 <tbody>
4188 <row><entry>&bsol;&bsol;y</entry><entry>Matches the empty string at either the beginning or the end of a word</entry></row>
4189 <row><entry>&bsol;&bsol;B</entry><entry>Matches the empty string within a word</entry></row>
4190 <row><entry>&bsol;&bsol;&lt;</entry><entry>Matches the empty string at the beginning of a word</entry></row>
4191 <row><entry>&bsol;&bsol;&gt;</entry><entry>Matches the empty string at the end of a word</entry></row>
4192 <row><entry>&bsol;&bsol;w</entry><entry>Matches any word-constituent character (letter, digit, or underscore)</entry></row>
4193 <row><entry>&bsol;&bsol;W</entry><entry>Matches any character that is not word-constituent</entry></row>
4194 <row><entry>&bsol;&bsol;`</entry><entry>Matches the empty string at the beginning of a buffer (string)</entry></row>
4195 <row><entry>&bsol;&bsol;'</entry><entry>Matches the empty string at the end of a buffer</entry></row>
4196 </tbody>
4197 </tgroup>
4198 </table>
4199
4200 <para>
4201 Please note however that these operators are not defined by POSIX, so
4202 they may or may not be available in stock libraries on various systems.
4203 </para>
4204
4205 </sect1>
4206
4207 <sect1 id="patterns">
4208 <title>Patterns: Searching, Limiting and Tagging</title>
4209
4210 <para>
4211 Many of Mutt's commands allow you to specify a pattern to match
4212 (<literal>limit</literal>, <literal>tag-pattern</literal>,
4213 <literal>delete-pattern</literal>, etc.). <xref linkend="tab-patterns"/>
4214 shows several ways to select messages.
4215 </para>
4216
4217 <table id="tab-patterns">
4218 <title>Pattern modifiers</title>
4219 <tgroup cols="2">
4220 <thead>
4221 <row><entry>Pattern modifier</entry><entry>Description</entry></row>
4222 </thead>
4223 <tbody>
4224 <row><entry>~A</entry><entry>all messages</entry></row>
4225 <row><entry>~b <emphasis>EXPR</emphasis></entry><entry>messages which contain <emphasis>EXPR</emphasis> in the message body</entry></row>
4226 <row><entry>=b <emphasis>STRING</emphasis></entry><entry>messages which contain <emphasis>STRING</emphasis> in the message body. If IMAP is enabled, searches for <emphasis>STRING</emphasis> on the server, rather than downloading each message and searching it locally.</entry></row>
4227 <row><entry>~B <emphasis>EXPR</emphasis></entry><entry>messages which contain <emphasis>EXPR</emphasis> in the whole message</entry></row>
4228 <row><entry>~c <emphasis>EXPR</emphasis></entry><entry>messages carbon-copied to <emphasis>EXPR</emphasis></entry></row>
4229 <row><entry>%c <emphasis>GROUP</emphasis></entry><entry>messages carbon-copied to any member of <emphasis>GROUP</emphasis></entry></row>
4230 <row><entry>~C <emphasis>EXPR</emphasis></entry><entry>messages either to: or cc: <emphasis>EXPR</emphasis></entry></row>
4231 <row><entry>%C <emphasis>GROUP</emphasis></entry><entry>messages either to: or cc: to any member of <emphasis>GROUP</emphasis></entry></row>
4232 <row><entry>~d &lsqb;<emphasis>MIN</emphasis>&rsqb;-&lsqb;<emphasis>MAX</emphasis>&rsqb;</entry><entry>messages with <quote>date-sent</quote> in a Date range</entry></row>
4233 <row><entry>~D</entry><entry>deleted messages</entry></row>
4234 <row><entry>~e <emphasis>EXPR</emphasis></entry><entry>messages which contains <emphasis>EXPR</emphasis> in the <quote>Sender</quote> field</entry></row>
4235 <row><entry>%e <emphasis>GROUP</emphasis></entry><entry>messages which contain a member of <emphasis>GROUP</emphasis> in the <quote>Sender</quote> field</entry></row>
4236 <row><entry>~E</entry><entry>expired messages</entry></row>
4237 <row><entry>~F</entry><entry>flagged messages</entry></row>
4238 <row><entry>~f <emphasis>EXPR</emphasis></entry><entry>messages originating from <emphasis>EXPR</emphasis></entry></row>
4239 <row><entry>%f <emphasis>GROUP</emphasis></entry><entry>messages originating from any member of <emphasis>GROUP</emphasis></entry></row>
4240 <row><entry>~g</entry><entry>cryptographically signed messages</entry></row>
4241 <row><entry>~G</entry><entry>cryptographically encrypted messages</entry></row>
4242 <row><entry>~h <emphasis>EXPR</emphasis></entry><entry>messages which contain <emphasis>EXPR</emphasis> in the message header</entry></row>
4243 <row><entry>~H <emphasis>EXPR</emphasis></entry><entry>messages with a spam attribute matching <emphasis>EXPR</emphasis></entry></row>
4244 <row><entry>~i <emphasis>EXPR</emphasis></entry><entry>messages which match <emphasis>EXPR</emphasis> in the <quote>Message-ID</quote> field</entry></row>
4245 <row><entry>~k</entry><entry>messages which contain PGP key material</entry></row>
4246 <row><entry>~L <emphasis>EXPR</emphasis></entry><entry>messages either originated or received by <emphasis>EXPR</emphasis></entry></row>
4247 <row><entry>%L <emphasis>GROUP</emphasis></entry><entry>message either originated or received by any member of <emphasis>GROUP</emphasis></entry></row>
4248 <row><entry>~l</entry><entry>messages addressed to a known mailing list</entry></row>
4249 <row><entry>~m &lsqb;<emphasis>MIN</emphasis>&rsqb;-&lsqb;<emphasis>MAX</emphasis>&rsqb;</entry><entry>messages in the range <emphasis>MIN</emphasis> to <emphasis>MAX</emphasis> *)</entry></row>
4250 <row><entry>~n &lsqb;<emphasis>MIN</emphasis>&rsqb;-&lsqb;<emphasis>MAX</emphasis>&rsqb;</entry><entry>messages with a score in the range <emphasis>MIN</emphasis> to <emphasis>MAX</emphasis> *)</entry></row>
4251 <row><entry>~N</entry><entry>new messages</entry></row>
4252 <row><entry>~O</entry><entry>old messages</entry></row>
4253 <row><entry>~p</entry><entry>messages addressed to you (consults alternates)</entry></row>
4254 <row><entry>~P</entry><entry>messages from you (consults alternates)</entry></row>
4255 <row><entry>~Q</entry><entry>messages which have been replied to</entry></row>
4256 <row><entry>~r &lsqb;<emphasis>MIN</emphasis>&rsqb;-&lsqb;<emphasis>MAX</emphasis>&rsqb;</entry><entry>messages with <quote>date-received</quote> in a Date range</entry></row>
4257 <row><entry>~R</entry><entry>read messages</entry></row>
4258 <row><entry>~s <emphasis>EXPR</emphasis></entry><entry>messages having <emphasis>EXPR</emphasis> in the <quote>Subject</quote> field.</entry></row>
4259 <row><entry>~S</entry><entry>superseded messages</entry></row>
4260 <row><entry>~t <emphasis>EXPR</emphasis></entry><entry>messages addressed to <emphasis>EXPR</emphasis></entry></row>
4261 <row><entry>~T</entry><entry>tagged messages</entry></row>
4262 <row><entry>~u</entry><entry>messages addressed to a subscribed mailing list</entry></row>
4263 <row><entry>~U</entry><entry>unread messages</entry></row>
4264 <row><entry>~v</entry><entry>messages part of a collapsed thread.</entry></row>
4265 <row><entry>~V</entry><entry>cryptographically verified messages</entry></row>
4266 <row><entry>~x <emphasis>EXPR</emphasis></entry><entry>messages which contain <emphasis>EXPR</emphasis> in the <quote>References</quote> field</entry></row>
4267 <row><entry>~X &lsqb;<emphasis>MIN</emphasis>&rsqb;-&lsqb;<emphasis>MAX</emphasis>&rsqb;</entry><entry>messages with <emphasis>MIN</emphasis> to <emphasis>MAX</emphasis> attachments *)</entry></row>
4268 <row><entry>~y <emphasis>EXPR</emphasis></entry><entry>messages which contain <emphasis>EXPR</emphasis> in the <quote>X-Label</quote> field</entry></row>
4269 <row><entry>~z &lsqb;<emphasis>MIN</emphasis>&rsqb;-&lsqb;<emphasis>MAX</emphasis>&rsqb;</entry><entry>messages with a size in the range <emphasis>MIN</emphasis> to <emphasis>MAX</emphasis> *)</entry></row>
4270 <row><entry>~=</entry><entry>duplicated messages (see <link linkend="duplicate-threads">&dollar;duplicate&lowbar;threads</link>)</entry></row>
4271 <row><entry>~$</entry><entry>unreferenced messages (requires threaded view)</entry></row>
4272 <row><entry>~(<emphasis>PATTERN</emphasis>)</entry><entry>messages in threads
4273 containing messages matching <emphasis>PATTERN</emphasis>, e.g. all
4274 threads containing messages from you: ~(~P)</entry></row>
4275 </tbody>
4276 </tgroup>
4277 </table>
4278
4279 <para>
4280 Where <emphasis>EXPR</emphasis> is a
4281 <link linkend="regexp">regular expression</link>.  Special attention has to be
4282 made when using regular expressions inside of patterns.  Specifically,
4283 Mutt's parser for these patterns will strip one level of backslash (<quote>\</quote>),
4284 which is normally used for quoting.  If it is your intention to use a
4285 backslash in the regular expression, you will need to use two backslashes
4286 instead (<quote>\\</quote>). You can force mutt to treat <emphasis>EXPR</emphasis> as a simple string
4287 instead of a regular expression by using = instead of &tilde; in the
4288 pattern name. For example, <literal>=b *.*</literal> will find all messages that contain
4289 the literal string <quote>*.*</quote>. Simple string matches are less powerful than
4290 regular expressions but can be considerably faster. This is especially
4291 true for IMAP folders, because string matches can be performed on the
4292 server instead of by fetching every message. IMAP treats <literal>=h</literal> specially:
4293 it must be of the form "header: substring" and will not partially
4294 match header names. The substring part may be omitted if you simply
4295 wish to find messages containing a particular header without regard to
4296 its value.
4297 </para>
4298
4299 <para>
4300 *) The forms <quote>&lt;&lsqb;<emphasis>MAX</emphasis>&rsqb;</quote>, <quote>&gt;&lsqb;<emphasis>MIN</emphasis>&rsqb;</quote>,
4301 <quote>&lsqb;<emphasis>MIN</emphasis>&rsqb;-</quote> and <quote>-&lsqb;<emphasis>MAX</emphasis>&rsqb;</quote>
4302 are allowed, too.
4303 </para>
4304
4305 <sect2 id="patterns-modifier">
4306 <title>Pattern Modifier</title>
4307
4308 <note>
4309 <para>
4310 Note that patterns matching 'lists' of addresses (notably c, C, p, P and t)
4311 match if there is at least one match in the whole list. If you want to
4312 make sure that all elements of that list match, you need to prefix your
4313 pattern with <quote>&circ;</quote>.
4314 This example matches all mails which only has recipients from Germany.
4315 </para>
4316 </note>
4317
4318 <screen>
4319 ^~C \.de$
4320 </screen>
4321
4322 </sect2>
4323
4324 <sect2 id="simple-patterns">
4325 <title>Simple Patterns</title>
4326
4327 <para>
4328 Mutt supports two versions of so called <quote>simple searches</quote> which are
4329 issued if the query entered for searching, limiting and similar
4330 operations does not seem to be a valid pattern (i.e. it does not contain
4331 one of these characters: <quote>&tilde;</quote>, <quote>=</quote> or <quote>&percnt;</quote>). If the query is
4332 supposed to contain one of these special characters, they must be escaped
4333 by prepending a backslash (<quote>\</quote>).
4334 </para>
4335
4336 <para>
4337 The first type is by checking whether the query string equals
4338 a keyword case-insensitively from <xref linkend="tab-simplesearch-keywords"/>:
4339 If that is the case, Mutt will use the shown pattern modifier instead.
4340 If a keyword would conflict with your search keyword, you need to turn
4341 it into a regular expression to avoid matching the keyword table. For
4342 example, if you want to find all messages matching <quote>flag</quote>
4343 (using <link linkend="simple-search">&dollar;simple&lowbar;search</link>)
4344 but don't want to match flagged messages, simply search for
4345 <quote><literal>&lsqb;f&rsqb;lag</literal></quote>.
4346 </para>
4347
4348 <table id="tab-simplesearch-keywords">
4349 <title>Simple search keywords</title>
4350 <tgroup cols="2">
4351 <thead>
4352 <row><entry>Keyword</entry><entry>Pattern modifier</entry></row>
4353 </thead>
4354 <tbody>
4355 <row><entry>all</entry><entry>~A</entry></row>
4356 <row><entry>.</entry><entry>~A</entry></row>
4357 <row><entry>&circ;</entry><entry>~A</entry></row>
4358 <row><entry>del</entry><entry>~D</entry></row>
4359 <row><entry>flag</entry><entry>~F</entry></row>
4360 <row><entry>new</entry><entry>~N</entry></row>
4361 <row><entry>old</entry><entry>~O</entry></row>
4362 <row><entry>repl</entry><entry>~Q</entry></row>
4363 <row><entry>read</entry><entry>~R</entry></row>
4364 <row><entry>tag</entry><entry>~T</entry></row>
4365 <row><entry>unread</entry><entry>~U</entry></row>
4366 </tbody>
4367 </tgroup>
4368 </table>
4369
4370 <para>
4371 The second type of simple search is to build a complex search
4372 pattern using <link linkend="simple-search">&dollar;simple&lowbar;search</link>
4373 as a template. Mutt will insert your query properly quoted and search
4374 for the composed complex query.
4375 </para>
4376
4377 </sect2>
4378
4379 <sect2 id="complex-patterns">
4380 <title>Complex Patterns</title>
4381
4382 <para>
4383 Logical AND is performed by specifying more than one criterion.  For
4384 example:
4385 </para>
4386
4387 <screen>
4388 ~t mutt ~f elkins
4389 </screen>
4390
4391 <para>
4392 would select messages which contain the word <quote>mutt</quote> in the list of
4393 recipients <emphasis role="bold">and</emphasis> that have the word <quote>elkins</quote> in the <quote>From</quote> header
4394 field.
4395 </para>
4396
4397 <para>
4398 Mutt also recognizes the following operators to create more complex search
4399 patterns:
4400 </para>
4401
4402 <itemizedlist>
4403 <listitem>
4404
4405 <para>
4406 ! -- logical NOT operator
4407 </para>
4408 </listitem>
4409 <listitem>
4410
4411 <para>
4412 &verbar; -- logical OR operator
4413 </para>
4414 </listitem>
4415 <listitem>
4416
4417 <para>
4418 () -- logical grouping operator
4419 </para>
4420 </listitem>
4421
4422 </itemizedlist>
4423
4424 <para>
4425 Here is an example illustrating a complex search pattern.  This pattern will
4426 select all messages which do not contain <quote>mutt</quote> in the <quote>To</quote> or <quote>Cc</quote>
4427 field and which are from <quote>elkins</quote>.
4428 </para>
4429
4430 <example id="ex-pattern-bool">
4431 <title>Using boolean operators in patterns</title>
4432 <screen>
4433 !(~t mutt|~c mutt) ~f elkins
4434 </screen>
4435 </example>
4436
4437 <para>
4438 Here is an example using white space in the regular expression (note
4439 the ' and &quot; delimiters).  For this to match, the mail's subject must
4440 match the <quote>&circ;Junk +From +Me$</quote> and it must be from either <quote>Jim +Somebody</quote>
4441 or <quote>Ed +SomeoneElse</quote>:
4442 </para>
4443
4444 <screen>
4445  '~s "^Junk +From +Me$" ~f ("Jim +Somebody"|"Ed +SomeoneElse")'
4446 </screen>
4447
4448 <note>
4449 <para>
4450 If a regular expression contains parenthesis, or a vertical bar
4451 ("&verbar;"), you <emphasis role="bold">must</emphasis> enclose the expression in double or single quotes since
4452 those characters are also used to separate different parts of Mutt's
4453 pattern language.  For example: <literal>~f "me@(mutt\.org|cs\.hmc\.edu)"</literal>
4454 </para>
4455 </note>
4456
4457 <para>
4458 Without the quotes, the parenthesis wouldn't end.
4459 This would be separated to two OR'd patterns: <emphasis>&tilde;f me@(mutt\.org</emphasis>
4460 and <emphasis>cs\.hmc\.edu)</emphasis>. They are never what you want.
4461 </para>
4462
4463 </sect2>
4464
4465 <sect2 id="date-patterns">
4466 <title>Searching by Date</title>
4467
4468 <para>
4469 Mutt supports two types of dates, <emphasis>absolute</emphasis> and <emphasis>relative</emphasis>.
4470 </para>
4471
4472 <para>
4473 <emphasis role="bold">Absolute</emphasis>.  Dates <emphasis role="bold">must</emphasis> be in DD/MM/YY format (month and year are
4474 optional, defaulting to the current month and year).  An example of a valid
4475 range of dates is:
4476 </para>
4477
4478 <screen>
4479 Limit to messages matching: ~d 20/1/95-31/10
4480 </screen>
4481
4482 <para>
4483 If you omit the minimum (first) date, and just specify <quote>-DD/MM/YY</quote>, all
4484 messages <emphasis>before</emphasis> the given date will be selected.  If you omit the maximum
4485 (second) date, and specify <quote>DD/MM/YY-</quote>, all messages <emphasis>after</emphasis> the given
4486 date will be selected.  If you specify a single date with no dash (<quote>-</quote>),
4487 only messages sent on the given date will be selected.
4488 </para>
4489
4490 <para>
4491 <emphasis role="bold">Error Margins</emphasis>.  You can add error margins to absolute dates.
4492 An error margin is a sign (+ or -), followed by a digit, followed by
4493 one of the units in <xref linkend="tab-date-units"/>. As a special case, you can replace the
4494 sign by a <quote>*</quote> character, which is equivalent to giving identical plus and minus error margins.
4495 </para>
4496
4497 <table id="tab-date-units">
4498 <title>Date units</title>
4499 <tgroup cols="2">
4500 <thead>
4501 <row><entry>Unit</entry><entry>Description</entry></row>
4502 </thead>
4503 <tbody>
4504 <row><entry>y</entry><entry>Years</entry></row>
4505 <row><entry>m</entry><entry>Months</entry></row>
4506 <row><entry>w</entry><entry>Weeks</entry></row>
4507 <row><entry>d</entry><entry>Days</entry></row>
4508 </tbody>
4509 </tgroup>
4510 </table>
4511
4512 <para>
4513 Example: To select any messages two weeks around January 15, 2001,
4514 you'd use the following pattern:
4515 </para>
4516
4517 <screen>
4518 Limit to messages matching: ~d 15/1/2001*2w
4519 </screen>
4520
4521 <para>
4522 <emphasis role="bold">Relative</emphasis>.  This type of date is relative to the current date, and may
4523 be specified as:
4524 </para>
4525
4526 <itemizedlist>
4527 <listitem>
4528
4529 <para>
4530 &gt;<emphasis>offset</emphasis> (messages older than <emphasis>offset</emphasis> units)
4531 </para>
4532 </listitem>
4533 <listitem>
4534
4535 <para>
4536 &lt;<emphasis>offset</emphasis> (messages newer than <emphasis>offset</emphasis> units)
4537 </para>
4538 </listitem>
4539 <listitem>
4540
4541 <para>
4542 =<emphasis>offset</emphasis> (messages exactly <emphasis>offset</emphasis> units old)
4543 </para>
4544 </listitem>
4545
4546 </itemizedlist>
4547
4548 <para>
4549 <emphasis>offset</emphasis> is specified as a positive number with one of the units from <xref linkend="tab-date-units"/>.
4550 </para>
4551
4552 <para>
4553 Example: to select messages less than 1 month old, you would use
4554 </para>
4555
4556 <screen>
4557 Limit to messages matching: ~d &lt;1m
4558 </screen>
4559
4560 <note>
4561 <para>
4562 All dates used when searching are relative to the
4563 <emphasis role="bold">local</emphasis> time zone, so unless you change the setting of your <link linkend="index-format">&dollar;index&lowbar;format</link> to include a
4564 <literal>&percnt;&lsqb;...&rsqb;</literal> format, these are <emphasis role="bold">not</emphasis> the dates shown
4565 in the main index.
4566 </para>
4567 </note>
4568
4569 </sect2>
4570
4571 </sect1>
4572
4573 <sect1 id="tags">
4574 <title>Using Tags</title>
4575
4576 <para>
4577 Sometimes it is desirable to perform an operation on a group of
4578 messages all at once rather than one at a time.  An example might be
4579 to save messages to a mailing list to a separate folder, or to
4580 delete all messages with a given subject.  To tag all messages
4581 matching a pattern, use the <literal>&lt;tag-pattern&gt;</literal> function, which is bound to
4582 <quote>shift-T</quote> by default.  Or you can select individual messages by
4583 hand using the <literal>&lt;tag-message&gt;</literal> function, which is bound to <quote>t</quote> by
4584 default.  See <link linkend="patterns">patterns</link> for Mutt's pattern
4585 matching syntax.
4586 </para>
4587
4588 <para>
4589 Once you have tagged the desired messages, you can use the
4590 <quote>tag-prefix</quote> operator, which is the <quote>;</quote> (semicolon) key by default.
4591 When the <quote>tag-prefix</quote> operator is used, the <emphasis role="bold">next</emphasis> operation will
4592 be applied to all tagged messages if that operation can be used in that
4593 manner.  If the <link linkend="auto-tag">&dollar;auto&lowbar;tag</link>
4594 variable is set, the next operation applies to the tagged messages
4595 automatically, without requiring the <quote>tag-prefix</quote>.
4596 </para>
4597
4598 <para>
4599 In <link linkend="macro">macros</link> or <link linkend="push">push</link> commands,
4600 you can use the <quote>tag-prefix-cond</quote> operator.  If there are no tagged
4601 messages, mutt will "eat" the rest of the macro to abort it's execution.
4602 Mutt will stop "eating" the macro when it encounters the <quote>end-cond</quote>
4603 operator;  after this operator the rest of the macro will be executed as
4604 normal.
4605 </para>
4606
4607 </sect1>
4608
4609 <sect1 id="hooks">
4610 <title>Using Hooks</title>
4611
4612 <para>
4613 A <emphasis>hook</emphasis> is a concept found in many other programs which allows you to
4614 execute arbitrary commands before performing some operation.  For example,
4615 you may wish to tailor your configuration based upon which mailbox you are
4616 reading, or to whom you are sending mail.  In the Mutt world, a <emphasis>hook</emphasis>
4617 consists of a <link linkend="regexp">regular expression</link> or
4618 <link linkend="patterns">pattern</link> along with a
4619 configuration option/command.  See
4620
4621 <itemizedlist>
4622 <listitem>
4623
4624 <para>
4625 <link linkend="folder-hook">folder-hook</link>
4626 </para>
4627 </listitem>
4628 <listitem>
4629
4630 <para>
4631 <link linkend="send-hook">send-hook</link>
4632 </para>
4633 </listitem>
4634 <listitem>
4635
4636 <para>
4637 <link linkend="message-hook">message-hook</link>
4638 </para>
4639 </listitem>
4640 <listitem>
4641
4642 <para>
4643 <link linkend="save-hook">save-hook</link>
4644 </para>
4645 </listitem>
4646 <listitem>
4647
4648 <para>
4649 <link linkend="mbox-hook">mbox-hook</link>
4650 </para>
4651 </listitem>
4652 <listitem>
4653
4654 <para>
4655 <link linkend="fcc-hook">fcc-hook</link>
4656 </para>
4657 </listitem>
4658 <listitem>
4659
4660 <para>
4661 <link linkend="fcc-save-hook">fcc-save-hook</link>
4662 </para>
4663 </listitem>
4664
4665 </itemizedlist>
4666
4667 for specific details on each type of <emphasis>hook</emphasis> available.
4668 </para>
4669
4670 <note>
4671 <para>
4672 If a hook changes configuration settings, these changes remain
4673 effective until the end of the current mutt session. As this is generally
4674 not desired, a default hook needs to be added before all other hooks to
4675 restore configuration defaults. Here is an example with send-hook and the
4676 my&lowbar;hdr directive:
4677 </para>
4678 </note>
4679
4680 <example id="ex-send-hook-my-hdr">
4681 <title>Combining <literal>send-hook</literal> and <literal>my&lowbar;hdr</literal></title>
4682 <screen>
4683 send-hook . 'unmy_hdr From:'
4684 send-hook ~C'^b@b\.b$' my_hdr from: c@c.c
4685 </screen>
4686 </example>
4687
4688 <sect2 id="pattern-hook" xreflabel="Message Matching in Hooks">
4689 <title>Message Matching in Hooks</title>
4690
4691 <para>
4692 Hooks that act upon messages (<literal>message-hook, reply-hook,
4693 send-hook, send2-hook, save-hook, fcc-hook</literal>) are evaluated in a
4694 slightly different manner. For the other
4695 types of hooks, a <link linkend="regexp">regular expression</link> is
4696 sufficient.  But in dealing with messages a finer grain of control is
4697 needed for matching since for different purposes you want to match
4698 different criteria.
4699 </para>
4700
4701 <para>
4702 Mutt allows the use of the <link linkend="patterns">search pattern</link>
4703 language for matching messages in hook commands.  This works in
4704 exactly the same way as it would when <emphasis>limiting</emphasis> or
4705 <emphasis>searching</emphasis> the mailbox, except that you are restricted to those
4706 operators which match information mutt extracts from the header of
4707 the message (i.e., from, to, cc, date, subject, etc.).
4708 </para>
4709
4710 <para>
4711 For example, if you wanted to set your return address based upon sending
4712 mail to a specific address, you could do something like:
4713 </para>
4714
4715 <screen>
4716 send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt User &lt;user@host&gt;'
4717 </screen>
4718
4719 <para>
4720 which would execute the given command when sending mail to
4721 <emphasis>me@cs.hmc.edu</emphasis>.
4722 </para>
4723
4724 <para>
4725 However, it is not required that you write the pattern to match using the
4726 full searching language.  You can still specify a simple <emphasis>regular
4727 expression</emphasis> like the other hooks, in which case Mutt will translate your
4728 pattern into the full language, using the translation specified by the
4729 <link linkend="default-hook">&dollar;default&lowbar;hook</link> variable.  The
4730 pattern is translated at the time the hook is declared, so the value of
4731 <link linkend="default-hook">&dollar;default&lowbar;hook</link> that is in effect
4732 at that time will be used.
4733 </para>
4734
4735 </sect2>
4736
4737 </sect1>
4738
4739 <sect1 id="query">
4740 <title>External Address Queries</title>
4741
4742 <para>
4743 Mutt supports connecting to external directory databases such as LDAP,
4744 ph/qi, bbdb, or NIS through a wrapper script which connects to mutt
4745 using a simple interface.  Using the <link linkend="query-command">&dollar;query&lowbar;command</link> variable, you specify the wrapper
4746 command to use.  For example:
4747 </para>
4748
4749 <screen>
4750 set query_command = "mutt_ldap_query.pl '%s'"
4751 </screen>
4752
4753 <para>
4754 The wrapper script should accept the query on the command-line.  It
4755 should return a one line message, then each matching response on a
4756 single line, each line containing a tab separated address then name then
4757 some other optional information.  On error, or if there are no matching
4758 addresses, return a non-zero exit code and a one line error message.
4759 </para>
4760
4761 <para>
4762 An example multiple response output:
4763 </para>
4764
4765 <screen>
4766 Searching database ... 20 entries ... 3 matching:
4767 me@cs.hmc.edu           Michael Elkins  mutt dude
4768 blong@fiction.net       Brandon Long    mutt and more
4769 roessler@does-not-exist.org        Thomas Roessler mutt pgp
4770 </screen>
4771
4772 <para>
4773 There are two mechanisms for accessing the query function of mutt.  One
4774 is to do a query from the index menu using the <literal>&lt;query&gt;</literal> function (default: Q).
4775 This will prompt for a query, then bring up the query menu which will
4776 list the matching responses.  From the query menu, you can select
4777 addresses to create aliases, or to mail.  You can tag multiple addresses
4778 to mail, start a new query, or have a new query appended to the current
4779 responses.
4780 </para>
4781
4782 <para>
4783 The other mechanism for accessing the query function is for address
4784 completion, similar to the alias completion.  In any prompt for address
4785 entry, you can use the <literal>&lt;complete-query&gt;</literal> function (default: &circ;T) to run a
4786 query based on the current address you have typed.  Like aliases, mutt
4787 will look for what you have typed back to the last space or comma.  If
4788 there is a single response for that query, mutt will expand the address
4789 in place.  If there are multiple responses, mutt will activate the query
4790 menu.  At the query menu, you can select one or more addresses to be
4791 added to the prompt.
4792 </para>
4793
4794 </sect1>
4795
4796 <sect1 id="mailbox-formats">
4797 <title>Mailbox Formats</title>
4798
4799 <para>
4800 Mutt supports reading and writing of four different mailbox formats:
4801 mbox, MMDF, MH and Maildir.  The mailbox type is autodetected, so there
4802 is no need to use a flag for different mailbox types.  When creating new
4803 mailboxes, Mutt uses the default specified with the <link linkend="mbox-type">&dollar;mbox&lowbar;type</link> variable.
4804 </para>
4805
4806 <para>
4807 <emphasis role="bold">mbox</emphasis>.  This is the most widely used mailbox format for UNIX.  All
4808 messages are stored in a single file.  Each message has a line of the form:
4809 </para>
4810
4811 <screen>
4812 From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
4813 </screen>
4814
4815 <para>
4816 to denote the start of a new message (this is often referred to as the
4817 <quote>From&lowbar;</quote> line).
4818 </para>
4819
4820 <para>
4821 <emphasis role="bold">MMDF</emphasis>.  This is a variant of the <emphasis>mbox</emphasis> format.  Each message is
4822 surrounded by lines containing <quote>&circ;A&circ;A&circ;A&circ;A</quote> (four control-A's).
4823 </para>
4824
4825 <para>
4826 <emphasis role="bold">MH</emphasis>. A radical departure from <emphasis>mbox</emphasis> and <emphasis>MMDF</emphasis>, a mailbox
4827 consists of a directory and each message is stored in a separate file.
4828 The filename indicates the message number (however, this is may not
4829 correspond to the message number Mutt displays). Deleted messages are
4830 renamed with a comma (,) prepended to the filename. Mutt
4831 detects this type of mailbox by looking for either <literal>.mh&lowbar;sequences</literal>
4832 or <literal>.xmhcache</literal> (needed to distinguish normal directories from MH
4833 mailboxes).
4834 </para>
4835
4836 <para>
4837 <emphasis role="bold">Maildir</emphasis>.  The newest of the mailbox formats, used by the Qmail MTA (a
4838 replacement for sendmail).  Similar to <emphasis>MH</emphasis>, except that it adds three
4839 subdirectories of the mailbox: <emphasis>tmp</emphasis>, <emphasis>new</emphasis> and <emphasis>cur</emphasis>.  Filenames
4840 for the messages are chosen in such a way they are unique, even when two
4841 programs are writing the mailbox over NFS, which means that no file locking
4842 is needed.
4843 </para>
4844
4845 </sect1>
4846
4847 <sect1 id="shortcuts">
4848 <title>Mailbox Shortcuts</title>
4849
4850 <para>
4851 There are a number of built in shortcuts which refer to specific mailboxes.
4852 These shortcuts can be used anywhere you are prompted for a file or mailbox
4853 path.
4854 </para>
4855
4856 <itemizedlist>
4857 <listitem>
4858
4859 <para>
4860 ! -- refers to your <link linkend="spoolfile">&dollar;spoolfile</link> (incoming) mailbox
4861 </para>
4862 </listitem>
4863 <listitem>
4864
4865 <para>
4866 &gt; -- refers to your <link linkend="mbox">&dollar;mbox</link> file
4867 </para>
4868 </listitem>
4869 <listitem>
4870
4871 <para>
4872 &lt; -- refers to your <link linkend="record">&dollar;record</link> file
4873 </para>
4874 </listitem>
4875 <listitem>
4876
4877 <para>
4878 &circ; -- refers to the current mailbox
4879 </para>
4880 </listitem>
4881 <listitem>
4882
4883 <para>
4884 - or !! -- refers to the file you've last visited
4885 </para>
4886 </listitem>
4887 <listitem>
4888
4889 <para>
4890 &tilde; -- refers to your home directory
4891 </para>
4892 </listitem>
4893 <listitem>
4894
4895 <para>
4896 = or + -- refers to your <link linkend="folder">&dollar;folder</link> directory
4897 </para>
4898 </listitem>
4899 <listitem>
4900
4901 <para>
4902 @<emphasis>alias</emphasis> -- refers to the <link linkend="save-hook">default save folder</link> as determined by the address of the alias
4903 </para>
4904 </listitem>
4905
4906 </itemizedlist>
4907
4908 </sect1>
4909
4910 <sect1 id="using-lists">
4911 <title>Handling Mailing Lists</title>
4912
4913 <para>
4914 Mutt has a few configuration options that make dealing with large
4915 amounts of mail easier.  The first thing you must do is to let Mutt
4916 know what addresses you consider to be mailing lists (technically
4917 this does not have to be a mailing list, but that is what it is most
4918 often used for), and what lists you are subscribed to.  This is
4919 accomplished through the use of the <link linkend="lists">lists and subscribe</link> commands in your muttrc.
4920 </para>
4921
4922 <para>
4923 Now that Mutt knows what your mailing lists are, it can do several
4924 things, the first of which is the ability to show the name of a list
4925 through which you received a message (i.e., of a subscribed list) in
4926 the <emphasis>index</emphasis> menu display.  This is useful to distinguish between
4927 personal and list mail in the same mailbox.  In the <link linkend="index-format">&dollar;index&lowbar;format</link> variable, the escape <quote>&percnt;L</quote>
4928 will return the string <quote>To &lt;list&gt;</quote> when <quote>list</quote> appears in the
4929 <quote>To</quote> field, and <quote>Cc &lt;list&gt;</quote> when it appears in the <quote>Cc</quote>
4930 field (otherwise it returns the name of the author).
4931 </para>
4932
4933 <para>
4934 Often times the <quote>To</quote> and <quote>Cc</quote> fields in mailing list messages
4935 tend to get quite large. Most people do not bother to remove the
4936 author of the message they reply to from the list, resulting in
4937 two or more copies being sent to that person.  The <literal>&lt;list-reply&gt;</literal>
4938 function, which by default is bound to <quote>L</quote> in the <emphasis>index</emphasis> menu
4939 and <emphasis>pager</emphasis>, helps reduce the clutter by only replying to the
4940 known mailing list addresses instead of all recipients (except as
4941 specified by <literal>Mail-Followup-To</literal>, see below).
4942 </para>
4943
4944 <para>
4945 Mutt also supports the <literal>Mail-Followup-To</literal> header.  When you send
4946 a message to a list of recipients which includes one or several
4947 subscribed mailing lists, and if the <link linkend="followup-to">&dollar;followup&lowbar;to</link> option is set, mutt will generate
4948 a Mail-Followup-To header which contains all the recipients to whom
4949 you send this message, but not your address. This indicates that
4950 group-replies or list-replies (also known as <quote>followups</quote>) to this
4951 message should only be sent to the original recipients of the
4952 message, and not separately to you - you'll receive your copy through
4953 one of the mailing lists you are subscribed to.
4954 </para>
4955
4956 <para>
4957 Conversely, when group-replying or list-replying to a message which
4958 has a <literal>Mail-Followup-To</literal> header, mutt will respect this header if
4959 the <link linkend="honor-followup-to">&dollar;honor&lowbar;followup&lowbar;to</link> configuration
4960 variable is set.  Using list-reply will in this case also make sure
4961 that the reply goes to the mailing list, even if it's not specified
4962 in the list of recipients in the <literal>Mail-Followup-To</literal>.
4963 </para>
4964
4965 <note>
4966 <para>
4967 When header editing is enabled, you can create a
4968 <literal>Mail-Followup-To</literal> header manually.  Mutt will only auto-generate
4969 this header if it doesn't exist when you send the message.
4970 </para>
4971 </note>
4972
4973 <para>
4974 The other method some mailing list admins use is to generate a
4975 <quote>Reply-To</quote> field which points back to the mailing list address rather
4976 than the author of the message.  This can create problems when trying
4977 to reply directly to the author in private, since most mail clients
4978 will automatically reply to the address given in the <quote>Reply-To</quote>
4979 field.  Mutt uses the <link linkend="reply-to">&dollar;reply&lowbar;to</link>
4980 variable to help decide which address to use.  If set to <emphasis>ask-yes</emphasis> or
4981 <emphasis>ask-no</emphasis>, you will be
4982 prompted as to whether or not you would like to use the address given in
4983 the <quote>Reply-To</quote> field, or reply directly to the address given in the
4984 <quote>From</quote> field.  When set to <emphasis>yes</emphasis>, the <quote>Reply-To</quote> field will be used when
4985 present.
4986 </para>
4987
4988 <para>
4989 The <quote>X-Label:</quote> header field can be used to further identify mailing
4990 lists or list subject matter (or just to annotate messages
4991 individually).  The <link linkend="index-format">&dollar;index&lowbar;format</link> variable's <quote>&percnt;y</quote> and
4992 <quote>&percnt;Y</quote> escapes can be used to expand <quote>X-Label:</quote> fields in the
4993 index, and Mutt's pattern-matcher can match regular expressions to
4994 <quote>X-Label:</quote> fields with the <quote>&tilde;y</quote> selector.  <quote>X-Label:</quote> is not a
4995 standard message header field, but it can easily be inserted by procmail
4996 and other mail filtering agents.
4997 </para>
4998
4999 <para>
5000 Lastly, Mutt has the ability to <link linkend="sort">sort</link> the mailbox into
5001 <link linkend="threads">threads</link>.  A thread is a group of messages which all relate to the same
5002 subject.  This is usually organized into a tree-like structure where a
5003 message and all of its replies are represented graphically.  If you've ever
5004 used a threaded news client, this is the same concept.  It makes dealing
5005 with large volume mailing lists easier because you can easily delete
5006 uninteresting threads and quickly find topics of value.
5007 </para>
5008
5009 </sect1>
5010
5011 <sect1 id="handling-folders">
5012 <title>Handling multiple folders</title>
5013
5014 <para>
5015 Mutt supports setups with multiple folders, allowing all of them to
5016 be monitored for new mail (see <xref linkend="mailboxes"/> for details).
5017 </para>
5018
5019 <para>
5020 When in the index menu and being idle (also see
5021 <link linkend="timeout">&dollar;timeout</link>), Mutt periodically checks
5022 for new mail in all folders which have been configured via the
5023 <literal>mailboxes</literal> command. The interval depends on the folder
5024 type: for local/IMAP folders it consults
5025 <link linkend="mail-check">&dollar;mail&lowbar;check</link> and
5026 <link linkend="pop-checkinterval">&dollar;pop&lowbar;checkinterval</link>
5027 for POP folders.
5028 </para>
5029
5030 <para>
5031 Outside the index menu the directory browser supports checking
5032 for new mail using the <literal>&lt;check-new&gt;</literal> function which is
5033 unbound by default. Pressing TAB will bring up a
5034 menu showing the files specified by the <literal>mailboxes</literal> command,
5035 and indicate which contain new messages. Mutt will automatically enter this
5036 mode when invoked from the command line with the <literal>-y</literal> option.
5037 </para>
5038
5039 <para>
5040 For the pager, index and directory browser menus, Mutt contains the
5041 <literal>&lt;buffy-list&gt;</literal> function (bound to <quote>.</quote> by default)
5042 which will print a list of folders with new mail in the command line at
5043 the bottom of the screen.
5044 </para>
5045
5046 <para>
5047 For the index, by default Mutt displays the number of mailboxes with new
5048 mail in the status bar, please refer to the
5049 <link linkend="index-format">&dollar;index&lowbar;format</link>
5050 variable for details.
5051 </para>
5052
5053 <para>
5054 When changing folders, Mutt fills the prompt with the first folder from
5055 the mailboxes list containing new mail (if any), pressing
5056 <emphasis>space</emphasis> will cycle through folders with new mail.
5057 </para>
5058
5059 </sect1>
5060
5061 <sect1 id="editing-threads">
5062 <title>Editing threads</title>
5063
5064 <para>
5065 Mutt has the ability to dynamically restructure threads that are broken
5066 either by misconfigured software or bad behavior from some
5067 correspondents. This allows to clean your mailboxes formats) from these
5068 annoyances which make it hard to follow a discussion.
5069 </para>
5070
5071 <sect2 id="link-threads">
5072 <title>Linking threads</title>
5073
5074 <para>
5075 Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
5076 "References:" headers when replying to a message. This results in broken
5077 discussions because Mutt has not enough information to guess the correct
5078 threading.
5079 You can fix this by tagging the reply, then moving to the parent message
5080 and using the <literal>&lt;link-threads&gt;</literal> function (bound to &amp; by default). The
5081 reply will then be connected to this "parent" message.
5082 </para>
5083
5084 <para>
5085 You can also connect multiple children at once, tagging them and using the
5086 tag-prefix command (';') or the auto&lowbar;tag option.
5087 </para>
5088
5089 </sect2>
5090
5091 <sect2 id="break-threads">
5092 <title>Breaking threads</title>
5093
5094 <para>
5095 On mailing lists, some people are in the bad habit of starting a new
5096 discussion by hitting "reply" to any message from the list and changing
5097 the subject to a totally unrelated one.
5098 You can fix such threads by using the <literal>&lt;break-thread&gt;</literal> function (bound
5099 by default to &num;), which will turn the subthread starting from the
5100 current message into a whole different thread.
5101 </para>
5102
5103 </sect2>
5104
5105 </sect1>
5106
5107 <sect1 id="dsn">
5108 <title>Delivery Status Notification (DSN) Support</title>
5109
5110 <para>
5111 RFC1894 defines a set of MIME content types for relaying information
5112 about the status of electronic mail messages.  These can be thought of as
5113 <quote>return receipts.</quote>
5114 </para>
5115
5116 <para>
5117 To support DSN, there are two variables. <link linkend="dsn-notify">&dollar;dsn&lowbar;notify</link> is used to request receipts for
5118 different results (such as failed message, message delivered, etc.).
5119 <link linkend="dsn-return">&dollar;dsn&lowbar;return</link> requests how much
5120 of your message should be returned with the receipt (headers or full
5121 message).
5122 </para>
5123
5124 <para>
5125 When using <link linkend="sendmail">&dollar;sendmail</link> for mail
5126 delivery, you need to use either Berkeley sendmail 8.8.x (or greater) a MTA
5127 supporting DSN command line options compatible to Sendmail: The -N and -R
5128 options can be used by the mail client to make requests as to what type of
5129 status messages should be returned. Please consider your MTA documentation
5130 whether DSN is supported.
5131 </para>
5132
5133 <para>
5134 For SMTP delivery using <link
5135   linkend="smtp-url">&dollar;smtp&lowbar;url</link>, it depends on the
5136 capabilities announced by the server whether mutt will attempt to
5137 request DSN or not.
5138 </para>
5139
5140 </sect1>
5141
5142 <sect1 id="urlview">
5143 <title>Start a WWW Browser on URLs</title>
5144
5145 <para>
5146 If a message contains URLs, it is efficient to get
5147 a menu with all the URLs and start a WWW browser on one of them.  This
5148 functionality is provided by the external urlview program which can be
5149 retrieved at
5150 <ulink url="ftp://ftp.mutt.org/mutt/contrib/">ftp://ftp.mutt.org/mutt/contrib/</ulink>
5151 and the configuration commands:
5152 </para>
5153
5154 <screen>
5155 macro index \cb |urlview\n
5156 macro pager \cb |urlview\n
5157 </screen>
5158
5159 </sect1>
5160
5161 </chapter>
5162
5163 <sect1 id="compressedfolders">
5164 <title>Compressed folders Support (OPTIONAL)</title>
5165
5166 <para>
5167 If Mutt was compiled with compressed folders support (by running the
5168 <emphasis>configure</emphasis> script with the
5169 <emphasis>--enable-compressed</emphasis> flag), Mutt can open folders
5170 stored in an arbitrary format, provided that the user has a script to
5171 convert from/to this format to one of the accepted.
5172
5173 The most common use is to open compressed archived folders e.g. with
5174 gzip.
5175
5176 In addition, the user can provide a script that gets a folder in an
5177 accepted format and appends its context to the folder in the
5178 user-defined format, which may be faster than converting the entire
5179 folder to the accepted format, appending to it and converting back to
5180 the user-defined format.
5181
5182 There are three hooks defined (<link
5183 linkend="open-hook">open-hook</link>, <link
5184 linkend="close-hook">close-hook</link> and <link
5185 linkend="append-hook">append-hook</link>) which define commands to
5186 uncompress and compress a folder and to append messages to an existing
5187 compressed folder respectively.
5188
5189 For example:
5190
5191 <screen>
5192 open-hook \\.gz$ "gzip -cd %f &gt; %t" 
5193 close-hook \\.gz$ "gzip -c %t &gt; %f"
5194 append-hook \\.gz$ "gzip -c %t &gt;&gt; %f" 
5195 </screen>
5196
5197 You do not have to specify all of the commands. If you omit <link
5198 linkend="append-hook">append-hook</link>, the folder will be open and
5199 closed again each time you will add to it. If you omit <link
5200 linkend="close-hook">close-hook</link> (or give empty command) , the
5201 folder will be open in the mode. If you specify <link
5202 linkend="append-hook">append-hook</link> though you'll be able to
5203 append to the folder.
5204
5205 Note that Mutt will only try to use hooks if the file is not in one of
5206 the accepted formats. In particular, if the file is empty, mutt
5207 supposes it is not compressed. This is important because it allows the
5208 use of programs that do not have well defined extensions. Just use
5209 &quot;.&quot; as a regexp. But this may be surprising if your
5210 compressing script produces empty files. In this situation, unset
5211 <link linkend="save-empty">&dollar;save&lowbar;empty</link>, so that
5212 the compressed file will be removed if you delete all of the messages.
5213 </para>
5214
5215 <sect2 id="open-hook">
5216 <title>Open a compressed mailbox for reading</title>
5217
5218 <para>
5219 Usage: <literal>open-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
5220
5221 The <emphasis>command</emphasis> is the command that can be used for
5222 opening the folders whose names match <emphasis>regexp</emphasis>.
5223
5224 The <emphasis>command</emphasis> string is the printf-like format
5225 string, and it should accept two parameters: &percnt;f, which is
5226 replaced with the (compressed) folder name, and &percnt;t which is
5227 replaced with the name of the temporary folder to which to write.
5228
5229 &percnt;f and &percnt;t can be repeated any number of times in the
5230 command string, and all of the entries are replaced with the
5231 appropriate folder name. In addition, &percnt;&percnt; is replaced by
5232 &percnt;, as in printf, and any other &percnt;anything is left as is.
5233
5234 The <emphasis>command</emphasis> should <emphasis
5235 role="bold">not</emphasis> remove the original compressed file.  The
5236 <emphasis>command</emphasis> should return non-zero exit status if it
5237 fails, so mutt knows something's wrong.
5238
5239 Example:
5240
5241 <screen>
5242 open-hook \\.gz$ "gzip -cd %f &gt; %t" 
5243 </screen>
5244
5245 If the <emphasis>command</emphasis> is empty, this operation is
5246 disabled for this file type.
5247 </para>
5248 </sect2>
5249
5250 <sect2 id="close-hook">
5251 <title>Write a compressed mailbox</title>
5252
5253 <para>
5254 Usage: <literal>close-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
5255
5256 This is used to close the folder that was open with the <link
5257 linkend="open-hook">open-hook</link> command after some changes were
5258 made to it.
5259
5260 The <emphasis>command</emphasis> string is the command that can be
5261 used for closing the folders whose names match
5262 <emphasis>regexp</emphasis>. It has the same format as in the <link
5263 linkend="open-hook">open-hook</link> command. Temporary folder in this
5264 case is the folder previously produced by the <link
5265 linkend="open-hook">open-hook</link> command.
5266
5267 The <emphasis>command</emphasis> should <emphasis
5268 role="bold">not</emphasis> remove the decompressed file. The
5269 <emphasis>command</emphasis> should return non-zero exit status if it
5270 fails, so mutt knows something's wrong.
5271
5272 Example:
5273
5274 <screen>
5275 close-hook \\.gz$ "gzip -c %t &gt; %f"
5276 </screen>
5277
5278 If the <emphasis>command</emphasis> is empty, this operation is
5279 disabled for this file type, and the file can only be open in the
5280 read-only mode.
5281
5282 <link linkend="close-hook">close-hook</link> is not called when you
5283 exit from the folder if the folder was not changed.
5284 </para>
5285 </sect2>
5286
5287 <sect2 id="append-hook">
5288 <title>Append a message to a compressed mailbox</title>
5289
5290 <para>
5291 Usage: <literal>append-hook</literal> <emphasis>regexp</emphasis> &quot;<emphasis>command</emphasis>&quot;
5292
5293 This command is used for saving to an existing compressed folder.  The
5294 <emphasis>command</emphasis> is the command that can be used for
5295 appending to the folders whose names match
5296 <emphasis>regexp</emphasis>. It has the same format as in the <link
5297 linkend="open-hook">open-hook</link> command.  The temporary folder in
5298 this case contains the messages that are being appended.
5299
5300 The <emphasis>command</emphasis> should <emphasis
5301 role="bold">not</emphasis> remove the decompressed file. The
5302 <emphasis>command</emphasis> should return non-zero exit status if it
5303 fails, so mutt knows something's wrong.
5304
5305 Example:
5306
5307 <screen>
5308 append-hook \\.gz$ "gzip -c %t &gt;&gt; %f" 
5309 </screen>
5310
5311 When <link linkend="append-hook">append-hook</link> is used, the folder
5312 is not opened, which saves time, but this means that we can not find
5313 out what the folder type is. Thus the default (<link
5314 linkend="mbox-type">&dollar;mbox&lowbar;type</link>) type is always
5315 supposed (i.e.  this is the format used for the temporary folder).
5316
5317 If the file does not exist when you save to it, <link
5318 linkend="close-hook">close-hook</link> is called, and not <link
5319 linkend="append-hook">append-hook</link>. <link
5320 linkend="append-hook">append-hook</link> is only for appending to
5321 existing folders.
5322
5323 If the <emphasis>command</emphasis> is empty, this operation is
5324 disabled for this file type. In this case, the folder will be open and
5325 closed again (using <link linkend="open-hook">open-hook</link> and
5326 <link linkend="close-hook">close-hook</link>respectively) each time you
5327 will add to it.
5328 </para>
5329 </sect2>
5330
5331 <sect2>
5332 <title>Encrypted folders</title>
5333
5334 <para>
5335 The compressed folders support can also be used to handle encrypted
5336 folders. If you want to encrypt a folder with PGP, you may want to use
5337 the following hooks:
5338
5339 <screen>
5340 open-hook  \\.pgp$ "pgp -f &lt; %f &gt; %t"
5341 close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId &lt; %t &gt; %f"
5342 </screen>
5343
5344 Please note, that PGP does not support appending to an encrypted
5345 folder, so there is no append-hook defined.
5346
5347 If you are using GnuPG instead of PGP, you may use the following hooks
5348 instead:
5349
5350 <screen>
5351 open-hook  \\.gpg$ "gpg --decrypt &lt; %f &gt; %t"
5352 close-hook \\.gpg$ "gpg --encrypt --recipient YourGpgUserIdOrKeyId &lt; %t &gt; %f"
5353 </screen>
5354
5355 <emphasis role="bold">Note:</emphasis> the folder is temporary stored
5356 decrypted in the /tmp directory, where it can be read by your system
5357 administrator. So think about the security aspects of this.
5358 </para>
5359 </sect2>
5360 </sect1>
5361
5362 <chapter id="mimesupport">
5363 <title>Mutt's MIME Support</title>
5364
5365 <para>
5366 Quite a bit of effort has been made to make Mutt the premier text-mode
5367 MIME MUA.  Every effort has been made to provide the functionality that
5368 the discerning MIME user requires, and the conformance to the standards
5369 wherever possible.  When configuring Mutt for MIME, there are two extra
5370 types of configuration files which Mutt uses.  One is the
5371 <literal>mime.types</literal> file, which contains the mapping of file extensions to
5372 IANA MIME types.  The other is the <literal>mailcap</literal> file, which specifies
5373 the external commands to use for handling specific MIME types.
5374 </para>
5375
5376 <sect1 id="using-mime">
5377 <title>Using MIME in Mutt</title>
5378
5379 <para>
5380 There are three areas/menus in Mutt which deal with MIME, they are the
5381 pager (while viewing a message), the attachment menu and the compose
5382 menu.
5383 </para>
5384
5385 <sect2 id="mime-pager">
5386 <title>Viewing MIME messages in the pager</title>
5387
5388 <para>
5389 When you select a message from the index and view it in the pager, Mutt
5390 decodes the message to a text representation.  Mutt internally supports
5391 a number of MIME types, including <literal>text/plain, text/enriched,
5392 message/rfc822, and message/news</literal>.  In addition, the export
5393 controlled version of Mutt recognizes a variety of PGP MIME types,
5394 including PGP/MIME and application/pgp.
5395 </para>
5396
5397 <para>
5398 Mutt will denote attachments with a couple lines describing them.
5399 These lines are of the form:
5400 </para>
5401
5402 <screen>
5403 [-- Attachment #1: Description --]
5404 [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
5405 </screen>
5406
5407 <para>
5408 Where the <literal>Description</literal> is the description or filename given for the
5409 attachment, and the <literal>Encoding</literal> is one of
5410 <literal>7bit/8bit/quoted-printable/base64/binary</literal>.
5411 </para>
5412
5413 <para>
5414 If Mutt cannot deal with a MIME type, it will display a message like:
5415 </para>
5416
5417 <screen>
5418 [-- image/gif is unsupported (use 'v' to view this part) --]
5419 </screen>
5420
5421 </sect2>
5422
5423 <sect2 id="attach-menu">
5424 <title>The Attachment Menu</title>
5425
5426 <para>
5427 The default binding for <literal>view-attachments</literal> is `v', which displays the
5428 attachment menu for a message.  The attachment menu displays a list of
5429 the attachments in a message.  From the attachment menu, you can save,
5430 print, pipe, delete, and view attachments.  You can apply these
5431 operations to a group of attachments at once, by tagging the attachments
5432 and by using the <quote>tag-prefix</quote> operator.  You can also reply to the
5433 current message from this menu, and only the current attachment (or the
5434 attachments tagged) will be quoted in your reply.  You can view
5435 attachments as text, or view them using the mailcap viewer definition.
5436 </para>
5437
5438 <para>
5439 Finally, you can apply the usual message-related functions (like
5440 <link linkend="resend-message"><literal>&lt;resend-message&gt;</literal></link>, and the
5441 <literal>&lt;reply&gt;</literal> and <literal>&lt;forward&gt;</literal>
5442 functions) to attachments of type <literal>message/rfc822</literal>.
5443 </para>
5444
5445 <para>
5446 See the help on the attachment menu for more information.
5447 </para>
5448
5449 </sect2>
5450
5451 <sect2 id="compose-menu">
5452 <title>The Compose Menu</title>
5453
5454 <para>
5455 The compose menu is the menu you see before you send a message.  It
5456 allows you to edit the recipient list, the subject, and other aspects
5457 of your message.  It also contains a list of the attachments of your
5458 message, including the main body.  From this menu, you can print, copy,
5459 filter, pipe, edit, compose, review, and rename an attachment or a
5460 list of tagged attachments.  You can also modifying the attachment
5461 information, notably the type, encoding and description.
5462 </para>
5463
5464 <para>
5465 Attachments appear as follows:
5466 </para>
5467
5468 <screen>
5469 - 1 [text/plain, 7bit, 1K]           /tmp/mutt-euler-8082-0 &lt;no description&gt;
5470   2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz &lt;no description&gt;
5471 </screen>
5472
5473 <para>
5474 The '-' denotes that Mutt will delete the file after sending (or
5475 postponing, or canceling) the message.  It can be toggled with the
5476 <literal>toggle-unlink</literal> command (default: u).  The next field is the MIME
5477 content-type, and can be changed with the <literal>edit-type</literal> command
5478 (default: &circ;T).  The next field is the encoding for the attachment,
5479 which allows a binary message to be encoded for transmission on 7bit
5480 links.  It can be changed with the <literal>edit-encoding</literal> command
5481 (default: &circ;E).  The next field is the size of the attachment,
5482 rounded to kilobytes or megabytes.  The next field is the filename,
5483 which can be changed with the <literal>rename-file</literal> command (default: R).
5484 The final field is the description of the attachment, and can be
5485 changed with the <literal>edit-description</literal> command (default: d).
5486 </para>
5487
5488 </sect2>
5489
5490 </sect1>
5491
5492 <sect1 id="mime-types">
5493 <title>MIME Type configuration with <literal>mime.types</literal></title>
5494
5495 <para>
5496 When you add an attachment to your mail message, Mutt searches your
5497 personal mime.types file at <literal>&dollar;&lcub;HOME&rcub;/.mime.types</literal>, and then
5498 the system mime.types file at <literal>/usr/local/share/mutt/mime.types</literal> or
5499 <literal>/etc/mime.types</literal>
5500 </para>
5501
5502 <para>
5503 The mime.types file consist of lines containing a MIME type and a space
5504 separated list of extensions.  For example:
5505 </para>
5506
5507 <screen>
5508 application/postscript          ps eps
5509 application/pgp                 pgp
5510 audio/x-aiff                    aif aifc aiff
5511 </screen>
5512
5513 <para>
5514 A sample <literal>mime.types</literal> file comes with the Mutt distribution, and
5515 should contain most of the MIME types you are likely to use.
5516 </para>
5517
5518 <para>
5519 If Mutt can not determine the mime type by the extension of the file you
5520 attach, it will look at the file.  If the file is free of binary
5521 information, Mutt will assume that the file is plain text, and mark it
5522 as <literal>text/plain</literal>.  If the file contains binary information, then Mutt will
5523 mark it as <literal>application/octet-stream</literal>.  You can change the MIME
5524 type that Mutt assigns to an attachment by using the <literal>edit-type</literal>
5525 command from the compose menu (default: &circ;T). The MIME type is actually a
5526 major mime type followed by the sub-type, separated by a '/'. 6 major
5527 types: application, text, image, video, audio, and model have been approved
5528 after various internet discussions. Mutt recognizes all of these if the
5529 appropriate entry is found in the mime.types file. It also recognizes other
5530 major mime types, such as the chemical type that is widely used in the
5531 molecular modeling community to pass molecular data in various forms to
5532 various molecular viewers. Non-recognized mime types should only be used
5533 if the recipient of the message is likely to be expecting such attachments.
5534 </para>
5535
5536 </sect1>
5537
5538 <sect1 id="mailcap">
5539 <title>MIME Viewer configuration with <literal>mailcap</literal></title>
5540
5541 <para>
5542 Mutt supports RFC 1524 MIME Configuration, in particular the Unix
5543 specific format specified in Appendix A of RFC 1524.  This file format
5544 is commonly referred to as the mailcap format.  Many MIME compliant
5545 programs utilize the mailcap format, allowing you to specify handling
5546 for all MIME types in one place for all programs.  Programs known to
5547 use this format include Netscape, XMosaic, lynx and metamail.
5548 </para>
5549
5550 <para>
5551 In order to handle various MIME types that Mutt can not handle
5552 internally, Mutt parses a series of external configuration files to
5553 find an external handler. The default search string for these files
5554 is a colon delimited list containing the following files:
5555 </para>
5556
5557 <orderedlist>
5558 <listitem><para><literal>&dollar;HOME/.mailcap</literal></para></listitem>
5559 <listitem><para><literal>&dollar;PKGDATADIR/mailcap</literal></para></listitem>
5560 <listitem><para><literal>&dollar;SYSCONFDIR/mailcap</literal></para></listitem>
5561 <listitem><para><literal>/etc/mailcap</literal></para></listitem>
5562 <listitem><para><literal>/usr/etc/mailcap</literal></para></listitem>
5563 <listitem><para><literal>/usr/local/etc/mailcap</literal></para></listitem>
5564 </orderedlist>
5565
5566 <para>
5567 where <literal>&dollar;HOME</literal> is your home directory. The
5568 <literal>&dollar;PKGDATADIR</literal> and the
5569 <literal>&dollar;SYSCONFDIR</literal> directories depend on where mutt
5570 is installed: the former is the default for shared data, the
5571 latter for system configuration files.
5572 </para>
5573
5574 <para>
5575 The default search path can be obtained by running the following
5576 command:
5577 </para>
5578
5579 <screen>
5580 mutt -nF /dev/null -Q mailcap_path
5581 </screen>
5582
5583 <para>
5584 In particular, the metamail distribution will install a mailcap file,
5585 usually as <literal>/usr/local/etc/mailcap</literal>, which contains some baseline
5586 entries.
5587 </para>
5588
5589 <sect2 id="mailcap-basics">
5590 <title>The Basics of the mailcap file</title>
5591
5592 <para>
5593 A mailcap file consists of a series of lines which are comments, blank,
5594 or definitions.
5595 </para>
5596
5597 <para>
5598 A comment line consists of a &num; character followed by anything you want.
5599 </para>
5600
5601 <para>
5602 A blank line is blank.
5603 </para>
5604
5605 <para>
5606 A definition line consists of a content type, a view command, and any
5607 number of optional fields.  Each field of a definition line is divided
5608 by a semicolon ';' character.
5609 </para>
5610
5611 <para>
5612 The content type is specified in the MIME standard type/subtype method.
5613 For example,
5614 <literal>text/plain, text/html, image/gif, </literal>
5615 etc.  In addition, the mailcap format includes two formats for
5616 wildcards, one using the special '*' subtype, the other is the implicit
5617 wild, where you only include the major type.  For example, <literal>image/*</literal>, or
5618 <literal>video,</literal> will match all image types and video types,
5619 respectively.
5620 </para>
5621
5622 <para>
5623 The view command is a Unix command for viewing the type specified. There
5624 are two different types of commands supported. The default is to send
5625 the body of the MIME message to the command on stdin. You can change
5626 this behavior by using &percnt;s as a parameter to your view command.
5627 This will cause Mutt to save the body of the MIME message to a temporary
5628 file, and then call the view command with the &percnt;s replaced by
5629 the name of the temporary file. In both cases, Mutt will turn over the
5630 terminal to the view program until the program quits, at which time Mutt
5631 will remove the temporary file if it exists.
5632 </para>
5633
5634 <para>
5635 So, in the simplest form, you can send a text/plain message to the
5636 external pager more on stdin:
5637 </para>
5638
5639 <screen>
5640 text/plain; more
5641 </screen>
5642
5643 <para>
5644 Or, you could send the message as a file:
5645 </para>
5646
5647 <screen>
5648 text/plain; more %s
5649 </screen>
5650
5651 <para>
5652 Perhaps you would like to use lynx to interactively view a text/html
5653 message:
5654 </para>
5655
5656 <screen>
5657 text/html; lynx %s
5658 </screen>
5659
5660 <para>
5661 In this case, lynx does not support viewing a file from stdin, so you
5662 must use the &percnt;s syntax.
5663 </para>
5664
5665 <note>
5666 <para>
5667 <emphasis>Some older versions of lynx contain a bug where they
5668 will check the mailcap file for a viewer for text/html.  They will find
5669 the line which calls lynx, and run it.  This causes lynx to continuously
5670 spawn itself to view the object.</emphasis>
5671 </para>
5672 </note>
5673
5674 <para>
5675 On the other hand, maybe you don't want to use lynx interactively, you
5676 just want to have it convert the text/html to text/plain, then you can
5677 use:
5678 </para>
5679
5680 <screen>
5681 text/html; lynx -dump %s | more
5682 </screen>
5683
5684 <para>
5685 Perhaps you wish to use lynx to view text/html files, and a pager on
5686 all other text formats, then you would use the following:
5687 </para>
5688
5689 <screen>
5690 text/html; lynx %s
5691 text/*; more
5692 </screen>
5693
5694 <para>
5695 This is the simplest form of a mailcap file.
5696 </para>
5697
5698 </sect2>
5699
5700 <sect2 id="secure-mailcap">
5701 <title>Secure use of mailcap</title>
5702
5703 <para>
5704 The interpretation of shell meta-characters embedded in MIME parameters
5705 can lead to security problems in general.  Mutt tries to quote parameters
5706 in expansion of &percnt;s syntaxes properly, and avoids risky characters by
5707 substituting them, see the <link linkend="mailcap-sanitize">&dollar;mailcap&lowbar;sanitize</link> variable.
5708 </para>
5709
5710 <para>
5711 Although mutt's procedures to invoke programs with mailcap seem to be
5712 safe, there are other applications parsing mailcap, maybe taking less care
5713 of it.  Therefore you should pay attention to the following rules:
5714 </para>
5715
5716 <para>
5717 <emphasis>Keep the &percnt;-expandos away from shell quoting.</emphasis>
5718 Don't quote them with single or double quotes.  Mutt does this for
5719 you, the right way, as should any other program which interprets
5720 mailcap.  Don't put them into backtick expansions.  Be highly careful
5721 with eval statements, and avoid them if possible at all.  Trying to fix
5722 broken behavior with quotes introduces new leaks - there is no
5723 alternative to correct quoting in the first place.
5724 </para>
5725
5726 <para>
5727 If you have to use the &percnt;-expandos' values in context where you need
5728 quoting or backtick expansions, put that value into a shell variable
5729 and reference the shell variable where necessary, as in the following
5730 example (using <literal>&dollar;charset</literal> inside the backtick expansion is safe,
5731 since it is not itself subject to any further expansion):
5732 </para>
5733
5734 <screen>
5735 text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} &bsol;
5736         &amp;&amp; test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
5737 </screen>
5738
5739 </sect2>
5740
5741 <sect2 id="advanced-mailcap">
5742 <title>Advanced mailcap Usage</title>
5743
5744 <sect3 id="optional-mailcap-fields">
5745 <title>Optional Fields</title>
5746
5747 <para>
5748 In addition to the required content-type and view command fields, you
5749 can add semi-colon ';' separated fields to set flags and other options.
5750 Mutt recognizes the following optional fields:
5751 </para>
5752
5753 <variablelist>
5754
5755 <varlistentry>
5756 <term>copiousoutput</term>
5757 <listitem>
5758 <para>
5759 This flag tells Mutt that the command passes possibly large amounts of
5760 text on stdout.  This causes Mutt to invoke a pager (either the internal
5761 pager or the external pager defined by the pager variable) on the output
5762 of the view command.  Without this flag, Mutt assumes that the command
5763 is interactive.  One could use this to replace the pipe to <literal>more</literal>
5764 in the <literal>lynx -dump</literal> example in the Basic section:
5765 </para>
5766
5767 <screen>
5768 text/html; lynx -dump %s ; copiousoutput
5769 </screen>
5770
5771 <para>
5772 This will cause lynx to format the text/html output as text/plain
5773 and Mutt will use your standard pager to display the results.
5774 </para>
5775 </listitem>
5776 </varlistentry>
5777 <varlistentry>
5778 <term>needsterminal</term>
5779 <listitem>
5780 <para>
5781 Mutt uses this flag when viewing attachments with <link linkend="auto-view">auto&lowbar;view</link>, in order to decide whether it should honor the setting
5782 of the <link linkend="wait-key">&dollar;wait&lowbar;key</link> variable or
5783 not.  When an attachment is viewed using an interactive program, and the
5784 corresponding mailcap entry has a <emphasis>needsterminal</emphasis> flag, Mutt will use
5785 <link linkend="wait-key">&dollar;wait&lowbar;key</link> and the exit status
5786 of the program to decide if it will ask you to press a key after the
5787 external program has exited.  In all other situations it will not prompt
5788 you for a key.
5789 </para>
5790 </listitem>
5791 </varlistentry>
5792 <varlistentry>
5793 <term>compose=&lt;command&gt;</term>
5794 <listitem>
5795 <para>
5796 This flag specifies the command to use to create a new attachment of a
5797 specific MIME type.  Mutt supports this from the compose menu.
5798 </para>
5799 </listitem>
5800 </varlistentry>
5801 <varlistentry>
5802 <term>composetyped=&lt;command&gt;</term>
5803 <listitem>
5804 <para>
5805 This flag specifies the command to use to create a new attachment of a
5806 specific MIME type.  This command differs from the compose command in
5807 that mutt will expect standard MIME headers on the data.  This can be
5808 used to specify parameters, filename, description, etc. for a new
5809 attachment.   Mutt supports this from the compose menu.
5810 </para>
5811 </listitem>
5812 </varlistentry>
5813 <varlistentry>
5814 <term>print=&lt;command&gt;</term>
5815 <listitem>
5816 <para>
5817 This flag specifies the command to use to print a specific MIME type.
5818 Mutt supports this from the attachment and compose menus.
5819 </para>
5820 </listitem>
5821 </varlistentry>
5822 <varlistentry>
5823 <term>edit=&lt;command&gt;</term>
5824 <listitem>
5825 <para>
5826 This flag specifies the command to use to edit a specific MIME type.
5827 Mutt supports this from the compose menu, and also uses it to compose
5828 new attachments.  Mutt will default to the defined editor for text
5829 attachments.
5830 </para>
5831 </listitem>
5832 </varlistentry>
5833 <varlistentry>
5834 <term>nametemplate=&lt;template&gt;</term>
5835 <listitem>
5836 <para>
5837 This field specifies the format for the file denoted by &percnt;s in the
5838 command fields.  Certain programs will require a certain file extension,
5839 for instance, to correctly view a file.  For instance, lynx will only
5840 interpret a file as <literal>text/html</literal> if the file ends in <literal>.html</literal>.
5841 So, you would specify lynx as a <literal>text/html</literal> viewer with a line in
5842 the mailcap file like:
5843 </para>
5844
5845 <screen>
5846 text/html; lynx %s; nametemplate=%s.html
5847 </screen>
5848
5849 </listitem>
5850 </varlistentry>
5851 <varlistentry>
5852 <term>test=&lt;command&gt;</term>
5853 <listitem>
5854 <para>
5855 This field specifies a command to run to test whether this mailcap
5856 entry should be used.  The command is defined with the command expansion
5857 rules defined in the next section.  If the command returns 0, then the
5858 test passed, and Mutt uses this entry.  If the command returns non-zero,
5859 then the test failed, and Mutt continues searching for the right entry.
5860 Note that the content-type must match before Mutt performs the test.
5861 For example:
5862 </para>
5863
5864 <screen>
5865 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
5866 text/html; lynx %s
5867 </screen>
5868
5869 <para>
5870 In this example, Mutt will run the program RunningX which will return 0
5871 if the X Window manager is running, and non-zero if it isn't.  If
5872 RunningX returns 0, then Mutt will call netscape to display the
5873 text/html object.  If RunningX doesn't return 0, then Mutt will go on
5874 to the next entry and use lynx to display the text/html object.
5875 </para>
5876 </listitem>
5877 </varlistentry>
5878 </variablelist>
5879
5880 </sect3>
5881
5882 <sect3 id="mailcap-search-order">
5883 <title>Search Order</title>
5884
5885 <para>
5886 When searching for an entry in the mailcap file, Mutt will search for
5887 the most useful entry for its purpose.  For instance, if you are
5888 attempting to print an <literal>image/gif</literal>, and you have the following
5889 entries in your mailcap file, Mutt will search for an entry with the
5890 print command:
5891 </para>
5892
5893 <screen>
5894 image/*;        xv %s
5895 image/gif;      ; print= anytopnm %s | pnmtops | lpr; &bsol;
5896                 nametemplate=%s.gif
5897 </screen>
5898
5899 <para>
5900 Mutt will skip the <literal>image/*</literal> entry and use the <literal>image/gif</literal>
5901 entry with the print command.
5902 </para>
5903
5904 <para>
5905 In addition, you can use this with <link linkend="auto-view">auto&lowbar;view</link>
5906 to denote two commands for viewing an attachment, one to be viewed
5907 automatically, the other to be viewed interactively from the attachment
5908 menu.  In addition, you can then use the test feature to determine which
5909 viewer to use interactively depending on your environment.
5910 </para>
5911
5912 <screen>
5913 text/html;      netscape -remote 'openURL(%s)' ; test=RunningX
5914 text/html;      lynx %s; nametemplate=%s.html
5915 text/html;      lynx -dump %s; nametemplate=%s.html; copiousoutput
5916 </screen>
5917
5918 <para>
5919 For <link linkend="auto-view">auto&lowbar;view</link>, Mutt will choose the third
5920 entry because of the copiousoutput tag.  For interactive viewing, Mutt
5921 will run the program RunningX to determine if it should use the first
5922 entry.  If the program returns non-zero, Mutt will use the second entry
5923 for interactive viewing.
5924 </para>
5925
5926 </sect3>
5927
5928 <sect3 id="mailcap-command-expansion">
5929 <title>Command Expansion</title>
5930
5931 <para>
5932 The various commands defined in the mailcap files are passed to the
5933 <literal>/bin/sh</literal> shell using the system() function.  Before the
5934 command is passed to <literal>/bin/sh -c</literal>, it is parsed to expand
5935 various special parameters with information from Mutt.  The keywords
5936 Mutt expands are:
5937 </para>
5938
5939 <variablelist>
5940
5941 <varlistentry>
5942 <term>&percnt;s</term>
5943 <listitem>
5944 <para>
5945 As seen in the basic mailcap section, this variable is expanded
5946 to a filename specified by the calling program.  This file contains
5947 the body of the message to view/print/edit or where the composing
5948 program should place the results of composition.  In addition, the
5949 use of this keyword causes Mutt to not pass the body of the message
5950 to the view/print/edit program on stdin.
5951 </para>
5952 </listitem>
5953 </varlistentry>
5954 <varlistentry>
5955 <term>&percnt;t</term>
5956 <listitem>
5957 <para>
5958 Mutt will expand &percnt;t to the text representation of the content
5959 type of the message in the same form as the first parameter of the
5960 mailcap definition line, ie <literal>text/html</literal> or
5961 <literal>image/gif</literal>.
5962 </para>
5963 </listitem>
5964 </varlistentry>
5965 <varlistentry>
5966 <term>&percnt;&lcub;&lt;parameter&gt;&rcub;</term>
5967 <listitem>
5968 <para>
5969 Mutt will expand this to the value of the specified parameter
5970 from the Content-Type: line of the mail message.  For instance, if
5971 Your mail message contains:
5972 </para>
5973
5974 <screen>
5975 Content-Type: text/plain; charset=iso-8859-1
5976 </screen>
5977
5978 <para>
5979 then Mutt will expand &percnt;&lcub;charset&rcub; to iso-8859-1.  The default metamail
5980 mailcap file uses this feature to test the charset to spawn an xterm
5981 using the right charset to view the message.
5982 </para>
5983 </listitem>
5984 </varlistentry>
5985 <varlistentry>
5986 <term>&bsol;&percnt;</term>
5987 <listitem>
5988 <para>
5989 This will be replaced by a &percnt;
5990 </para>
5991 </listitem>
5992 </varlistentry>
5993 </variablelist>
5994
5995 <para>
5996 Mutt does not currently support the &percnt;F and &percnt;n keywords
5997 specified in RFC 1524.  The main purpose of these parameters is for
5998 multipart messages, which is handled internally by Mutt.
5999 </para>
6000
6001 </sect3>
6002
6003 </sect2>
6004
6005 <sect2 id="mailcap-example">
6006 <title>Example mailcap files</title>
6007
6008 <para>
6009 This mailcap file is fairly simple and standard:
6010 </para>
6011
6012 <screen>
6013 # I'm always running X :)
6014 video/*;        xanim %s &gt; /dev/null
6015 image/*;        xv %s &gt; /dev/null
6016
6017 # I'm always running netscape (if my computer had more memory, maybe)
6018 text/html;      netscape -remote 'openURL(%s)'
6019 </screen>
6020
6021 <para>
6022 This mailcap file shows quite a number of examples:
6023 </para>
6024
6025 <screen>
6026 # Use xanim to view all videos   Xanim produces a header on startup,
6027 # send that to /dev/null so I don't see it
6028 video/*;        xanim %s &gt; /dev/null
6029
6030 # Send html to a running netscape by remote
6031 text/html;      netscape -remote 'openURL(%s)'; test=RunningNetscape
6032
6033 # If I'm not running netscape but I am running X, start netscape on the
6034 # object
6035 text/html;      netscape %s; test=RunningX
6036
6037 # Else use lynx to view it as text
6038 text/html;      lynx %s
6039
6040 # This version would convert the text/html to text/plain
6041 text/html;      lynx -dump %s; copiousoutput
6042
6043 # I use enscript to print text in two columns to a page
6044 text/*;         more %s; print=enscript -2Gr %s
6045
6046 # Netscape adds a flag to tell itself to view jpegs internally
6047 image/jpeg;xv %s; x-mozilla-flags=internal
6048
6049 # Use xv to view images if I'm running X
6050 # In addition, this uses the \ to extend the line and set my editor
6051 # for images
6052 image/*;xv %s; test=RunningX; &bsol;
6053         edit=xpaint %s
6054
6055 # Convert images to text using the netpbm tools
6056 image/*;  (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
6057 pbmtoascii -1x2 ) 2&gt;&amp;1 ; copiousoutput
6058
6059 # Send excel spreadsheets to my NT box
6060 application/ms-excel; open.pl %s
6061 </screen>
6062
6063 </sect2>
6064
6065 </sect1>
6066
6067 <sect1 id="auto-view">
6068 <title>MIME Autoview</title>
6069
6070 <para>
6071 In addition to explicitly telling Mutt to view an attachment with the
6072 MIME viewer defined in the mailcap file, Mutt has support for
6073 automatically viewing MIME attachments while in the pager.
6074 </para>
6075
6076 <para>
6077 To work, you must define a viewer in the mailcap file which uses the
6078 <literal>copiousoutput</literal> option to denote that it is non-interactive.
6079 Usually, you also use the entry to convert the attachment to a text
6080 representation which you can view in the pager.
6081 </para>
6082
6083 <para>
6084 You then use the <literal>auto&lowbar;view</literal> muttrc command to list the
6085 content-types that you wish to view automatically.
6086 </para>
6087
6088 <para>
6089 For instance, if you set auto&lowbar;view to:
6090 </para>
6091
6092 <screen>
6093 auto_view text/html application/x-gunzip &bsol;
6094   application/postscript image/gif application/x-tar-gz
6095 </screen>
6096
6097 <para>
6098 Mutt could use the following mailcap entries to automatically view
6099 attachments of these types.
6100 </para>
6101
6102 <screen>
6103 text/html;      lynx -dump %s; copiousoutput; nametemplate=%s.html
6104 image/*;        anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | &bsol;
6105                 pgmtopbm | pbmtoascii ; copiousoutput
6106 application/x-gunzip;   gzcat; copiousoutput
6107 application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
6108 application/postscript; ps2ascii %s; copiousoutput
6109 </screen>
6110
6111 <para>
6112 <quote>unauto&lowbar;view</quote> can be used to remove previous entries from the autoview list.
6113 This can be used with message-hook to autoview messages based on size, etc.
6114 <quote>unauto&lowbar;view *</quote> will remove all previous entries.
6115 </para>
6116
6117 </sect1>
6118
6119 <sect1 id="alternative-order">
6120 <title>MIME Multipart/Alternative</title>
6121
6122 <para>
6123 Mutt has some heuristics for determining which attachment of a
6124 multipart/alternative type to display.  First, mutt will check the
6125 alternative&lowbar;order list to determine if one of the available types
6126 is preferred.  The alternative&lowbar;order list consists of a number of
6127 mimetypes in order, including support for implicit and explicit
6128 wildcards, for example:
6129 </para>
6130
6131 <screen>
6132 alternative_order text/enriched text/plain text application/postscript image/*
6133 </screen>
6134
6135 <para>
6136 Next, mutt will check if any of the types have a defined
6137 <link linkend="auto-view">auto&lowbar;view</link>, and use that.  Failing
6138 that, Mutt will look for any text type.  As a last attempt, mutt will
6139 look for any type it knows how to handle.
6140 </para>
6141
6142 <para>
6143 To remove a MIME type from the <literal>alternative&lowbar;order</literal> list, use the
6144 <literal>unalternative&lowbar;order</literal> command.
6145 </para>
6146
6147 </sect1>
6148
6149 <sect1 id="attachments">
6150 <title>Attachment Searching and Counting</title>
6151
6152 <para>
6153 If you ever lose track of attachments in your mailboxes, Mutt's
6154 attachment-counting and -searching support might be for you.  You can
6155 make your message index display the number of qualifying attachments in
6156 each message, or search for messages by attachment count.  You also can
6157 configure what kinds of attachments qualify for this feature with the
6158 attachments and unattachments commands.
6159 </para>
6160
6161 <para>
6162 In order to provide this information, mutt needs to fully MIME-parse
6163 all messages affected first. This can slow down operation especially for
6164 remote mail folders such as IMAP because all messages have to be
6165 downloaded first regardless whether the user really wants to view them
6166 or not.
6167 </para>
6168
6169 <para>
6170 The syntax is:
6171 </para>
6172
6173 <screen>
6174 attachments   {+|-}disposition mime-type
6175 unattachments {+|-}disposition mime-type
6176 attachments   ?
6177 </screen>
6178
6179 <para>
6180 Disposition is the attachment's Content-disposition type -- either
6181 <literal>inline</literal> or <literal>attachment</literal>.
6182 You can abbreviate this to <literal>I</literal> or <literal>A</literal>.
6183 </para>
6184
6185 <para>
6186 Disposition is prefixed by either a + symbol or a - symbol.  If it's
6187 a +, you're saying that you want to allow this disposition and MIME
6188 type to qualify.  If it's a -, you're saying that this disposition
6189 and MIME type is an exception to previous + rules.  There are examples
6190 below of how this is useful.
6191 </para>
6192
6193 <para>
6194 Mime-type is, unsurprisingly, the MIME type of the attachment you want
6195 to affect.  A MIME type is always of the format <literal>major/minor</literal>, where
6196 <literal>major</literal> describes the broad category of document you're looking at, and
6197 <literal>minor</literal> describes the specific type within that category.  The major
6198 part of mime-type must be literal text (or the special token <quote><literal>*</literal></quote>), but
6199 the minor part may be a regular expression.  (Therefore, <quote><literal>*/.*</literal></quote> matches
6200 any MIME type.)
6201 </para>
6202
6203 <para>
6204 The MIME types you give to the attachments directive are a kind of
6205 pattern.  When you use the attachments directive, the patterns you
6206 specify are added to a list.  When you use unattachments, the pattern
6207 is removed from the list.  The patterns are not expanded and matched
6208 to specific MIME types at this time -- they're just text in a list.
6209 They're only matched when actually evaluating a message.
6210 </para>
6211
6212 <para>
6213 Some examples might help to illustrate.  The examples that are not
6214 commented out define the default configuration of the lists.
6215 </para>
6216
6217 <example id="ex-attach-count">
6218 <title>Attachment counting</title>
6219 <screen>
6220 ## Removing a pattern from a list removes that pattern literally. It
6221 ## does not remove any type matching the pattern.
6222 ##
6223 ##  attachments   +A */.*
6224 ##  attachments   +A image/jpeg
6225 ##  unattachments +A */.*
6226 ##
6227 ## This leaves "attached" image/jpeg files on the allowed attachments
6228 ## list. It does not remove all items, as you might expect, because the
6229 ## second */.* is not a matching expression at this time.
6230 ##
6231 ## Remember: "unattachments" only undoes what "attachments" has done!
6232 ## It does not trigger any matching on actual messages.
6233
6234
6235 ## Qualify any MIME part with an "attachment" disposition, EXCEPT for
6236 ## text/x-vcard and application/pgp parts. (PGP parts are already known
6237 ## to mutt, and can be searched for with ~g, ~G, and ~k.)
6238 ##
6239 ## I've added x-pkcs7 to this, since it functions (for S/MIME)
6240 ## analogously to PGP signature attachments. S/MIME isn't supported
6241 ## in a stock mutt build, but we can still treat it specially here.
6242 ##
6243 attachments   +A */.*
6244 attachments   -A text/x-vcard application/pgp.*
6245 attachments   -A application/x-pkcs7-.*
6246
6247 ## Discount all MIME parts with an "inline" disposition, unless they're
6248 ## text/plain. (Why inline a text/plain part unless it's external to the
6249 ## message flow?)
6250 ##
6251 attachments   +I text/plain
6252
6253 ## These two lines make Mutt qualify MIME containers.  (So, for example,
6254 ## a message/rfc822 forward will count as an attachment.)  The first
6255 ## line is unnecessary if you already have "attach-allow */.*", of
6256 ## course.  These are off by default!  The MIME elements contained
6257 ## within a message/* or multipart/* are still examined, even if the
6258 ## containers themseves don't qualify.
6259 ##
6260 #attachments  +A message/.* multipart/.*
6261 #attachments  +I message/.* multipart/.*
6262
6263 ## You probably don't really care to know about deleted attachments.
6264 attachments   -A message/external-body
6265 attachments   -I message/external-body
6266 </screen>
6267 </example>
6268
6269 <para>
6270 Entering the command <quote><literal>attachments ?</literal></quote>
6271 as a command will list your current settings in Muttrc format, so that
6272 it can be pasted elsewhere.
6273 </para>
6274
6275 </sect1>
6276
6277 <sect1 id="mime-lookup">
6278 <title>MIME Lookup</title>
6279
6280 <para>
6281 Mutt's mime&lowbar;lookup list specifies a list of mime-types that should not
6282 be treated according to their mailcap entry.  This option is designed to
6283 deal with binary types such as application/octet-stream.  When an attachment's
6284 mime-type is listed in mime&lowbar;lookup, then the extension of the filename will
6285 be compared to the list of extensions in the mime.types file.  The mime-type
6286 associated with this extension will then be used to process the attachment
6287 according to the rules in the mailcap file and according to any other configuration
6288 options (such as auto&lowbar;view) specified.  Common usage would be:
6289 </para>
6290
6291 <screen>
6292 mime_lookup application/octet-stream application/X-Lotus-Manuscript
6293 </screen>
6294
6295 <para>
6296 In addition, the unmime&lowbar;lookup command may be used to disable this feature
6297 for any particular mime-type if it had been set, for example, in a global
6298 muttrc.
6299 </para>
6300
6301 </sect1>
6302
6303 </chapter>
6304
6305 <chapter id="optionalfeatures">
6306 <title>Optional features</title>
6307
6308 <sect1 id="optionalfeatures-notes">
6309 <title>General notes</title>
6310
6311 <sect2 id="compile-time-features">
6312 <title>Enabling/disabling features</title>
6313
6314 <para>
6315 Mutt supports several of optional features which can be enabled or
6316 disabled at compile-time by giving the <emphasis>configure</emphasis> script
6317 certain arguments. These are listed in the <quote>Optional features</quote> section of
6318 the <emphasis>configure --help</emphasis> output.
6319 </para>
6320
6321 <para>
6322 Which features are enabled or disabled can later be determined from the
6323 output of <literal>mutt -v</literal>. If a compile option starts with
6324 <quote>+</quote> it is enabled and disabled if prefixed with <quote>-</quote>. For example, if
6325 mutt was compiled using GnuTLS for encrypted communication instead of
6326 OpenSSL, <literal>mutt -v</literal> would contain:
6327 </para>
6328
6329 <screen>
6330 -USE_SSL_OPENSSL +USE_SSL_GNUTLS</screen>
6331
6332 </sect2>
6333
6334 <sect2 id="url-syntax">
6335 <title>URL syntax</title>
6336
6337 <para>
6338 Mutt optionally supports the IMAP, POP3 and SMTP protocols which require
6339 to access servers using URLs. The canonical syntax for specifying URLs
6340 in mutt is (an item enclosed in <literal>[]</literal> means it is optional and
6341 may be omitted):
6342 </para>
6343
6344 <screen>
6345 proto[s]://[username[:password]@]server[:port]/[path]
6346 </screen>
6347
6348 <para>
6349 <literal>proto</literal> is the communication protocol:
6350 <literal>imap</literal> for IMAP, <literal>pop</literal> for POP3 and
6351 <literal>smtp</literal> for SMTP. If <quote>s</quote> for <quote>secure communication</quote>
6352 is appended, mutt will attempt to establish an encrypted communication
6353 using SSL or TLS. If no explicit port is given, mutt will use the
6354 system's default for the given protocol.
6355 </para>
6356
6357 <para>
6358 Since all protocols by mutt support authentication, the username may be
6359 given directly in the URL instead of using the <literal>pop_user</literal> or
6360 <literal>imap_user</literal> variables. It may contain the <quote>@</quote> symbol
6361 being used by many mail systems as part of the login name. A password can be
6362 given, too but is not recommended if the URL is specified in a configuration
6363 file on disk.
6364 </para>
6365
6366 <para>
6367 The optional path is only relevant for IMAP.
6368 </para>
6369
6370 <para>
6371 For IMAP for example, you can select an alternative port by specifying it with the
6372 server: <literal>imap://imapserver:port/INBOX</literal>. You can also specify different
6373 username for each folder: <literal>imap://username@imapserver[:port]/INBOX</literal>
6374 or <literal>imap://username2@imapserver[:port]/path/to/folder</literal>.
6375 Replacing <literal>imap://</literal> by <literal>imaps://</literal>
6376 would make mutt attempt to connect using SSL or TLS on a different port
6377 to encrypt the communication.
6378 </para>
6379
6380 </sect2>
6381
6382 </sect1>
6383
6384 <sect1 id="ssl">
6385 <title>SSL/TLS Support</title>
6386
6387 <para>
6388 If mutt is compiled with IMAP, POP3 and/or SMTP support, it can also be
6389 compiled with support for SSL or TLS using either OpenSSL or GnuTLS (
6390 by running the <emphasis>configure</emphasis> script with the
6391 <emphasis>--enable-ssl=...</emphasis> option for OpenSSL or
6392 <emphasis>--enable-gnutls=...</emphasis> for GnuTLS). Mutt can then
6393 attempt to encrypt communication with remote servers if these protocols
6394 are suffixed with <quote>s</quote> for <quote>secure communication</quote>.
6395 </para>
6396
6397 </sect1>
6398
6399 <sect1 id="pop">
6400 <title>POP3 Support</title>
6401
6402 <para>
6403 If Mutt was compiled with POP3 support (by running the <emphasis>configure</emphasis>
6404 script with the <emphasis>--enable-pop</emphasis> flag), it has the ability to work
6405 with mailboxes located on a remote POP3 server and fetch mail for local
6406 browsing.
6407 </para>
6408
6409 <para>
6410 Remote POP3 servers can be accessed using URLs with the <literal>pop</literal> protocol
6411 for unencrypted and <literal>pops</literal> for encrypted
6412 communication, see <xref linkend="url-syntax"/> for details.
6413 </para>
6414
6415 <para>
6416 Polling for new mail is more expensive over POP3 than locally. For this
6417 reason the frequency at which Mutt will check for mail remotely can be
6418 controlled by the
6419 <link linkend="pop-checkinterval">&dollar;pop&lowbar;checkinterval</link>
6420 variable, which defaults to every 60 seconds.
6421 </para>
6422
6423 <anchor id="fetch-mail"/>
6424 <para>
6425 Another way to access your POP3 mail is the <literal>&lt;fetch-mail&dollar;</literal> function
6426 (default: G).  It allows to connect to <link linkend="pop-host">&dollar;pop&lowbar;host</link>, fetch all your new mail and place it in the
6427 local <link linkend="spoolfile">&dollar;spoolfile</link>.  After this
6428 point, Mutt runs exactly as if the mail had always been local.
6429 </para>
6430
6431 <note>
6432 <para>
6433 If you only need to fetch all messages to a
6434 local mailbox you should consider using a specialized program, such as
6435 <literal>fetchmail</literal>, <literal>getmail</literal> or similar.
6436 </para>
6437 </note>
6438
6439 </sect1>
6440
6441 <sect1 id="imap">
6442 <title>IMAP Support</title>
6443
6444 <para>
6445 If Mutt was compiled with IMAP support (by running the <emphasis>configure</emphasis>
6446 script with the <emphasis>--enable-imap</emphasis> flag), it has the ability to work
6447 with folders located on a remote IMAP server.
6448 </para>
6449
6450 <para>
6451 You can access the remote inbox by selecting the folder by its URL
6452 (see <xref linkend="url-syntax"/> for details) using the
6453 <literal>imap</literal> or <literal>imaps</literal> protocol.
6454 Alternatively, a pine-compatible notation is also supported, ie
6455 <literal>&lcub;[username@]imapserver[:port][/ssl]&rcub;path/to/folder</literal>
6456 </para>
6457
6458 <para>
6459 Note that not all servers use <quote>/</quote> as the hierarchy separator.  Mutt should
6460 correctly notice which separator is being used by the server and convert
6461 paths accordingly.
6462 </para>
6463
6464 <para>
6465 When browsing folders on an IMAP server, you can toggle whether to look
6466 at only the folders you are subscribed to, or all folders with the
6467 <emphasis>toggle-subscribed</emphasis> command.  See also the
6468 <link linkend="imap-list-subscribed">&dollar;imap&lowbar;list&lowbar;subscribed</link> variable.
6469 </para>
6470
6471 <para>
6472 Polling for new mail on an IMAP server can cause noticeable delays. So, you'll
6473 want to carefully tune the
6474 <link linkend="mail-check">&dollar;mail&lowbar;check</link>
6475 and
6476 <link linkend="timeout">&dollar;timeout</link>
6477 variables. Personally I use
6478 </para>
6479
6480 <screen>
6481 set mail_check=90
6482 set timeout=15
6483 </screen>
6484
6485 <para>
6486 with relatively good results over my slow modem line.
6487 </para>
6488
6489 <note>
6490 <para>
6491 Note that if you are using mbox as the mail store on UW servers prior to
6492 v12.250, the server has been reported to disconnect a client if another client
6493 selects the same folder.
6494 </para>
6495 </note>
6496
6497 <sect2 id="imap-browser">
6498 <title>The Folder Browser</title>
6499
6500 <para>
6501 As of version 1.2, mutt supports browsing mailboxes on an IMAP
6502 server. This is mostly the same as the local file browser, with the
6503 following differences:
6504 </para>
6505
6506 <itemizedlist>
6507 <listitem>
6508
6509 <para>
6510 In lieu of file permissions, mutt displays the string "IMAP",
6511 possibly followed by the symbol "+", indicating
6512 that the entry contains both messages and subfolders. On
6513 Cyrus-like servers folders will often contain both messages and
6514 subfolders.
6515 </para>
6516 </listitem>
6517 <listitem>
6518
6519 <para>
6520 For the case where an entry can contain both messages and
6521 subfolders, the selection key (bound to <literal>enter</literal> by default)
6522 will choose to descend into the subfolder view. If you wish to view
6523 the messages in that folder, you must use <literal>view-file</literal> instead
6524 (bound to <literal>space</literal> by default).
6525 </para>
6526 </listitem>
6527 <listitem>
6528
6529 <para>
6530 You can create, delete and rename mailboxes with the
6531 <literal>create-mailbox</literal>, <literal>delete-mailbox</literal>, and
6532 <literal>rename-mailbox</literal> commands (default bindings: <literal>C</literal>,
6533 <literal>d</literal> and <literal>r</literal>, respectively). You may also
6534 <literal>subscribe</literal> and <literal>unsubscribe</literal> to mailboxes (normally
6535 these are bound to <literal>s</literal> and <literal>u</literal>, respectively).
6536 </para>
6537 </listitem>
6538
6539 </itemizedlist>
6540
6541 </sect2>
6542
6543 <sect2 id="imap-authentication">
6544 <title>Authentication</title>
6545
6546 <para>
6547 Mutt supports four authentication methods with IMAP servers: SASL,
6548 GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add
6549 NTLM authentication for you poor exchange users out there, but it has
6550 yet to be integrated into the main tree). There is also support for
6551 the pseudo-protocol ANONYMOUS, which allows you to log in to a public
6552 IMAP server without having an account. To use ANONYMOUS, simply make
6553 your username blank or "anonymous".
6554 </para>
6555
6556 <para>
6557 SASL is a special super-authenticator, which selects among several protocols
6558 (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most secure
6559 method available on your host and the server. Using some of these methods
6560 (including DIGEST-MD5 and possibly GSSAPI), your entire session will be
6561 encrypted and invisible to those teeming network snoops. It is the best
6562 option if you have it. To use it, you must have the Cyrus SASL library
6563 installed on your system and compile mutt with the <emphasis>--with-sasl</emphasis> flag.
6564 </para>
6565
6566 <para>
6567 Mutt will try whichever methods are compiled in and available on the server,
6568 in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
6569 </para>
6570
6571 <para>
6572 There are a few variables which control authentication:
6573 </para>
6574
6575 <itemizedlist>
6576 <listitem>
6577
6578 <para>
6579 <link linkend="imap-user">&dollar;imap&lowbar;user</link> - controls
6580 the username under which you request authentication on the IMAP server,
6581 for all authenticators. This is overridden by an explicit username in
6582 the mailbox path (ie by using a mailbox name of the form
6583 <literal>&lcub;user@host&rcub;</literal>).
6584 </para>
6585 </listitem>
6586 <listitem>
6587
6588 <para>
6589 <link linkend="imap-pass">&dollar;imap&lowbar;pass</link> - a
6590 password which you may preset, used by all authentication methods where
6591 a password is needed.
6592 </para>
6593 </listitem>
6594 <listitem>
6595
6596 <para>
6597 <link linkend="imap-authenticators">&dollar;imap&lowbar;authenticators</link> - a colon-delimited list of IMAP
6598 authentication methods to try, in the order you wish to try them. If
6599 specified, this overrides mutt's default (attempt everything, in the order
6600 listed above).
6601 </para>
6602 </listitem>
6603
6604 </itemizedlist>
6605
6606 </sect2>
6607
6608 </sect1>
6609
6610 <sect1 id="smtp">
6611 <title>SMTP Support</title>
6612
6613 <para>
6614 Besides supporting traditional mail delivery through a
6615 sendmail-compatible program, mutt supports delivery through SMTP if it
6616 was configured and built with <literal>--enable-smtp</literal>.
6617 </para>
6618
6619 <para>
6620 If the configuration variable
6621 <link linkend="smtp-url">&dollar;smtp&lowbar;url</link> is set, mutt
6622 will contact the given SMTP server to deliver messages; if it is unset,
6623 mutt will use the program specified by <link linkend="sendmail">&dollar;sendmail</link>.
6624 </para>
6625
6626 <para>
6627 For details on the URL syntax, please see <xref linkend="url-syntax"/>.
6628 </para>
6629
6630 <para>
6631 The built-in SMTP support supports encryption (the <literal>smtps</literal> protocol
6632 using SSL or TLS) as well as SMTP authentication using SASL. The authentication mechanisms
6633 for SASL are specified in <link linkend="smtp-authenticators">&dollar;smtp&lowbar;authenticators</link>
6634 defaulting to an empty list which makes mutt try all available methods
6635 from most-secure to least-secure.
6636 </para>
6637
6638 </sect1>
6639
6640 <sect1 id="account-hook">
6641 <title>Managing multiple accounts</title>
6642
6643 <para>
6644 If you happen to have accounts on multiple IMAP, POP and/or SMTP servers,
6645 you may find managing all the authentication settings inconvenient and
6646 error-prone. The account-hook command may help. This hook works like
6647 folder-hook but is invoked whenever you access a remote mailbox
6648 (including inside the folder browser), not just when you open the
6649 mailbox which includes (for example) polling for new mail, storing Fcc
6650 messages and saving messages to a folder. As a consequence,
6651 account-hook should only be used to set connection-related settings such
6652 as passwords or tunnel commands but not settings such as sender
6653 address or name (because in general it should be considered unpredictable
6654 which account-hook was last used).
6655 </para>
6656
6657 <para>
6658 Some examples:
6659 </para>
6660
6661 <screen>
6662 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
6663 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
6664 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
6665 account-hook smtp://user@host3/ 'set tunnel="ssh host3 /usr/libexec/smtpd"'
6666 </screen>
6667
6668 </sect1>
6669
6670 <sect1 id="caching">
6671 <title>Local caching</title>
6672
6673 <para>
6674 Mutt contains two types of local caching: <emphasis>(1)</emphasis>
6675 the so-called <quote>header caching</quote> and <emphasis>(2)</emphasis> the
6676 so-called <quote>body caching</quote> which are both described in this section.
6677 </para>
6678
6679 <para>
6680 Header caching is optional as it depends on external libraries, body
6681 caching is always enabled if mutt is compiled with POP and/or IMAP
6682 support as these use it (body caching requires no external library).
6683 </para>
6684
6685 <sect2 id="header-caching">
6686 <title>Header caching</title>
6687
6688 <para>
6689 Mutt provides optional support for caching message headers for the
6690 following types of folders: IMAP, POP, Maildir and MH. Header caching
6691 greatly improves speed because for remote folders, headers
6692 usually only need to be downloaded once. For Maildir and MH, reading the
6693 headers from a single file is much faster than looking at possibly
6694 thousands of single files (since Maildir and MH use one file per message.)
6695 </para>
6696
6697 <para>
6698 Header caching can be enabled via the configure script and the
6699 <emphasis>--enable-hcache</emphasis> option. It's not turned on
6700 by default because external database libraries are required: one
6701 of tokyocabinet, qdbm, gdbm or bdb must be present.
6702 </para>
6703
6704 <para>
6705 If enabled, <link
6706 linkend="header-cache">&dollar;header&lowbar;cache</link> can be
6707 used to either point to a file or a directory. If set to point to
6708 a file, one database file for all folders will be used (which may
6709 result in lower performance), but one file per folder if it points
6710 to a directory.
6711 </para>
6712
6713 <para>
6714 For the one-file-per-folder case, database files for remote folders
6715 will be named according to their URL while database files for local
6716 folders will be named by the MD5 checksums of their path. These database
6717 files may be safely removed if a system is short on space. You
6718 can compute the name of the header cache file for a particular local folder
6719 through a command like the following:
6720 </para>
6721
6722 <screen>
6723 $ printf '%s' '/path/to/folder' | md5sum
6724 </screen>
6725
6726 <para>
6727 The <literal>md5sum</literal> command may also be
6728 named <literal>md5</literal>, depending on your operating system.
6729 </para>
6730
6731 </sect2>
6732
6733 <sect2 id="body-caching">
6734 <title>Body caching</title>
6735
6736 <para>
6737 Both cache methods can be combined using the same directory for storage
6738 (and for IMAP/POP even provide meaningful file names) which simplifies
6739 manual maintenance tasks.
6740 </para>
6741
6742
6743 <para>
6744 In addition to caching message headers only, mutt can also cache
6745 whole message bodies. This results in faster display of messages
6746 for POP and IMAP folders because messages usually have to be
6747 downloaded only once.
6748 </para>
6749
6750 <para>
6751 For configuration, the variable <link linkend="message-cachedir"
6752 >&dollar;message&lowbar;cachedir</link> must point to a
6753 directory. There, mutt will create a hierarchy of subdirectories
6754 named like: <literal>proto:user@hostname</literal> where
6755 <literal>proto</literal> is either <quote>pop</quote> or <quote>imap.</quote> Within
6756 there for each folder, mutt stores messages in single files (just
6757 like Maildir) so that with manual symlink creation these cache
6758 directories can be examined with mutt as read-only Maildir folders.
6759 </para>
6760
6761 <para>
6762 All files can be removed as needed if the consumed disk space
6763 becomes an issue as mutt will silently fetch missing items again.
6764 </para>
6765
6766 </sect2>
6767
6768 <sect2 id="maint-cache">
6769 <title>Maintenance</title>
6770
6771 <para>
6772 Mutt does not (yet) support maintenance features for header cache
6773 database files so that files have to be removed in case they grow too
6774 big. It depends on the database library used for header caching whether
6775 disk space freed by removing messages is re-used.
6776 </para>
6777
6778 <para>
6779 For body caches, mutt can keep the local cache in sync with the
6780 remote mailbox if the
6781 <link linkend="message-cache-clean">&dollar;message&lowbar;cache&lowbar;clean</link>
6782 variable is set. Cleaning means to remove messages from the cache which
6783 are no longer present in the mailbox which only happens when other mail
6784 clients or instances of mutt using a different body cache location
6785 delete messages (Mutt itself removes deleted messages from the cache
6786 when syncing a mailbox). As cleaning can take a noticeable amount of time,
6787 it should not be set in general but only occasionally.
6788 </para>
6789
6790 </sect2>
6791
6792 </sect1>
6793
6794 <sect1 id="exact-address">
6795 <title>Exact address generation</title>
6796
6797 <para>
6798 Mutt supports the <quote>Name &lt;user@host&gt;</quote> address syntax for reading and
6799 writing messages, the older <quote>user@host (Name)</quote> syntax is only supported when
6800 reading messages. The <emphasis>--enable-exact-address</emphasis>
6801 switch can be given to configure to build it with write-support
6802 for the latter syntax. <literal>EXACT_ADDRESS</literal> in the output of
6803 <literal>mutt -v</literal> indicates whether it's supported.
6804 </para>
6805
6806 </sect1>
6807
6808 </chapter>
6809
6810 <chapter id="tuning">
6811 <title>Performance tuning</title>
6812
6813 <sect1 id="tuning-mailboxes">
6814 <title>Reading and writing mailboxes</title>
6815
6816 <para>
6817 Mutt's performance when reading mailboxes can be improved in two ways:
6818 </para>
6819
6820 <orderedlist>
6821
6822 <listitem>
6823 <para>
6824 For remote folders (IMAP and POP) as well as folders using
6825 one-file-per message storage (Maildir and MH), mutt's
6826 performance can be greatly improved using
6827 <link linkend="header-caching">header caching</link>.
6828 Using a single database per folder may further increase
6829 performance.
6830 </para>
6831 </listitem>
6832
6833 <listitem>
6834 <para>
6835 Mutt provides the <link linkend="read-inc">&dollar;read&lowbar;inc</link>
6836 and <link linkend="write-inc">&dollar;write&lowbar;inc</link>
6837 variables to specify at which rate to update progress
6838 counters. If these values are too low, mutt may spend more
6839 time on updating the progress counter than it spends on
6840 actually reading/writing folders.
6841 </para>
6842 <para>
6843 For example, when opening a maildir folder with a few
6844 thousand messages, the default value for
6845 <link linkend="read-inc">&dollar;read&lowbar;inc</link>
6846 may be too low. It can be tuned on on a folder-basis using
6847 <link linkend="folder-hook">folder-hooks</link>:
6848 </para>
6849
6850 <screen>
6851 # use very high $read_inc to speed up reading hcache'd maildirs
6852 folder-hook . 'set read_inc=1000'
6853 # use lower value for reading slower remote IMAP folders
6854 folder-hook ^imap 'set read_inc=100'
6855 # use even lower value for reading even slower remote POP folders
6856 folder-hook ^pop 'set read_inc=1'</screen>
6857
6858 </listitem>
6859 </orderedlist>
6860
6861 <para>These settings work on a per-message basis. However, as messages may
6862 greatly differ in size and certain operations are much faster than others,
6863 even per-folder settings of the increment variables may not be
6864 desirable as they produce either too few or too much progress updates.
6865 Thus, Mutt allows to limit the number of progress updates per second it'll
6866 actually send to the terminal using the
6867 <link linkend="time-inc">&dollar;time&lowbar;inc</link> variable.</para>
6868
6869 </sect1>
6870
6871 <sect1 id="tuning-messages">
6872 <title>Reading messages from remote folders</title>
6873
6874 <para>
6875 Reading messages from remote folders such as IMAP an POP can be
6876 slow especially for large mailboxes since mutt only caches a very
6877 limited number of recently viewed messages (usually 10) per
6878 session (so that it will be gone for the next session.)
6879 </para>
6880
6881 <para>
6882 To improve performance and permanently cache whole messages,
6883 please refer to mutt's so-called
6884 <link linkend="body-caching">body caching</link> for details.
6885 </para>
6886
6887 </sect1>
6888
6889 <sect1 id="tuning-search">
6890 <title>Searching and limiting</title>
6891
6892 <para>
6893 When searching mailboxes either via a search or a limit action, for
6894 some patterns mutt distinguishes between regular expression and string
6895 searches. For regular expressions, patterns are prefixed with
6896 <quote>&tilde;</quote> and with <quote>=</quote> for string searches.
6897 </para>
6898
6899 <para>
6900 Even though a regular expression search is fast, it's several times
6901 slower than a pure string search which is noticeable especially on large
6902 folders. As a consequence, a string search should be used instead of a
6903 regular expression search if the user already knows enough about the
6904 search pattern.
6905 </para>
6906
6907 <para>
6908 For example, when limiting a large folder to all messages sent to or by
6909 an author, it's much faster to search for the initial part of an e-mail
6910 address via <literal>=Luser@</literal> instead of
6911 <literal>&tilde;Luser@</literal>. This is especially true for searching
6912 message bodies since a larger amount of input has to be searched.
6913 </para>
6914
6915 <para>
6916 Please note that string search is an exact case-sensitive search
6917 while a regular expression search with only lower-case letters performs
6918 a case-insensitive search.
6919 </para>
6920
6921 </sect1>
6922
6923 </chapter>
6924
6925 <chapter id="reference">
6926 <title>Reference</title>
6927
6928 <sect1 id="commandline">
6929 <title>Command line options</title>
6930
6931 <para>
6932 Running <literal>mutt</literal> with no arguments will make Mutt attempt to read your spool
6933 mailbox.  However, it is possible to read other mailboxes and
6934 to send messages from the command line as well.
6935 </para>
6936
6937 <table id="tab-commandline-options">
6938 <title>Command line options</title>
6939 <tgroup cols="2">
6940 <thead>
6941 <row><entry>Option</entry><entry>Description</entry></row>
6942 </thead>
6943 <tbody>
6944 <row><entry>-A</entry><entry>expand an alias</entry></row>
6945 <row><entry>-a</entry><entry>attach a file to a message</entry></row>
6946 <row><entry>-b</entry><entry>specify a blind carbon-copy (BCC) address</entry></row>
6947 <row><entry>-c</entry><entry>specify a carbon-copy (Cc) address</entry></row>
6948 <row><entry>-D</entry><entry>print the value of all mutt variables to stdout</entry></row>
6949 <row><entry>-e</entry><entry>specify a config command to be run after initialization files are read</entry></row>
6950 <row><entry>-f</entry><entry>specify a mailbox to load</entry></row>
6951 <row><entry>-F</entry><entry>specify an alternate file to read initialization commands</entry></row>
6952 <row><entry>-h</entry><entry>print help on command line options</entry></row>
6953 <row><entry>-H</entry><entry>specify a draft file from which to read a header and body</entry></row>
6954 <row><entry>-i</entry><entry>specify a file to include in a message composition</entry></row>
6955 <row><entry>-m</entry><entry>specify a default mailbox type</entry></row>
6956 <row><entry>-n</entry><entry>do not read the system Muttrc</entry></row>
6957 <row><entry>-p</entry><entry>recall a postponed message</entry></row>
6958 <row><entry>-Q</entry><entry>query a configuration variable</entry></row>
6959 <row><entry>-R</entry><entry>open mailbox in read-only mode</entry></row>
6960 <row><entry>-s</entry><entry>specify a subject (enclose in quotes if it contains spaces)</entry></row>
6961 <row><entry>-v</entry><entry>show version number and compile-time definitions</entry></row>
6962 <row><entry>-x</entry><entry>simulate the mailx(1) compose mode</entry></row>
6963 <row><entry>-y</entry><entry>show a menu containing the files specified by the mailboxes command</entry></row>
6964 <row><entry>-z</entry><entry>exit immediately if there are no messages in the mailbox</entry></row>
6965 <row><entry>-Z</entry><entry>open the first folder with new message,exit immediately if none</entry></row>
6966 </tbody>
6967 </tgroup>
6968 </table>
6969
6970 <para>
6971 To read messages in a mailbox
6972 </para>
6973
6974 <cmdsynopsis>
6975 <command>mutt</command>
6976 <arg choice="opt"><option>-nz</option></arg>
6977 <arg choice="opt"><option>-F</option>
6978 <replaceable>muttrc</replaceable>
6979 </arg>
6980 <arg choice="opt"><option>-m</option>
6981 <replaceable>type</replaceable>
6982 </arg>
6983 <arg choice="opt"><option>-f</option>
6984 <replaceable>mailbox</replaceable>
6985 </arg>
6986 </cmdsynopsis>
6987
6988 <para>
6989 To compose a new message
6990 </para>
6991
6992 <cmdsynopsis>
6993 <command>mutt</command>
6994 <arg choice="opt"><option>-n</option></arg>
6995 <arg choice="opt"><option>-F</option>
6996 <replaceable>muttrc</replaceable>
6997 </arg>
6998 <arg choice="opt"><option>-c</option>
6999 <replaceable>address</replaceable>
7000 </arg>
7001 <arg choice="opt"><option>-i</option>
7002 <replaceable>filename</replaceable>
7003 </arg>
7004 <arg choice="opt"><option>-s</option>
7005 <replaceable>subject</replaceable>
7006 </arg>
7007 <arg choice="opt">
7008 <option>-a</option>
7009 <replaceable>file</replaceable>
7010 <arg choice="opt" rep="repeat"/>
7011 --
7012 </arg>
7013 <arg choice="plain" rep="repeat">
7014 <replaceable>address</replaceable>
7015 </arg>
7016 </cmdsynopsis>
7017
7018 <para>
7019 Mutt also supports a <quote>batch</quote> mode to send prepared messages.  Simply redirect
7020 input from the file you wish to send.  For example,
7021 </para>
7022
7023 <para>
7024 <literal>mutt -s &quot;data set for run &num;2&quot; professor@bigschool.edu
7025 &lt; &tilde;/run2.dat</literal>
7026 </para>
7027
7028 <para>
7029 This command will send a message to <quote>professor@bigschool.edu</quote> with a subject
7030 of <quote>data set for run &num;2</quote>.  In the body of the message will be the contents
7031 of the file <quote>&tilde;/run2.dat</quote>.
7032 </para>
7033
7034 <para>
7035 All files passed with -a <emphasis>file</emphasis> will be attached as a MIME
7036 part to the message. To attach several files, use <quote>--</quote> to separate files and
7037 recipient addresses: <literal>mutt -a *.png -- some@one.org</literal>
7038 </para>
7039
7040 </sect1>
7041
7042 <sect1 id="commands">
7043 <title>Configuration Commands</title>
7044
7045 <para>
7046 The following are the commands understood by mutt.
7047 </para>
7048
7049 <itemizedlist>
7050
7051 <listitem>
7052 <cmdsynopsis>
7053 <command><link linkend="account-hook">account-hook</link></command>
7054 <arg choice="plain">
7055 <replaceable>pattern</replaceable>
7056 <replaceable>command</replaceable>
7057 </arg>
7058 </cmdsynopsis>
7059 </listitem>
7060
7061 <listitem>
7062 <cmdsynopsis>
7063 <command><link linkend="alias">alias</link></command>
7064 <arg choice="opt" rep="repeat">
7065 <option>-group</option>
7066 <replaceable class="parameter">name</replaceable>
7067 </arg>
7068 <arg choice="plain">
7069 <replaceable class="parameter">key</replaceable>
7070 </arg>
7071 <arg choice="plain">
7072 <replaceable class="parameter">address</replaceable>
7073 </arg>
7074 <arg choice="opt" rep="repeat">
7075 <replaceable class="parameter">address</replaceable>
7076 </arg>
7077 </cmdsynopsis>
7078 </listitem>
7079
7080 <listitem>
7081 <cmdsynopsis>
7082 <command><link linkend="alias">unalias</link></command>
7083 <arg choice="opt" rep="repeat">
7084 <option>-group</option>
7085 <replaceable>name</replaceable>
7086 </arg>
7087 <group choice="req">
7088 <arg choice="plain">
7089 <replaceable class="parameter">*</replaceable>
7090 </arg>
7091 <arg choice="plain" rep="repeat">
7092 <replaceable class="parameter">key</replaceable>
7093 </arg>
7094 </group>
7095 </cmdsynopsis>
7096 </listitem>
7097
7098 <listitem>
7099 <cmdsynopsis>
7100 <command><link linkend="alternates">alternates</link></command>
7101 <arg choice="opt" rep="repeat">
7102 <option>-group</option>
7103 <replaceable>name</replaceable>
7104 </arg>
7105 <arg choice="plain">
7106 <replaceable>regexp</replaceable>
7107 </arg>
7108 <arg choice="opt" rep="repeat">
7109 <replaceable>regexp</replaceable>
7110 </arg>
7111 </cmdsynopsis>
7112 </listitem>
7113
7114 <listitem>
7115 <cmdsynopsis>
7116 <command><link linkend="alternates">unalternates</link></command>
7117 <arg choice="opt" rep="repeat">
7118 <option>-group</option>
7119 <replaceable>name</replaceable>
7120 </arg>
7121 <group choice="req">
7122 <arg choice="plain">
7123 <replaceable>*</replaceable>
7124 </arg>
7125 <arg choice="plain" rep="repeat">
7126 <replaceable>regexp</replaceable>
7127 </arg>
7128 </group>
7129 </cmdsynopsis>
7130 </listitem>
7131
7132 <listitem>
7133 <cmdsynopsis>
7134 <command><link linkend="alternative-order">alternative-order</link></command>
7135 <arg choice="plain">
7136 <replaceable>mimetype</replaceable>
7137 </arg>
7138 <arg choice="opt" rep="repeat">
7139 <replaceable>mimetype</replaceable>
7140 </arg>
7141 </cmdsynopsis>
7142 </listitem>
7143
7144 <listitem>
7145 <cmdsynopsis>
7146 <command><link linkend="alternative-order">unalternative-order</link></command>
7147 <group choice="req">
7148 <arg choice="plain">
7149 <replaceable>*</replaceable>
7150 </arg>
7151 <arg choice="plain" rep="repeat">
7152 <replaceable>mimetype</replaceable>
7153 </arg>
7154 </group>
7155 </cmdsynopsis>
7156 </listitem>
7157
7158 <listitem>
7159 <cmdsynopsis>
7160 <command><link linkend="auto-view">auto-view</link></command>
7161 <arg choice="plain">
7162 <replaceable>mimetype</replaceable>
7163 </arg>
7164 <arg choice="opt" rep="repeat">
7165 <replaceable>mimetype</replaceable>
7166 </arg>
7167 </cmdsynopsis>
7168 </listitem>
7169 <listitem>
7170
7171 <cmdsynopsis>
7172 <command><link linkend="auto-view">unauto-view</link></command>
7173 <group choice="req">
7174 <arg choice="plain">
7175 <replaceable>*</replaceable>
7176 </arg>
7177 <arg choice="plain" rep="repeat">
7178 <replaceable>mimetype</replaceable>
7179 </arg>
7180 </group>
7181 </cmdsynopsis>
7182 </listitem>
7183
7184 <listitem>
7185 <cmdsynopsis>
7186 <command><link linkend="bind">bind</link></command>
7187 <arg choice="plain">
7188 <replaceable class="parameter">map</replaceable>
7189 </arg>
7190 <arg choice="plain">
7191 <replaceable class="parameter">key</replaceable>
7192 </arg>
7193 <arg choice="plain">
7194 <replaceable class="parameter">function</replaceable>
7195 </arg>
7196 </cmdsynopsis>
7197 </listitem>
7198
7199 <listitem>
7200 <cmdsynopsis>
7201 <command><link linkend="charset-hook">charset-hook</link></command>
7202 <arg choice="plain">
7203 <replaceable class="parameter">alias</replaceable>
7204 </arg>
7205 <arg choice="plain">
7206 <replaceable class="parameter">charset</replaceable>
7207 </arg>
7208 </cmdsynopsis>
7209 </listitem>
7210
7211 <listitem>
7212 <cmdsynopsis>
7213 <command><link linkend="charset-hook">iconv-hook</link></command>
7214 <arg choice="plain">
7215 <replaceable class="parameter">charset</replaceable>
7216 </arg>
7217 <arg choice="plain">
7218 <replaceable class="parameter">local-charset</replaceable>
7219 </arg>
7220 </cmdsynopsis>
7221 </listitem>
7222
7223 <listitem>
7224 <cmdsynopsis>
7225 <command><link linkend="color">color</link></command>
7226 <arg choice="plain">
7227 <replaceable class="parameter">object</replaceable>
7228 </arg>
7229 <arg choice="plain">
7230 <replaceable class="parameter">foreground</replaceable>
7231 </arg>
7232 <arg choice="plain">
7233 <replaceable class="parameter">background</replaceable>
7234 </arg>
7235 </cmdsynopsis>
7236 <cmdsynopsis>
7237 <command><link linkend="color">color</link></command>
7238 <group choice="req">
7239 <arg choice="plain">
7240 <option>header</option>
7241 </arg>
7242 <arg choice="plain">
7243 <option>body</option>
7244 </arg>
7245 </group>
7246 <arg choice="plain">
7247 <replaceable class="parameter">foreground</replaceable>
7248 </arg>
7249 <arg choice="plain">
7250 <replaceable class="parameter">background</replaceable>
7251 </arg>
7252 <arg choice="plain">
7253 <replaceable class="parameter">regexp</replaceable>
7254 </arg>
7255 </cmdsynopsis>
7256 <cmdsynopsis>
7257 <command><link linkend="color">color</link></command>
7258 <arg choice="plain">
7259 <option>index</option>
7260 </arg>
7261 <arg choice="plain">
7262 <replaceable class="parameter">foreground</replaceable>
7263 </arg>
7264 <arg choice="plain">
7265 <replaceable class="parameter">background</replaceable>
7266 </arg>
7267 <arg choice="plain">
7268 <replaceable class="parameter">pattern</replaceable>
7269 </arg>
7270 </cmdsynopsis>
7271 </listitem>
7272
7273 <listitem>
7274 <cmdsynopsis>
7275 <command><link linkend="color">uncolor</link></command>
7276 <arg choice="plain">
7277 <option>index</option>
7278 </arg>
7279 <arg choice="plain" rep="repeat">
7280 <replaceable class="parameter">pattern</replaceable>
7281 </arg>
7282 </cmdsynopsis>
7283 </listitem>
7284
7285 <listitem>
7286 <cmdsynopsis>
7287 <command><link linkend="exec">exec</link></command>
7288 <arg choice="plain">
7289 <replaceable class="parameter">function</replaceable>
7290 </arg>
7291 <arg choice="opt" rep="repeat">
7292 <replaceable class="parameter">function</replaceable>
7293 </arg>
7294 </cmdsynopsis>
7295 </listitem>
7296
7297 <listitem>
7298 <cmdsynopsis>
7299 <command><link linkend="fcc-hook">fcc-hook</link></command>
7300 <arg choice="plain">
7301 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7302 </arg>
7303 <arg choice="plain">
7304 <replaceable class="parameter">mailbox</replaceable>
7305 </arg>
7306 </cmdsynopsis>
7307 </listitem>
7308
7309 <listitem>
7310 <cmdsynopsis>
7311 <command><link linkend="fcc-save-hook">fcc-save-hook</link></command>
7312 <arg choice="plain">
7313 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7314 </arg>
7315 <arg choice="plain">
7316 <replaceable class="parameter">mailbox</replaceable>
7317 </arg>
7318 </cmdsynopsis>
7319 </listitem>
7320
7321 <listitem>
7322 <cmdsynopsis>
7323 <command><link linkend="folder-hook">folder-hook</link></command>
7324 <arg choice="plain">
7325 <replaceable class="parameter">&lsqb;!&rsqb;regexp</replaceable>
7326 </arg>
7327 <arg choice="plain">
7328 <replaceable class="parameter">command</replaceable>
7329 </arg>
7330 </cmdsynopsis>
7331 </listitem>
7332
7333 <listitem>
7334 <cmdsynopsis>
7335 <command><link linkend="addrgroup">group</link></command>
7336 <arg choice="opt" rep="repeat">
7337 <option>-group</option>
7338 <replaceable class="parameter">name</replaceable>
7339 </arg>
7340 <group choice="req">
7341 <arg choice="plain" rep="repeat">
7342 <option>-rx</option>
7343 <replaceable class="parameter">expr</replaceable>
7344 </arg>
7345 <arg choice="plain" rep="repeat">
7346 <option>-addr</option>
7347 <replaceable class="parameter">expr</replaceable>
7348 </arg>
7349 </group>
7350 </cmdsynopsis>
7351 </listitem>
7352
7353 <listitem>
7354 <cmdsynopsis>
7355 <command><link linkend="addrgroup">ungroup</link></command>
7356 <arg choice="opt" rep="repeat">
7357 <option>-group</option>
7358 <replaceable class="parameter">name</replaceable>
7359 </arg>
7360 <group choice="req">
7361 <arg choice="plain">
7362 <replaceable class="parameter">*</replaceable>
7363 </arg>
7364 <arg choice="plain" rep="repeat">
7365 <option>-rx</option>
7366 <replaceable class="parameter">expr</replaceable>
7367 </arg>
7368 <arg choice="plain" rep="repeat">
7369 <option>-addr</option>
7370 <replaceable class="parameter">expr</replaceable>
7371 </arg>
7372 </group>
7373 </cmdsynopsis>
7374 </listitem>
7375
7376 <listitem>
7377 <cmdsynopsis>
7378 <command><link linkend="hdr-order">hdr&lowbar;order</link></command>
7379 <arg choice="plain">
7380 <replaceable class="parameter">header</replaceable>
7381 </arg>
7382 <arg choice="opt" rep="repeat">
7383 <replaceable class="parameter">header</replaceable>
7384 </arg>
7385 </cmdsynopsis>
7386 </listitem>
7387
7388 <listitem>
7389 <cmdsynopsis>
7390 <command><link linkend="hdr-order">unhdr&lowbar;order</link></command>
7391 <group choice="req">
7392 <arg choice="plain">
7393 <replaceable>*</replaceable>
7394 </arg>
7395 <arg choice="plain" rep="repeat">
7396 <replaceable>header</replaceable>
7397 </arg>
7398 </group>
7399 </cmdsynopsis>
7400 </listitem>
7401
7402 <listitem>
7403 <cmdsynopsis>
7404 <command><link linkend="ignore">ignore</link></command>
7405 <arg choice="plain">
7406 <replaceable class="parameter">pattern</replaceable>
7407 </arg>
7408 <arg choice="opt" rep="repeat">
7409 <replaceable class="parameter">pattern</replaceable>
7410 </arg>
7411 </cmdsynopsis>
7412 </listitem>
7413
7414 <listitem>
7415 <cmdsynopsis>
7416 <command><link linkend="ignore">unignore</link></command>
7417 <group choice="req">
7418 <arg choice="plain">
7419 <replaceable>*</replaceable>
7420 </arg>
7421 <arg choice="plain" rep="repeat">
7422 <replaceable>pattern</replaceable>
7423 </arg>
7424 </group>
7425 </cmdsynopsis>
7426 </listitem>
7427
7428 <listitem>
7429 <cmdsynopsis>
7430 <command><link linkend="lists">lists</link></command>
7431 <arg>
7432 <option>-group</option>
7433 <replaceable class="parameter">name</replaceable>
7434 </arg>
7435 <arg choice="plain">
7436 <replaceable class="parameter">regexp</replaceable>
7437 </arg>
7438 <arg choice="opt" rep="repeat">
7439 <replaceable class="parameter">regexp</replaceable>
7440 </arg>
7441 </cmdsynopsis>
7442 </listitem>
7443
7444 <listitem>
7445 <cmdsynopsis>
7446 <command><link linkend="lists">unlists</link></command>
7447 <arg choice="opt" rep="repeat">
7448 <option>-group</option>
7449 <replaceable>name</replaceable>
7450 </arg>
7451 <group choice="req">
7452 <arg choice="plain">
7453 <replaceable>*</replaceable>
7454 </arg>
7455 <arg choice="plain" rep="repeat">
7456 <replaceable>regexp</replaceable>
7457 </arg>
7458 </group>
7459 </cmdsynopsis>
7460 </listitem>
7461
7462 <listitem>
7463 <cmdsynopsis>
7464 <command><link linkend="macro">macro</link></command>
7465 <arg choice="plain">
7466 <replaceable class="parameter">menu</replaceable>
7467 </arg>
7468 <arg choice="plain">
7469 <replaceable class="parameter">key</replaceable>
7470 </arg>
7471 <arg choice="plain">
7472 <replaceable class="parameter">sequence</replaceable>
7473 </arg>
7474 <arg choice="opt">
7475 <replaceable class="parameter">description</replaceable>
7476 </arg>
7477 </cmdsynopsis>
7478 </listitem>
7479
7480 <listitem>
7481 <cmdsynopsis>
7482 <command><link linkend="mailboxes">mailboxes</link></command>
7483 <arg choice="plain">
7484 <replaceable class="parameter">mailbox</replaceable>
7485 </arg>
7486 <arg choice="opt" rep="repeat">
7487 <replaceable class="parameter">mailbox</replaceable>
7488 </arg>
7489 </cmdsynopsis>
7490 </listitem>
7491
7492 <listitem>
7493 <cmdsynopsis>
7494 <command><link linkend="mailboxes">unmailboxes</link></command>
7495 <group choice="req">
7496 <arg choice="plain">
7497 <replaceable class="parameter">*</replaceable>
7498 </arg>
7499 <arg choice="plain" rep="repeat">
7500 <replaceable class="parameter">mailbox</replaceable>
7501 </arg>
7502 </group>
7503 </cmdsynopsis>
7504 </listitem>
7505
7506 <listitem>
7507 <cmdsynopsis>
7508 <command><link linkend="mbox-hook">mbox-hook</link></command>
7509 <arg choice="plain">
7510 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7511 </arg>
7512 <arg choice="plain">
7513 <replaceable class="parameter">mailbox</replaceable>
7514 </arg>
7515 </cmdsynopsis>
7516 </listitem>
7517
7518 <listitem>
7519 <cmdsynopsis>
7520 <command><link linkend="message-hook">message-hook</link></command>
7521 <arg choice="plain">
7522 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7523 </arg>
7524 <arg choice="plain">
7525 <replaceable class="parameter">command</replaceable>
7526 </arg>
7527 </cmdsynopsis>
7528 </listitem>
7529
7530 <listitem>
7531 <cmdsynopsis>
7532 <command><link linkend="mime-lookup">mime-lookup</link></command>
7533 <arg choice="plain">
7534 <replaceable>mimetype</replaceable>
7535 </arg>
7536 <arg choice="opt" rep="repeat">
7537 <replaceable>mimetype</replaceable>
7538 </arg>
7539 </cmdsynopsis>
7540 </listitem>
7541
7542 <listitem>
7543 <cmdsynopsis>
7544 <command><link linkend="mime-lookup">unmime-lookup</link></command>
7545 <group choice="req">
7546 <arg choice="plain">
7547 <replaceable>*</replaceable>
7548 </arg>
7549 <arg choice="plain" rep="repeat">
7550 <replaceable>mimetype</replaceable>
7551 </arg>
7552 </group>
7553 </cmdsynopsis>
7554 </listitem>
7555
7556 <listitem>
7557 <cmdsynopsis>
7558 <command><link linkend="mono">mono</link></command>
7559 <arg choice="plain">
7560 <replaceable class="parameter">object</replaceable>
7561 </arg>
7562 <arg choice="plain">
7563 <replaceable class="parameter">attribute</replaceable>
7564 </arg>
7565 </cmdsynopsis>
7566 <cmdsynopsis>
7567 <command><link linkend="mono">mono</link></command>
7568 <group choice="req">
7569 <arg choice="plain">
7570 <option>header</option>
7571 </arg>
7572 <arg choice="plain">
7573 <option>body</option>
7574 </arg>
7575 </group>
7576 <arg choice="plain">
7577 <replaceable class="parameter">attribute</replaceable>
7578 </arg>
7579 <arg choice="plain">
7580 <replaceable class="parameter">regexp</replaceable>
7581 </arg>
7582 </cmdsynopsis>
7583 <cmdsynopsis>
7584 <command><link linkend="mono">mono</link></command>
7585 <arg choice="plain">
7586 <option>index</option>
7587 </arg>
7588 <arg choice="plain">
7589 <replaceable class="parameter">attribute</replaceable>
7590 </arg>
7591 <arg choice="plain">
7592 <replaceable class="parameter">pattern</replaceable>
7593 </arg>
7594 </cmdsynopsis>
7595 </listitem>
7596
7597 <listitem>
7598 <cmdsynopsis>
7599 <command><link linkend="mono">unmono</link></command>
7600 <arg choice="plain">
7601 <option>index</option>
7602 </arg>
7603 <group choice="req">
7604 <arg choice="plain">
7605 <replaceable class="parameter">*</replaceable>
7606 </arg>
7607 <arg choice="plain" rep="repeat">
7608 <replaceable class="parameter">pattern</replaceable>
7609 </arg>
7610 </group>
7611 </cmdsynopsis>
7612 </listitem>
7613
7614 <listitem>
7615 <cmdsynopsis>
7616 <command><link linkend="my-hdr">my&lowbar;hdr</link></command>
7617 <arg choice="plain">
7618 <replaceable class="parameter">string</replaceable>
7619 </arg>
7620 </cmdsynopsis>
7621 </listitem>
7622
7623 <listitem>
7624 <cmdsynopsis>
7625 <command><link linkend="my-hdr">unmy&lowbar;hdr</link></command>
7626 <group choice="req">
7627 <arg choice="plain">
7628 <replaceable class="parameter">*</replaceable>
7629 </arg>
7630 <arg choice="plain" rep="repeat">
7631 <replaceable class="parameter">field</replaceable>
7632 </arg>
7633 </group>
7634 </cmdsynopsis>
7635 </listitem>
7636
7637 <listitem>
7638 <cmdsynopsis>
7639 <command><link linkend="crypt-hook">crypt-hook</link></command>
7640 <arg choice="plain">
7641 <replaceable class="parameter">pattern</replaceable>
7642 </arg>
7643 <arg choice="plain">
7644 <replaceable class="parameter">keyid</replaceable>
7645 </arg>
7646 </cmdsynopsis>
7647 </listitem>
7648
7649 <listitem>
7650 <cmdsynopsis>
7651 <command><link linkend="push">push</link></command>
7652 <arg choice="plain">
7653 <replaceable class="parameter">string</replaceable>
7654 </arg>
7655 </cmdsynopsis>
7656 </listitem>
7657
7658 <listitem>
7659 <cmdsynopsis>
7660 <command><link linkend="set">reset</link></command>
7661 <arg choice="plain">
7662 <replaceable class="parameter">variable</replaceable>
7663 </arg>
7664 <arg choice="opt" rep="repeat">
7665 <replaceable class="parameter">variable</replaceable>
7666 </arg>
7667 </cmdsynopsis>
7668 </listitem>
7669
7670 <listitem>
7671 <cmdsynopsis>
7672 <command><link linkend="save-hook">save-hook</link></command>
7673 <arg choice="plain">
7674 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7675 </arg>
7676 <arg choice="plain">
7677 <replaceable class="parameter">mailbox</replaceable>
7678 </arg>
7679 </cmdsynopsis>
7680 </listitem>
7681
7682 <listitem>
7683 <cmdsynopsis>
7684 <command><link linkend="score">score</link></command>
7685 <arg choice="plain">
7686 <replaceable class="parameter">pattern</replaceable>
7687 </arg>
7688 <arg choice="plain">
7689 <replaceable class="parameter">value</replaceable>
7690 </arg>
7691 </cmdsynopsis>
7692 </listitem>
7693
7694 <listitem>
7695 <cmdsynopsis>
7696 <command><link linkend="score">unscore</link></command>
7697 <group choice="req">
7698 <arg choice="plain">
7699 <replaceable class="parameter">*</replaceable>
7700 </arg>
7701 <arg choice="plain" rep="repeat">
7702 <replaceable class="parameter">pattern</replaceable>
7703 </arg>
7704 </group>
7705 </cmdsynopsis>
7706 </listitem>
7707
7708 <listitem>
7709 <cmdsynopsis>
7710 <command><link linkend="reply-hook">reply-hook</link></command>
7711 <arg choice="plain">
7712 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7713 </arg>
7714 <arg choice="plain">
7715 <replaceable class="parameter">command</replaceable>
7716 </arg>
7717 </cmdsynopsis>
7718 </listitem>
7719
7720 <listitem>
7721 <cmdsynopsis>
7722 <command><link linkend="send-hook">send-hook</link></command>
7723 <arg choice="plain">
7724 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7725 </arg>
7726 <arg choice="plain">
7727 <replaceable class="parameter">command</replaceable>
7728 </arg>
7729 </cmdsynopsis>
7730 </listitem>
7731
7732 <listitem>
7733 <cmdsynopsis>
7734 <command><link linkend="send2-hook">send2-hook</link></command>
7735 <arg choice="plain">
7736 <replaceable class="parameter">&lsqb;!&rsqb;pattern</replaceable>
7737 </arg>
7738 <arg choice="plain">
7739 <replaceable class="parameter">command</replaceable>
7740 </arg>
7741 </cmdsynopsis>
7742 </listitem>
7743
7744 <listitem>
7745 <cmdsynopsis>
7746 <command><link linkend="set">set</link></command>
7747 <group choice="req">
7748 <arg choice="plain">
7749 <group choice="opt">
7750 <arg choice="plain"><option>no</option></arg>
7751 <arg choice="plain"><option>inv</option></arg>
7752 </group>
7753 <replaceable class="parameter">variable</replaceable>
7754 </arg>
7755 <arg choice="plain">
7756 <replaceable class="parameter">variable=value</replaceable>
7757 </arg>
7758 </group>
7759 <arg choice="opt" rep="repeat"/>
7760 </cmdsynopsis>
7761 </listitem>
7762
7763 <listitem>
7764 <cmdsynopsis>
7765 <command><link linkend="set">unset</link></command>
7766 <arg choice="plain">
7767 <replaceable class="parameter">variable</replaceable>
7768 </arg>
7769 <arg choice="opt" rep="repeat">
7770 <replaceable class="parameter">variable</replaceable>
7771 </arg>
7772 </cmdsynopsis>
7773 </listitem>
7774
7775 <listitem>
7776 <cmdsynopsis>
7777 <command><link linkend="source">source</link></command>
7778 <arg choice="plain">
7779 <replaceable class="parameter">filename</replaceable>
7780 </arg>
7781 </cmdsynopsis>
7782 </listitem>
7783
7784 <listitem>
7785 <cmdsynopsis>
7786 <command><link linkend="spam">spam</link></command>
7787 <arg choice="plain">
7788 <replaceable class="parameter">pattern</replaceable>
7789 </arg>
7790 <arg choice="plain">
7791 <replaceable class="parameter">format</replaceable>
7792 </arg>
7793 </cmdsynopsis>
7794 </listitem>
7795
7796 <listitem>
7797 <cmdsynopsis>
7798 <command><link linkend="spam">nospam</link></command>
7799 <group choice="req">
7800 <arg choice="plain">
7801 <replaceable class="parameter">*</replaceable>
7802 </arg>
7803 <arg choice="plain">
7804 <replaceable class="parameter">pattern</replaceable>
7805 </arg>
7806 </group>
7807 </cmdsynopsis>
7808 </listitem>
7809
7810 <listitem>
7811 <cmdsynopsis>
7812 <command><link linkend="subscribe">subscribe</link></command>
7813 <arg choice="opt" rep="repeat">
7814 <option>-group</option>
7815 <replaceable class="parameter">name</replaceable>
7816 </arg>
7817 <arg choice="plain">
7818 <replaceable class="parameter">regexp</replaceable>
7819 </arg>
7820 <arg choice="opt" rep="repeat">
7821 <replaceable class="parameter">regexp</replaceable>
7822 </arg>
7823 </cmdsynopsis>
7824 </listitem>
7825
7826 <listitem>
7827 <cmdsynopsis>
7828 <command><link linkend="subscribe">unsubscribe</link></command>
7829 <arg choice="opt" rep="repeat">
7830 <option>-group</option>
7831 <replaceable>name</replaceable>
7832 </arg>
7833 <group choice="req">
7834 <arg choice="plain">
7835 <replaceable class="parameter">*</replaceable>
7836 </arg>
7837 <arg choice="plain" rep="repeat">
7838 <replaceable class="parameter">regexp</replaceable>
7839 </arg>
7840 </group>
7841 </cmdsynopsis>
7842 </listitem>
7843
7844 <listitem>
7845 <cmdsynopsis>
7846 <command><link linkend="set">toggle</link></command>
7847 <arg choice="plain">
7848 <replaceable class="parameter">variable</replaceable>
7849 </arg>
7850 <arg choice="opt" rep="repeat">
7851 <replaceable class="parameter">variable</replaceable>
7852 </arg>
7853 </cmdsynopsis>
7854 </listitem>
7855
7856 <listitem>
7857 <cmdsynopsis>
7858 <command><link linkend="unhook">unhook</link></command>
7859 <group choice="req">
7860 <arg choice="plain">
7861 <replaceable class="parameter">*</replaceable>
7862 </arg>
7863 <arg choice="plain">
7864 <replaceable class="parameter">hook-type</replaceable>
7865 </arg>
7866 </group>
7867 </cmdsynopsis>
7868 </listitem>
7869
7870 </itemizedlist>
7871
7872 </sect1>
7873
7874 <sect1 id="variables">
7875 <title>Configuration variables</title>
7876
7877 <sect2 id="abort-nosubject">
7878 <title>abort&lowbar;nosubject</title>
7879 <literallayout>Type: quadoption
7880 Default: ask-yes</literallayout>
7881
7882 <para>
7883 If set to <emphasis>yes</emphasis>, when composing messages and no subject is given
7884 at the subject prompt, composition will be aborted.  If set to
7885 <emphasis>no</emphasis>, composing messages with no subject given at the subject
7886 prompt will never be aborted.
7887 </para>
7888 </sect2>
7889
7890 <sect2 id="abort-unmodified">
7891 <title>abort&lowbar;unmodified</title>
7892 <literallayout>Type: quadoption
7893 Default: yes</literallayout>
7894
7895 <para>
7896 If set to <emphasis>yes</emphasis>, composition will automatically abort after
7897 editing the message body if no changes are made to the file (this
7898 check only happens after the <emphasis>first</emphasis> edit of the file).  When set
7899 to <emphasis>no</emphasis>, composition will never be aborted.
7900 </para>
7901 </sect2>
7902
7903 <sect2 id="alias-file">
7904 <title>alias&lowbar;file</title>
7905 <literallayout>Type: path
7906 Default: <quote><literal>&tilde;/.muttrc</literal></quote></literallayout>
7907
7908 <para>
7909 The default file in which to save aliases created by the
7910 <literal><link linkend="create-alias">&lt;create-alias&gt;</link></literal> function. Entries added to this file are
7911 encoded in the character set specified by <link linkend="config-charset">&dollar;config&lowbar;charset</link> if it
7912 is <emphasis>set</emphasis> or the current character set otherwise.
7913 </para>
7914 <para>
7915 <emphasis role="bold">Note:</emphasis> Mutt will not automatically source this file; you must
7916 explicitly use the <quote><link linkend="source">source</link></quote> command for it to be executed in case
7917 this option points to a dedicated alias file.
7918 </para>
7919 <para>
7920 The default for this option is the currently used muttrc file, or
7921 <quote>&tilde;/.muttrc</quote> if no user muttrc was found.
7922 </para>
7923 </sect2>
7924
7925 <sect2 id="alias-format">
7926 <title>alias&lowbar;format</title>
7927 <literallayout>Type: string
7928 Default: <quote><literal>&percnt;4n &percnt;2f &percnt;t &percnt;-10a   &percnt;r</literal></quote></literallayout>
7929
7930 <para>
7931 Specifies the format of the data displayed for the <quote><link linkend="alias">alias</link></quote> menu.  The
7932 following <literal>printf(3)</literal>-style sequences are available:
7933
7934 </para>
7935
7936 <variablelist>
7937 <varlistentry><term>&percnt;a </term>
7938 <listitem><para>alias name
7939 </para></listitem></varlistentry>
7940 <varlistentry><term>&percnt;f </term>
7941 <listitem><para>flags - currently, a <quote>d</quote> for an alias marked for deletion
7942 </para></listitem></varlistentry>
7943 <varlistentry><term>&percnt;n </term>
7944 <listitem><para>index number
7945 </para></listitem></varlistentry>
7946 <varlistentry><term>&percnt;r </term>
7947 <listitem><para>address which alias expands to
7948 </para></listitem></varlistentry>
7949 <varlistentry><term>&percnt;t </term>
7950 <listitem><para>character which indicates if the alias is tagged for inclusion
7951 </para></listitem></varlistentry></variablelist>
7952 </sect2>
7953
7954 <sect2 id="allow-8bit">
7955 <title>allow&lowbar;8bit</title>
7956 <literallayout>Type: boolean
7957 Default: yes</literallayout>
7958
7959 <para>
7960 Controls whether 8-bit data is converted to 7-bit using either Quoted-
7961 Printable or Base64 encoding when sending mail.
7962 </para>
7963 </sect2>
7964
7965 <sect2 id="allow-ansi">
7966 <title>allow&lowbar;ansi</title>
7967 <literallayout>Type: boolean
7968 Default: no</literallayout>
7969
7970 <para>
7971 Controls whether ANSI color codes in messages (and color tags in
7972 rich text messages) are to be interpreted.
7973 Messages containing these codes are rare, but if this option is <emphasis>set</emphasis>,
7974 their text will be colored accordingly. Note that this may override
7975 your color choices, and even present a security problem, since a
7976 message could include a line like
7977
7978 </para>
7979
7980 <screen>
7981 [-- PGP output follows ...
7982
7983 </screen><para>
7984 and give it the same color as your attachment color (see also
7985 <link linkend="crypt-timestamp">&dollar;crypt&lowbar;timestamp</link>).
7986 </para>
7987 </sect2>
7988
7989 <sect2 id="arrow-cursor">
7990 <title>arrow&lowbar;cursor</title>
7991 <literallayout>Type: boolean
7992 Default: no</literallayout>
7993
7994 <para>
7995 When <emphasis>set</emphasis>, an arrow (<quote>-&gt;</quote>) will be used to indicate the current entry
7996 in menus instead of highlighting the whole line.  On slow network or modem
7997 links this will make response faster because there is less that has to
7998 be redrawn on the screen when moving to the next or previous entries
7999 in the menu.
8000 </para>
8001 </sect2>
8002
8003 <sect2 id="ascii-chars">
8004 <title>ascii&lowbar;chars</title>
8005 <literallayout>Type: boolean
8006 Default: no</literallayout>
8007
8008 <para>
8009 If <emphasis>set</emphasis>, Mutt will use plain ASCII characters when displaying thread
8010 and attachment trees, instead of the default <emphasis>ACS</emphasis> characters.
8011 </para>
8012 </sect2>
8013
8014 <sect2 id="askbcc">
8015 <title>askbcc</title>
8016 <literallayout>Type: boolean
8017 Default: no</literallayout>
8018
8019 <para>
8020 If <emphasis>set</emphasis>, Mutt will prompt you for blind-carbon-copy (Bcc) recipients
8021 before editing an outgoing message.
8022 </para>
8023 </sect2>
8024
8025 <sect2 id="askcc">
8026 <title>askcc</title>
8027 <literallayout>Type: boolean
8028 Default: no</literallayout>
8029
8030 <para>
8031 If <emphasis>set</emphasis>, Mutt will prompt you for carbon-copy (Cc) recipients before
8032 editing the body of an outgoing message.
8033 </para>
8034 </sect2>
8035
8036 <sect2 id="assumed-charset">
8037 <title>assumed&lowbar;charset</title>
8038 <literallayout>Type: string
8039 Default: (empty)</literallayout>
8040
8041 <para>
8042 This variable is a colon-separated list of character encoding
8043 schemes for messages without character encoding indication.
8044 Header field values and message body content without character encoding
8045 indication would be assumed that they are written in one of this list.
8046 By default, all the header fields and message body without any charset
8047 indication are assumed to be in <quote>us-ascii</quote>.
8048 </para>
8049 <para>
8050 For example, Japanese users might prefer this:
8051
8052 </para>
8053
8054 <screen>
8055 set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
8056
8057 </screen><para>
8058 However, only the first content is valid for the message body.
8059 </para>
8060 </sect2>
8061
8062 <sect2 id="attach-charset">
8063 <title>attach&lowbar;charset</title>
8064 <literallayout>Type: string
8065 Default: (empty)</literallayout>
8066
8067 <para>
8068 This variable is a colon-separated list of character encoding
8069 schemes for text file attachments. Mutt uses this setting to guess
8070 which encoding files being attached are encoded in to convert them to
8071 a proper character set given in <link linkend="send-charset">&dollar;send&lowbar;charset</link>.
8072 </para>
8073 <para>
8074 If <emphasis>unset</emphasis>, the value of <link linkend="charset">&dollar;charset</link> will be used instead.
8075 For example, the following configuration would work for Japanese
8076 text handling:
8077
8078 </para>
8079
8080 <screen>
8081 set attach_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
8082
8083 </screen><para>
8084 Note: for Japanese users, <quote>iso-2022-*</quote> must be put at the head
8085 of the value as shown above if included.
8086 </para>
8087 </sect2>
8088
8089 <sect2 id="attach-format">
8090 <title>attach&lowbar;format</title>
8091 <literallayout>Type: string
8092 Default: <quote><literal>&percnt;u&percnt;D&percnt;I &percnt;t&percnt;4n &percnt;T&percnt;.40d&percnt;&gt; &lsqb;&percnt;.7m/&percnt;.10M, &percnt;.6e&percnt;?C?, &percnt;C?, &percnt;s&rsqb; </literal></quote></literallayout>
8093
8094 <para>
8095 This variable describes the format of the <quote>attachment</quote> menu.  The
8096 following <literal>printf(3)</literal>-style sequences are understood:
8097
8098 </para>
8099
8100 <variablelist>
8101 <varlistentry><term>&percnt;C  </term>
8102 <listitem><para>charset
8103 </para></listitem></varlistentry>
8104 <varlistentry><term>&percnt;c  </term>
8105 <listitem><para>requires charset conversion (<quote>n</quote> or <quote>c</quote>)
8106 </para></listitem></varlistentry>
8107 <varlistentry><term>&percnt;D  </term>
8108 <listitem><para>deleted flag
8109 </para></listitem></varlistentry>
8110 <varlistentry><term>&percnt;d  </term>
8111 <listitem><para>description
8112 </para></listitem></varlistentry>
8113 <varlistentry><term>&percnt;e  </term>
8114 <listitem><para>MIME content-transfer-encoding
8115 </para></listitem></varlistentry>
8116 <varlistentry><term>&percnt;f  </term>
8117 <listitem><para>filename
8118 </para></listitem></varlistentry>
8119 <varlistentry><term>&percnt;I  </term>
8120 <listitem><para>disposition (<quote>I</quote> for inline, <quote>A</quote> for attachment)
8121 </para></listitem></varlistentry>
8122 <varlistentry><term>&percnt;m  </term>
8123 <listitem><para>major MIME type
8124 </para></listitem></varlistentry>
8125 <varlistentry><term>&percnt;M  </term>
8126 <listitem><para>MIME subtype
8127 </para></listitem></varlistentry>
8128 <varlistentry><term>&percnt;n  </term>
8129 <listitem><para>attachment number
8130 </para></listitem></varlistentry>
8131 <varlistentry><term>&percnt;Q  </term>
8132 <listitem><para><quote>Q</quote>, if MIME part qualifies for attachment counting
8133 </para></listitem></varlistentry>
8134 <varlistentry><term>&percnt;s  </term>
8135 <listitem><para>size
8136 </para></listitem></varlistentry>
8137 <varlistentry><term>&percnt;t  </term>
8138 <listitem><para>tagged flag
8139 </para></listitem></varlistentry>
8140 <varlistentry><term>&percnt;T  </term>
8141 <listitem><para>graphic tree characters
8142 </para></listitem></varlistentry>
8143 <varlistentry><term>&percnt;u  </term>
8144 <listitem><para>unlink (=to delete) flag
8145 </para></listitem></varlistentry>
8146 <varlistentry><term>&percnt;X  </term>
8147 <listitem><para>number of qualifying MIME parts in this part and its children
8148 (please see the <quote><link linkend="attachments">attachments</link></quote> section for possible speed effects)
8149 </para></listitem></varlistentry>
8150 <varlistentry><term>&percnt;&gt;X </term>
8151 <listitem><para>right justify the rest of the string and pad with character <quote>X</quote>
8152 </para></listitem></varlistentry>
8153 <varlistentry><term>&percnt;&verbar;X </term>
8154 <listitem><para>pad to the end of the line with character <quote>X</quote>
8155 </para></listitem></varlistentry>
8156 <varlistentry><term>&percnt;*X </term>
8157 <listitem><para>soft-fill with character <quote>X</quote> as pad
8158 </para></listitem></varlistentry></variablelist>
8159
8160 <para>
8161 For an explanation of <quote>soft-fill</quote>, see the <link linkend="index-format">&dollar;index&lowbar;format</link> documentation.
8162 </para>
8163 </sect2>
8164
8165 <sect2 id="attach-sep">
8166 <title>attach&lowbar;sep</title>
8167 <literallayout>Type: string
8168 Default: <quote><literal>&bsol;n</literal></quote></literallayout>
8169
8170 <para>
8171 The separator to add between attachments when operating (saving,
8172 printing, piping, etc) on a list of tagged attachments.
8173 </para>
8174 </sect2>
8175
8176 <sect2 id="attach-split">
8177 <title>attach&lowbar;split</title>
8178 <literallayout>Type: boolean
8179 Default: yes</literallayout>
8180
8181 <para>
8182 If this variable is <emphasis>unset</emphasis>, when operating (saving, printing, piping,
8183 etc) on a list of tagged attachments, Mutt will concatenate the
8184 attachments and will operate on them as a single attachment. The
8185 <link linkend="attach-sep">&dollar;attach&lowbar;sep</link> separator is added after each attachment. When <emphasis>set</emphasis>,
8186 Mutt will operate on the attachments one by one.
8187 </para>
8188 </sect2>
8189
8190 <sect2 id="attribution">
8191 <title>attribution</title>
8192 <literallayout>Type: string
8193 Default: <quote><literal>On &percnt;d, &percnt;n wrote:</literal></quote></literallayout>
8194
8195 <para>
8196 This is the string that will precede a message which has been included
8197 in a reply.  For a full listing of defined <literal>printf(3)</literal>-like sequences see
8198 the section on <link linkend="index-format">&dollar;index&lowbar;format</link>.
8199 </para>
8200 </sect2>
8201
8202 <sect2 id="autoedit">
8203 <title>autoedit</title>
8204 <literallayout>Type: boolean
8205 Default: no</literallayout>
8206
8207 <para>
8208 When <emphasis>set</emphasis> along with <link linkend="edit-headers">&dollar;edit&lowbar;headers</link>, Mutt will skip the initial
8209 send-menu (prompting for subject and recipients) and allow you to
8210 immediately begin editing the body of your
8211 message.  The send-menu may still be accessed once you have finished
8212 editing the body of your message.
8213 </para>
8214 <para>
8215 Also see <link linkend="fast-reply">&dollar;fast&lowbar;reply</link>.
8216 </para>
8217 </sect2>
8218
8219 <sect2 id="auto-tag">
8220 <title>auto&lowbar;tag</title>
8221 <literallayout>Type: boolean
8222 Default: no</literallayout>
8223
8224 <para>
8225 When <emphasis>set</emphasis>, functions in the <emphasis>index</emphasis> menu which affect a message
8226 will be applied to all tagged messages (if there are any).  When
8227 unset, you must first use the <literal>&lt;tag-prefix&gt;</literal> function (bound to <quote>;</quote>
8228 by default) to make the next function apply to all tagged messages.
8229 </para>
8230 </sect2>
8231
8232 <sect2 id="beep">
8233 <title>beep</title>
8234 <literallayout>Type: boolean
8235 Default: yes</literallayout>
8236
8237 <para>
8238 When this variable is <emphasis>set</emphasis>, mutt will beep when an error occurs.
8239 </para>
8240 </sect2>
8241
8242 <sect2 id="beep-new">
8243 <title>beep&lowbar;new</title>
8244 <literallayout>Type: boolean
8245 Default: no</literallayout>
8246
8247 <para>
8248 When this variable is <emphasis>set</emphasis>, mutt will beep whenever it prints a message
8249 notifying you of new mail.  This is independent of the setting of the
8250 <link linkend="beep">&dollar;beep</link> variable.
8251 </para>
8252 </sect2>
8253
8254 <sect2 id="bounce">
8255 <title>bounce</title>
8256 <literallayout>Type: quadoption
8257 Default: ask-yes</literallayout>
8258
8259 <para>
8260 Controls whether you will be asked to confirm bouncing messages.
8261 If set to <emphasis>yes</emphasis> you don't get asked if you want to bounce a
8262 message. Setting this variable to <emphasis>no</emphasis> is not generally useful,
8263 and thus not recommended, because you are unable to bounce messages.
8264 </para>
8265 </sect2>
8266
8267 <sect2 id="bounce-delivered">
8268 <title>bounce&lowbar;delivered</title>
8269 <literallayout>Type: boolean
8270 Default: yes</literallayout>
8271
8272 <para>
8273 When this variable is <emphasis>set</emphasis>, mutt will include Delivered-To headers when
8274 bouncing messages.  Postfix users may wish to <emphasis>unset</emphasis> this variable.
8275 </para>
8276 <para>
8277 <emphasis role="bold">Note:</emphasis> On Debian systems, this option is unset by default in
8278 /etc/Muttrc.
8279 </para>
8280 </sect2>
8281
8282 <sect2 id="braille-friendly">
8283 <title>braille&lowbar;friendly</title>
8284 <literallayout>Type: boolean
8285 Default: no</literallayout>
8286
8287 <para>
8288 When this variable is <emphasis>set</emphasis>, mutt will place the cursor at the beginning
8289 of the current line in menus, even when the <link linkend="arrow-cursor">&dollar;arrow&lowbar;cursor</link> variable
8290 is <emphasis>unset</emphasis>, making it easier for blind persons using Braille displays to
8291 follow these menus.  The option is <emphasis>unset</emphasis> by default because many
8292 visual terminals don't permit making the cursor invisible.
8293 </para>
8294 </sect2>
8295
8296 <sect2 id="check-mbox-size">
8297 <title>check&lowbar;mbox&lowbar;size</title>
8298 <literallayout>Type: boolean
8299 Default: no</literallayout>
8300
8301 <para>
8302 When this variable is <emphasis>set</emphasis>, mutt will use file size attribute instead of
8303 access time when checking for new mail in mbox and mmdf folders.
8304 </para>
8305 <para>
8306 This variable is <emphasis>unset</emphasis> by default and should only be enabled when
8307 new mail detection for these folder types is unreliable or doesn't work.
8308 </para>
8309 <para>
8310 Note that enabling this variable should happen before any <quote><link linkend="mailboxes">mailboxes</link></quote>
8311 directives occur in configuration files regarding mbox or mmdf folders
8312 because mutt needs to determine the initial new mail status of such a
8313 mailbox by performing a fast mailbox scan when it is defined.
8314 Afterwards the new mail status is tracked by file size changes.
8315 </para>
8316 </sect2>
8317
8318 <sect2 id="charset">
8319 <title>charset</title>
8320 <literallayout>Type: string
8321 Default: (empty)</literallayout>
8322
8323 <para>
8324 Character set your terminal uses to display and enter textual data.
8325 It is also the fallback for <link linkend="send-charset">&dollar;send&lowbar;charset</link>.
8326 </para>
8327 <para>
8328 Upon startup Mutt tries to derive this value from environment variables
8329 such as <literal>&dollar;LC&lowbar;CTYPE</literal> or <literal>&dollar;LANG</literal>.
8330 </para>
8331 <para>
8332 <emphasis role="bold">Note:</emphasis> It should only be set in case Mutt isn't abled to determine the
8333 character set used correctly.
8334 </para>
8335 </sect2>
8336
8337 <sect2 id="check-new">
8338 <title>check&lowbar;new</title>
8339 <literallayout>Type: boolean
8340 Default: yes</literallayout>
8341
8342 <para>
8343 <emphasis role="bold">Note:</emphasis> this option only affects <emphasis>maildir</emphasis> and <emphasis>MH</emphasis> style
8344 mailboxes.
8345 </para>
8346 <para>
8347 When <emphasis>set</emphasis>, Mutt will check for new mail delivered while the
8348 mailbox is open.  Especially with MH mailboxes, this operation can
8349 take quite some time since it involves scanning the directory and
8350 checking each file to see if it has already been looked at.  If
8351 this variable is <emphasis>unset</emphasis>, no check for new mail is performed
8352 while the mailbox is open.
8353 </para>
8354 </sect2>
8355
8356 <sect2 id="collapse-unread">
8357 <title>collapse&lowbar;unread</title>
8358 <literallayout>Type: boolean
8359 Default: yes</literallayout>
8360
8361 <para>
8362 When <emphasis>unset</emphasis>, Mutt will not collapse a thread if it contains any
8363 unread messages.
8364 </para>
8365 </sect2>
8366
8367 <sect2 id="uncollapse-jump">
8368 <title>uncollapse&lowbar;jump</title>
8369 <literallayout>Type: boolean
8370 Default: no</literallayout>
8371
8372 <para>
8373 When <emphasis>set</emphasis>, Mutt will jump to the next unread message, if any,
8374 when the current thread is <emphasis>un</emphasis>collapsed.
8375 </para>
8376 </sect2>
8377
8378 <sect2 id="compose-format">
8379 <title>compose&lowbar;format</title>
8380 <literallayout>Type: string
8381 Default: <quote><literal>-- Mutt: Compose  &lsqb;Approx. msg size: &percnt;l   Atts: &percnt;a&rsqb;&percnt;&gt;-</literal></quote></literallayout>
8382
8383 <para>
8384 Controls the format of the status line displayed in the <quote>compose</quote>
8385 menu.  This string is similar to <link linkend="status-format">&dollar;status&lowbar;format</link>, but has its own
8386 set of <literal>printf(3)</literal>-like sequences:
8387
8388 </para>
8389
8390 <variablelist>
8391 <varlistentry><term>&percnt;a </term>
8392 <listitem><para>total number of attachments
8393 </para></listitem></varlistentry>
8394 <varlistentry><term>&percnt;h </term>
8395 <listitem><para>local hostname
8396 </para></listitem></varlistentry>
8397 <varlistentry><term>&percnt;l </term>
8398 <listitem><para>approximate size (in bytes) of the current message
8399 </para></listitem></varlistentry>
8400 <varlistentry><term>&percnt;v </term>
8401 <listitem><para>Mutt version string
8402 </para></listitem></varlistentry></variablelist>
8403
8404 <para>
8405 See the text describing the <link linkend="status-format">&dollar;status&lowbar;format</link> option for more
8406 information on how to set <link linkend="compose-format">&dollar;compose&lowbar;format</link>.
8407 </para>
8408 </sect2>
8409
8410 <sect2 id="config-charset">
8411 <title>config&lowbar;charset</title>
8412 <literallayout>Type: string
8413 Default: (empty)</literallayout>
8414
8415 <para>
8416 When defined, Mutt will recode commands in rc files from this
8417 encoding to the current character set as specified by <link linkend="charset">&dollar;charset</link>
8418 and aliases written to <link linkend="alias-file">&dollar;alias&lowbar;file</link> from the current character set.
8419 </para>
8420 <para>
8421 Please note that if setting <link linkend="charset">&dollar;charset</link> it must be done before
8422 setting <link linkend="config-charset">&dollar;config&lowbar;charset</link>.
8423 </para>
8424 <para>
8425 Recoding should be avoided as it may render unconvertable
8426 characters as question marks which can lead to undesired
8427 side effects (for example in regular expressions).
8428 </para>
8429 </sect2>
8430
8431 <sect2 id="confirmappend">
8432 <title>confirmappend</title>
8433 <literallayout>Type: boolean
8434 Default: yes</literallayout>
8435
8436 <para>
8437 When <emphasis>set</emphasis>, Mutt will prompt for confirmation when appending messages to
8438 an existing mailbox.
8439 </para>
8440 </sect2>
8441
8442 <sect2 id="confirmcreate">
8443 <title>confirmcreate</title>
8444 <literallayout>Type: boolean
8445 Default: yes</literallayout>
8446
8447 <para>
8448 When <emphasis>set</emphasis>, Mutt will prompt for confirmation when saving messages to a
8449 mailbox which does not yet exist before creating it.
8450 </para>
8451 </sect2>
8452
8453 <sect2 id="connect-timeout">
8454 <title>connect&lowbar;timeout</title>
8455 <literallayout>Type: number
8456 Default: 30</literallayout>
8457
8458 <para>
8459 Causes Mutt to timeout a network connection (for IMAP, POP or SMTP) after this
8460 many seconds if the connection is not able to be established.  A negative
8461 value causes Mutt to wait indefinitely for the connection attempt to succeed.
8462 </para>
8463 </sect2>
8464
8465 <sect2 id="content-type">
8466 <title>content&lowbar;type</title>
8467 <literallayout>Type: string
8468 Default: <quote><literal>text/plain</literal></quote></literallayout>
8469
8470 <para>
8471 Sets the default Content-Type for the body of newly composed messages.
8472 </para>
8473 </sect2>
8474
8475 <sect2 id="copy">
8476 <title>copy</title>
8477 <literallayout>Type: quadoption
8478 Default: yes</literallayout>
8479
8480 <para>
8481 This variable controls whether or not copies of your outgoing messages
8482 will be saved for later references.  Also see <link linkend="record">&dollar;record</link>,
8483 <link linkend="save-name">&dollar;save&lowbar;name</link>, <link linkend="force-name">&dollar;force&lowbar;name</link> and <quote><link linkend="fcc-hook">fcc-hook</link></quote>.
8484 </para>
8485 </sect2>
8486
8487 <sect2 id="crypt-use-gpgme">
8488 <title>crypt&lowbar;use&lowbar;gpgme</title>
8489 <literallayout>Type: boolean
8490 Default: no</literallayout>
8491
8492 <para>
8493 This variable controls the use of the GPGME-enabled crypto backends.
8494 If it is <emphasis>set</emphasis> and Mutt was built with gpgme support, the gpgme code for
8495 S/MIME and PGP will be used instead of the classic code.  Note that
8496 you need to set this option in .muttrc; it won't have any effect when
8497 used interactively.
8498 </para>
8499 </sect2>
8500
8501 <sect2 id="crypt-use-pka">
8502 <title>crypt&lowbar;use&lowbar;pka</title>
8503 <literallayout>Type: boolean
8504 Default: no</literallayout>
8505
8506 <para>
8507 Controls whether mutt uses PKA
8508 (see http://www.g10code.de/docs/pka-intro.de.pdf) during signature
8509 verification (only supported by the GPGME backend).
8510 </para>
8511 </sect2>
8512
8513 <sect2 id="crypt-autopgp">
8514 <title>crypt&lowbar;autopgp</title>
8515 <literallayout>Type: boolean
8516 Default: yes</literallayout>
8517
8518 <para>
8519 This variable controls whether or not mutt may automatically enable
8520 PGP encryption/signing for messages.  See also <link linkend="crypt-autoencrypt">&dollar;crypt&lowbar;autoencrypt</link>,
8521 <link linkend="crypt-replyencrypt">&dollar;crypt&lowbar;replyencrypt</link>,
8522 <link linkend="crypt-autosign">&dollar;crypt&lowbar;autosign</link>, <link linkend="crypt-replysign">&dollar;crypt&lowbar;replysign</link> and <link linkend="smime-is-default">&dollar;smime&lowbar;is&lowbar;default</link>.
8523 </para>
8524 </sect2>
8525
8526 <sect2 id="crypt-autosmime">
8527 <title>crypt&lowbar;autosmime</title>
8528 <literallayout>Type: boolean
8529 Default: yes</literallayout>
8530
8531 <para>
8532 This variable controls whether or not mutt may automatically enable
8533 S/MIME encryption/signing for messages. See also <link linkend="crypt-autoencrypt">&dollar;crypt&lowbar;autoencrypt</link>,
8534 <link linkend="crypt-replyencrypt">&dollar;crypt&lowbar;replyencrypt</link>,
8535 <link linkend="crypt-autosign">&dollar;crypt&lowbar;autosign</link>, <link linkend="crypt-replysign">&dollar;crypt&lowbar;replysign</link> and <link linkend="smime-is-default">&dollar;smime&lowbar;is&lowbar;default</link>.
8536 </para>
8537 </sect2>
8538
8539 <sect2 id="date-format">
8540 <title>date&lowbar;format</title>
8541 <literallayout>Type: string
8542 Default: <quote><literal>!&percnt;a, &percnt;b &percnt;d, &percnt;Y at &percnt;I:&percnt;M:&percnt;S&percnt;p &percnt;Z</literal></quote></literallayout>
8543
8544 <para>
8545 This variable controls the format of the date printed by the <quote>&percnt;d</quote>
8546 sequence in <link linkend="index-format">&dollar;index&lowbar;format</link>.  This is passed to the <literal>strftime(3)</literal>
8547 function to process the date, see the man page for the proper syntax.
8548 </para>
8549 <para>
8550 Unless the first character in the string is a bang (<quote>!</quote>), the month
8551 and week day names are expanded according to the locale specified in
8552 the variable <link linkend="locale">&dollar;locale</link>. If the first character in the string is a
8553 bang, the bang is discarded, and the month and week day names in the
8554 rest of the string are expanded in the <emphasis>C</emphasis> locale (that is in US
8555 English).
8556 </para>
8557 </sect2>
8558
8559 <sect2 id="default-hook">
8560 <title>default&lowbar;hook</title>
8561 <literallayout>Type: string
8562 Default: <quote><literal>&tilde;f &percnt;s !&tilde;P &verbar; (&tilde;P &tilde;C &percnt;s)</literal></quote></literallayout>
8563
8564 <para>
8565 This variable controls how <quote><link linkend="message-hook">message-hook</link></quote>, <quote><link linkend="reply-hook">reply-hook</link></quote>, <quote><link linkend="send-hook">send-hook</link></quote>,
8566 <quote><link linkend="send2-hook">send2-hook</link></quote>, <quote><link linkend="save-hook">save-hook</link></quote>, and <quote><link linkend="fcc-hook">fcc-hook</link></quote> will
8567 be interpreted if they are specified with only a simple regexp,
8568 instead of a matching pattern.  The hooks are expanded when they are
8569 declared, so a hook will be interpreted according to the value of this
8570 variable at the time the hook is declared.
8571 </para>
8572 <para>
8573 The default value matches
8574 if the message is either from a user matching the regular expression
8575 given, or if it is from you (if the from address matches
8576 <quote><link linkend="alternates">alternates</link></quote>) and is to or cc'ed to a user matching the given
8577 regular expression.
8578 </para>
8579 </sect2>
8580
8581 <sect2 id="delete">
8582 <title>delete</title>
8583 <literallayout>Type: quadoption
8584 Default: ask-yes</literallayout>
8585
8586 <para>
8587 Controls whether or not messages are really deleted when closing or
8588 synchronizing a mailbox.  If set to <emphasis>yes</emphasis>, messages marked for
8589 deleting will automatically be purged without prompting.  If set to
8590 <emphasis>no</emphasis>, messages marked for deletion will be kept in the mailbox.
8591 </para>
8592 </sect2>
8593
8594 <sect2 id="delete-untag">
8595 <title>delete&lowbar;untag</title>
8596 <literallayout>Type: boolean
8597 Default: yes</literallayout>
8598
8599 <para>
8600 If this option is <emphasis>set</emphasis>, mutt will untag messages when marking them
8601 for deletion.  This applies when you either explicitly delete a message,
8602 or when you save it to another folder.
8603 </para>
8604 </sect2>
8605
8606 <sect2 id="digest-collapse">
8607 <title>digest&lowbar;collapse</title>
8608 <literallayout>Type: boolean
8609 Default: yes</literallayout>
8610
8611 <para>
8612 If this option is <emphasis>set</emphasis>, mutt's received-attachments menu will not show the subparts of
8613 individual messages in a multipart/digest.  To see these subparts, press <quote>v</quote> on that menu.
8614 </para>
8615 </sect2>
8616
8617 <sect2 id="display-filter">
8618 <title>display&lowbar;filter</title>
8619 <literallayout>Type: path
8620 Default: (empty)</literallayout>
8621
8622 <para>
8623 When set, specifies a command used to filter messages.  When a message
8624 is viewed it is passed as standard input to <link linkend="display-filter">&dollar;display&lowbar;filter</link>, and the
8625 filtered message is read from the standard output.
8626 </para>
8627 </sect2>
8628
8629 <sect2 id="dotlock-program">
8630 <title>dotlock&lowbar;program</title>
8631 <literallayout>Type: path
8632 Default: <quote><literal>/usr/bin/mutt&lowbar;dotlock</literal></quote></literallayout>
8633
8634 <para>
8635 Contains the path of the <literal>mutt&lowbar;dotlock(8)</literal> binary to be used by
8636 mutt.
8637 </para>
8638 </sect2>
8639
8640 <sect2 id="dsn-notify">
8641 <title>dsn&lowbar;notify</title>
8642 <literallayout>Type: string
8643 Default: (empty)</literallayout>
8644
8645 <para>
8646 This variable sets the request for when notification is returned.  The
8647 string consists of a comma separated list (no spaces!) of one or more
8648 of the following: <emphasis>never</emphasis>, to never request notification,
8649 <emphasis>failure</emphasis>, to request notification on transmission failure,
8650 <emphasis>delay</emphasis>, to be notified of message delays, <emphasis>success</emphasis>, to be
8651 notified of successful transmission.
8652 </para>
8653 <para>
8654 Example:
8655
8656 </para>
8657
8658 <screen>
8659 set dsn_notify="failure,delay"
8660
8661 </screen><para>
8662 <emphasis role="bold">Note:</emphasis> when using <link linkend="sendmail">&dollar;sendmail</link> for delivery, you should not enable
8663 this unless you are either using Sendmail 8.8.x or greater or a MTA
8664 providing a <literal>sendmail(1)</literal>-compatible interface supporting the <literal>-N</literal> option
8665 for DSN. For SMTP delivery, DSN support is autodetected so that it
8666 depends on the server whether DSN will be used or not.
8667 </para>
8668 </sect2>
8669
8670 <sect2 id="dsn-return">
8671 <title>dsn&lowbar;return</title>
8672 <literallayout>Type: string
8673 Default: (empty)</literallayout>
8674
8675 <para>
8676 This variable controls how much of your message is returned in DSN
8677 messages.  It may be set to either <emphasis>hdrs</emphasis> to return just the
8678 message header, or <emphasis>full</emphasis> to return the full message.
8679 </para>
8680 <para>
8681 Example:
8682
8683 </para>
8684
8685 <screen>
8686 set dsn_return=hdrs
8687
8688 </screen><para>
8689 <emphasis role="bold">Note:</emphasis> when using <link linkend="sendmail">&dollar;sendmail</link> for delivery, you should not enable
8690 this unless you are either using Sendmail 8.8.x or greater or a MTA
8691 providing a <literal>sendmail(1)</literal>-compatible interface supporting the <literal>-R</literal> option
8692 for DSN. For SMTP delivery, DSN support is autodetected so that it
8693 depends on the server whether DSN will be used or not.
8694 </para>
8695 </sect2>
8696
8697 <sect2 id="duplicate-threads">
8698 <title>duplicate&lowbar;threads</title>
8699 <literallayout>Type: boolean
8700 Default: yes</literallayout>
8701
8702 <para>
8703 This variable controls whether mutt, when <link linkend="sort">&dollar;sort</link> is set to <emphasis>threads</emphasis>, threads
8704 messages with the same Message-Id together.  If it is <emphasis>set</emphasis>, it will indicate
8705 that it thinks they are duplicates of each other with an equals sign
8706 in the thread tree.
8707 </para>
8708 </sect2>
8709
8710 <sect2 id="edit-headers">
8711 <title>edit&lowbar;headers</title>
8712 <literallayout>Type: boolean
8713 Default: no</literallayout>
8714
8715 <para>
8716 This option allows you to edit the header of your outgoing messages
8717 along with the body of your message.
8718 </para>
8719 <para>
8720 <emphasis role="bold">Note</emphasis> that changes made to the References: and Date: headers are
8721 ignored for interoperability reasons.
8722 </para>
8723 </sect2>
8724
8725 <sect2 id="editor">
8726 <title>editor</title>
8727 <literallayout>Type: path
8728 Default: (empty)</literallayout>
8729
8730 <para>
8731 This variable specifies which editor is used by mutt.
8732 It defaults to the value of the <literal>&dollar;VISUAL</literal>, or <literal>&dollar;EDITOR</literal>, environment
8733 variable, or to the string <quote>/usr/bin/editor</quote> if neither of those are set.
8734 </para>
8735 </sect2>
8736
8737 <sect2 id="encode-from">
8738 <title>encode&lowbar;from</title>
8739 <literallayout>Type: boolean
8740 Default: no</literallayout>
8741
8742 <para>
8743 When <emphasis>set</emphasis>, mutt will quoted-printable encode messages when
8744 they contain the string <quote>From </quote> (note the trailing space) in the beginning of a line.
8745 This is useful to avoid the tampering certain mail delivery and transport
8746 agents tend to do with messages (in order to prevent tools from
8747 misinterpreting the line as a mbox message separator).
8748 </para>
8749 </sect2>
8750
8751 <sect2 id="envelope-from-address">
8752 <title>envelope&lowbar;from&lowbar;address</title>
8753 <literallayout>Type: e-mail address
8754 Default: (empty)</literallayout>
8755
8756 <para>
8757 Manually sets the <emphasis>envelope</emphasis> sender for outgoing messages.
8758 This value is ignored if <link linkend="use-envelope-from">&dollar;use&lowbar;envelope&lowbar;from</link> is <emphasis>unset</emphasis>.
8759 </para>
8760 </sect2>
8761
8762 <sect2 id="escape">
8763 <title>escape</title>
8764 <literallayout>Type: string
8765 Default: <quote><literal>&tilde;</literal></quote></literallayout>
8766
8767 <para>
8768 Escape character to use for functions in the builtin editor.
8769 </para>
8770 </sect2>
8771
8772 <sect2 id="fast-reply">
8773 <title>fast&lowbar;reply</title>
8774 <literallayout>Type: boolean
8775 Default: no</literallayout>
8776
8777 <para>
8778 When <emphasis>set</emphasis>, the initial prompt for recipients and subject are skipped
8779 when replying to messages, and the initial prompt for subject is
8780 skipped when forwarding messages.
8781 </para>
8782 <para>
8783 <emphasis role="bold">Note:</emphasis> this variable has no effect when the <link linkend="autoedit">&dollar;autoedit</link>
8784 variable is <emphasis>set</emphasis>.
8785 </para>
8786 </sect2>
8787
8788 <sect2 id="fcc-attach">
8789 <title>fcc&lowbar;attach</title>
8790 <literallayout>Type: boolean
8791 Default: yes</literallayout>
8792
8793 <para>
8794 This variable controls whether or not attachments on outgoing messages
8795 are saved along with the main body of your message.
8796 </para>
8797 </sect2>
8798
8799 <sect2 id="fcc-clear">
8800 <title>fcc&lowbar;clear</title>
8801 <literallayout>Type: boolean
8802 Default: no</literallayout>
8803
8804 <para>
8805 When this variable is <emphasis>set</emphasis>, FCCs will be stored unencrypted and
8806 unsigned, even when the actual message is encrypted and/or
8807 signed.
8808 (PGP only)
8809 </para>
8810 </sect2>
8811
8812 <sect2 id="folder">
8813 <title>folder</title>
8814 <literallayout>Type: path
8815 Default: <quote><literal>&tilde;/Mail</literal></quote></literallayout>
8816
8817 <para>
8818 Specifies the default location of your mailboxes.  A <quote>+</quote> or <quote>=</quote> at the
8819 beginning of a pathname will be expanded to the value of this
8820 variable.  Note that if you change this variable (from the default)
8821 value you need to make sure that the assignment occurs <emphasis>before</emphasis>
8822 you use <quote>+</quote> or <quote>=</quote> for any other variables since expansion takes place
8823 when handling the <quote><link linkend="mailboxes">mailboxes</link></quote> command.
8824 </para>
8825 </sect2>
8826
8827 <sect2 id="folder-format">
8828 <title>folder&lowbar;format</title>
8829 <literallayout>Type: string
8830 Default: <quote><literal>&percnt;2C &percnt;t &percnt;N &percnt;F &percnt;2l &percnt;-8.8u &percnt;-8.8g &percnt;8s &percnt;d &percnt;f</literal></quote></literallayout>
8831
8832 <para>
8833 This variable allows you to customize the file browser display to your
8834 personal taste.  This string is similar to <link linkend="index-format">&dollar;index&lowbar;format</link>, but has
8835 its own set of <literal>printf(3)</literal>-like sequences:
8836
8837 </para>
8838
8839 <variablelist>
8840 <varlistentry><term>&percnt;C  </term>
8841 <listitem><para>current file number
8842 </para></listitem></varlistentry>
8843 <varlistentry><term>&percnt;d  </term>
8844 <listitem><para>date/time folder was last modified
8845 </para></listitem></varlistentry>
8846 <varlistentry><term>&percnt;f  </term>
8847 <listitem><para>filename
8848 </para></listitem></varlistentry>
8849 <varlistentry><term>&percnt;F  </term>
8850 <listitem><para>file permissions
8851 </para></listitem></varlistentry>
8852 <varlistentry><term>&percnt;g  </term>
8853 <listitem><para>group name (or numeric gid, if missing)
8854 </para></listitem></varlistentry>
8855 <varlistentry><term>&percnt;l  </term>
8856 <listitem><para>number of hard links
8857 </para></listitem></varlistentry>
8858 <varlistentry><term>&percnt;N  </term>
8859 <listitem><para>N if folder has new mail, blank otherwise
8860 </para></listitem></varlistentry>
8861 <varlistentry><term>&percnt;s  </term>
8862 <listitem><para>size in bytes
8863 </para></listitem></varlistentry>
8864 <varlistentry><term>&percnt;t  </term>
8865 <listitem><para><quote>*</quote> if the file is tagged, blank otherwise
8866 </para></listitem></varlistentry>
8867 <varlistentry><term>&percnt;u  </term>
8868 <listitem><para>owner name (or numeric uid, if missing)
8869 </para></listitem></varlistentry>
8870 <varlistentry><term>&percnt;&gt;X </term>
8871 <listitem><para>right justify the rest of the string and pad with character <quote>X</quote>
8872 </para></listitem></varlistentry>
8873 <varlistentry><term>&percnt;&verbar;X </term>
8874 <listitem><para>pad to the end of the line with character <quote>X</quote>
8875 </para></listitem></varlistentry>
8876 <varlistentry><term>&percnt;*X </term>
8877 <listitem><para>soft-fill with character <quote>X</quote> as pad
8878 </para></listitem></varlistentry></variablelist>
8879
8880 <para>
8881 For an explanation of <quote>soft-fill</quote>, see the <link linkend="index-format">&dollar;index&lowbar;format</link> documentation.
8882 </para>
8883 </sect2>
8884
8885 <sect2 id="followup-to">
8886 <title>followup&lowbar;to</title>
8887 <literallayout>Type: boolean
8888 Default: yes</literallayout>
8889
8890 <para>
8891 Controls whether or not the <quote>Mail-Followup-To:</quote> header field is
8892 generated when sending mail.  When <emphasis>set</emphasis>, Mutt will generate this
8893 field when you are replying to a known mailing list, specified with
8894 the <quote><link linkend="subscribe">subscribe</link></quote> or <quote><link linkend="lists">lists</link></quote> commands.
8895 </para>
8896 <para>
8897 This field has two purposes.  First, preventing you from
8898 receiving duplicate copies of replies to messages which you send
8899 to mailing lists, and second, ensuring that you do get a reply
8900 separately for any messages sent to known lists to which you are
8901 not subscribed.
8902 </para>
8903 <para>
8904 The header will contain only the list's address
8905 for subscribed lists, and both the list address and your own
8906 email address for unsubscribed lists.  Without this header, a
8907 group reply to your message sent to a subscribed list will be
8908 sent to both the list and your address, resulting in two copies
8909 of the same email for you.
8910 </para>
8911 </sect2>
8912
8913 <sect2 id="force-name">
8914 <title>force&lowbar;name</title>
8915 <literallayout>Type: boolean
8916 Default: no</literallayout>
8917
8918 <para>
8919 This variable is similar to <link linkend="save-name">&dollar;save&lowbar;name</link>, except that Mutt will
8920 store a copy of your outgoing message by the username of the address
8921 you are sending to even if that mailbox does not exist.
8922 </para>
8923 <para>
8924 Also see the <link linkend="record">&dollar;record</link> variable.
8925 </para>
8926 </sect2>
8927
8928 <sect2 id="forward-decode">
8929 <title>forward&lowbar;decode</title>
8930 <literallayout>Type: boolean
8931 Default: yes</literallayout>
8932
8933 <para>
8934 Controls the decoding of complex MIME messages into <literal>text/plain</literal> when
8935 forwarding a message.  The message header is also RFC2047 decoded.
8936 This variable is only used, if <link linkend="mime-forward">&dollar;mime&lowbar;forward</link> is <emphasis>unset</emphasis>,
8937 otherwise <link linkend="mime-forward-decode">&dollar;mime&lowbar;forward&lowbar;decode</link> is used instead.
8938 </para>
8939 </sect2>
8940
8941 <sect2 id="forward-edit">
8942 <title>forward&lowbar;edit</title>
8943 <literallayout>Type: quadoption
8944 Default: yes</literallayout>
8945
8946 <para>
8947 This quadoption controls whether or not the user is automatically
8948 placed in the editor when forwarding messages.  For those who always want
8949 to forward with no modification, use a setting of <quote>no</quote>.
8950 </para>
8951 </sect2>
8952
8953 <sect2 id="forward-format">
8954 <title>forward&lowbar;format</title>
8955 <literallayout>Type: string
8956 Default: <quote><literal>&lsqb;&percnt;a: &percnt;s&rsqb;</literal></quote></literallayout>
8957
8958 <para>
8959 This variable controls the default subject when forwarding a message.
8960 It uses the same format sequences as the <link linkend="index-format">&dollar;index&lowbar;format</link> variable.
8961 </para>
8962 </sect2>
8963
8964 <sect2 id="forward-quote">
8965 <title>forward&lowbar;quote</title>
8966 <literallayout>Type: boolean
8967 Default: no</literallayout>
8968
8969 <para>
8970 When <emphasis>set</emphasis>, forwarded messages included in the main body of the
8971 message (when <link linkend="mime-forward">&dollar;mime&lowbar;forward</link> is <emphasis>unset</emphasis>) will be quoted using
8972 <link linkend="indent-string">&dollar;indent&lowbar;string</link>.
8973 </para>
8974 </sect2>
8975
8976 <sect2 id="from">
8977 <title>from</title>
8978 <literallayout>Type: e-mail address
8979 Default: (empty)</literallayout>
8980
8981 <para>
8982 When <emphasis>set</emphasis>, this variable contains a default from address.  It
8983 can be overridden using <quote><link linkend="my-hdr">my&lowbar;hdr</link></quote> (including from a <quote><link linkend="send-hook">send-hook</link></quote>) and
8984 <link linkend="reverse-name">&dollar;reverse&lowbar;name</link>.  This variable is ignored if <link linkend="use-from">&dollar;use&lowbar;from</link> is <emphasis>unset</emphasis>.
8985 </para>
8986 <para>
8987 This setting defaults to the contents of the environment variable <literal>&dollar;EMAIL</literal>.
8988 </para>
8989 </sect2>
8990
8991 <sect2 id="gecos-mask">
8992 <title>gecos&lowbar;mask</title>
8993 <literallayout>Type: regular expression
8994 Default: <quote><literal>&circ;&lsqb;&circ;,&rsqb;*</literal></quote></literallayout>
8995
8996 <para>
8997 A regular expression used by mutt to parse the GECOS field of a password
8998 entry when expanding the alias.  The default value
8999 will return the string up to the first <quote>,</quote> encountered.
9000 If the GECOS field contains a string like <quote>lastname, firstname</quote> then you
9001 should set it to <quote><literal>.*</literal></quote>.
9002 </para>
9003 <para>
9004 This can be useful if you see the following behavior: you address an e-mail
9005 to user ID <quote>stevef</quote> whose full name is <quote>Steve Franklin</quote>.  If mutt expands
9006 <quote>stevef</quote> to <quote>&quot;Franklin&quot; stevef@foo.bar</quote> then you should set the <link linkend="gecos-mask">&dollar;gecos&lowbar;mask</link> to
9007 a regular expression that will match the whole name so mutt will expand
9008 <quote>Franklin</quote> to <quote>Franklin, Steve</quote>.
9009 </para>
9010 </sect2>
9011
9012 <sect2 id="hdrs">
9013 <title>hdrs</title>
9014 <literallayout>Type: boolean
9015 Default: yes</literallayout>
9016
9017 <para>
9018 When <emphasis>unset</emphasis>, the header fields normally added by the <quote><link linkend="my-hdr">my&lowbar;hdr</link></quote>
9019 command are not created.  This variable <emphasis>must</emphasis> be unset before
9020 composing a new message or replying in order to take effect.  If <emphasis>set</emphasis>,
9021 the user defined header fields are added to every new message.
9022 </para>
9023 </sect2>
9024
9025 <sect2 id="header">
9026 <title>header</title>
9027 <literallayout>Type: boolean
9028 Default: no</literallayout>
9029
9030 <para>
9031 When <emphasis>set</emphasis>, this variable causes Mutt to include the header
9032 of the message you are replying to into the edit buffer.
9033 The <link linkend="weed">&dollar;weed</link> setting applies.
9034 </para>
9035 </sect2>
9036
9037 <sect2 id="help">
9038 <title>help</title>
9039 <literallayout>Type: boolean
9040 Default: yes</literallayout>
9041
9042 <para>
9043 When <emphasis>set</emphasis>, help lines describing the bindings for the major functions
9044 provided by each menu are displayed on the first line of the screen.
9045 </para>
9046 <para>
9047 <emphasis role="bold">Note:</emphasis> The binding will not be displayed correctly if the
9048 function is bound to a sequence rather than a single keystroke.  Also,
9049 the help line may not be updated if a binding is changed while Mutt is
9050 running.  Since this variable is primarily aimed at new users, neither
9051 of these should present a major problem.
9052 </para>
9053 </sect2>
9054
9055 <sect2 id="hidden-host">
9056 <title>hidden&lowbar;host</title>
9057 <literallayout>Type: boolean
9058 Default: no</literallayout>
9059
9060 <para>
9061 When <emphasis>set</emphasis>, mutt will skip the host name part of <link linkend="hostname">&dollar;hostname</link> variable
9062 when adding the domain part to addresses.  This variable does not
9063 affect the generation of Message-IDs, and it will not lead to the
9064 cut-off of first-level domains.
9065 </para>
9066 </sect2>
9067
9068 <sect2 id="hide-limited">
9069 <title>hide&lowbar;limited</title>
9070 <literallayout>Type: boolean
9071 Default: no</literallayout>
9072
9073 <para>
9074 When <emphasis>set</emphasis>, mutt will not show the presence of messages that are hidden
9075 by limiting, in the thread tree.
9076 </para>
9077 </sect2>
9078
9079 <sect2 id="hide-missing">
9080 <title>hide&lowbar;missing</title>
9081 <literallayout>Type: boolean
9082 Default: yes</literallayout>
9083
9084 <para>
9085 When <emphasis>set</emphasis>, mutt will not show the presence of missing messages in the
9086 thread tree.
9087 </para>
9088 </sect2>
9089
9090 <sect2 id="hide-thread-subject">
9091 <title>hide&lowbar;thread&lowbar;subject</title>
9092 <literallayout>Type: boolean
9093 Default: yes</literallayout>
9094
9095 <para>
9096 When <emphasis>set</emphasis>, mutt will not show the subject of messages in the thread
9097 tree that have the same subject as their parent or closest previously
9098 displayed sibling.
9099 </para>
9100 </sect2>
9101
9102 <sect2 id="hide-top-limited">
9103 <title>hide&lowbar;top&lowbar;limited</title>
9104 <literallayout>Type: boolean
9105 Default: no</literallayout>
9106
9107 <para>
9108 When <emphasis>set</emphasis>, mutt will not show the presence of messages that are hidden
9109 by limiting, at the top of threads in the thread tree.  Note that when
9110 <link linkend="hide-limited">&dollar;hide&lowbar;limited</link> is <emphasis>set</emphasis>, this option will have no effect.
9111 </para>
9112 </sect2>
9113
9114 <sect2 id="hide-top-missing">
9115 <title>hide&lowbar;top&lowbar;missing</title>
9116 <literallayout>Type: boolean
9117 Default: yes</literallayout>
9118
9119 <para>
9120 When <emphasis>set</emphasis>, mutt will not show the presence of missing messages at the
9121 top of threads in the thread tree.  Note that when <link linkend="hide-missing">&dollar;hide&lowbar;missing</link> is
9122 <emphasis>set</emphasis>, this option will have no effect.
9123 </para>
9124 </sect2>
9125
9126 <sect2 id="history">
9127 <title>history</title>
9128 <literallayout>Type: number
9129 Default: 10</literallayout>
9130
9131 <para>
9132 This variable controls the size (in number of strings remembered) of
9133 the string history buffer per category. The buffer is cleared each time the
9134 variable is set.
9135 </para>
9136 </sect2>
9137
9138 <sect2 id="history-file">
9139 <title>history&lowbar;file</title>
9140 <literallayout>Type: path
9141 Default: <quote><literal>&tilde;/.mutthistory</literal></quote></literallayout>
9142
9143 <para>
9144 The file in which Mutt will save its history.
9145 </para>
9146 </sect2>
9147
9148 <sect2 id="honor-followup-to">
9149 <title>honor&lowbar;followup&lowbar;to</title>
9150 <literallayout>Type: quadoption
9151 Default: yes</literallayout>
9152
9153 <para>
9154 This variable controls whether or not a Mail-Followup-To header is
9155 honored when group-replying to a message.
9156 </para>
9157 </sect2>
9158
9159 <sect2 id="hostname">
9160 <title>hostname</title>
9161 <literallayout>Type: string
9162 Default: (empty)</literallayout>
9163
9164 <para>
9165 Specifies the fully-qualified hostname of the system mutt is running on
9166 containing the host's name and the DNS domain it belongs to. It is used
9167 as the domain part (after <quote>@</quote>) for local email addresses as well as
9168 Message-Id headers.
9169 </para>
9170 <para>
9171 Its value is determined at startup as follows: If the node's name
9172 as returned by the <literal>uname(3)</literal> function contains the hostname and the
9173 domain, these are used to construct <link linkend="hostname">&dollar;hostname</link>. If there is no
9174 domain part returned, Mutt will look for a <quote>domain</quote> or <quote>search</quote>
9175 line in <literal>/etc/resolv.conf</literal> to determine the domain. Optionally, Mutt
9176 can be compiled with a fixed domain name in which case a detected
9177 one is not used.
9178 </para>
9179 <para>
9180 Also see <link linkend="use-domain">&dollar;use&lowbar;domain</link> and <link linkend="hidden-host">&dollar;hidden&lowbar;host</link>.
9181 </para>
9182 <para>
9183 <emphasis role="bold">Note:</emphasis> On Debian systems, the default for this variable is obtained
9184 from /etc/mailname when Mutt starts.
9185 </para>
9186 </sect2>
9187
9188 <sect2 id="ignore-linear-white-space">
9189 <title>ignore&lowbar;linear&lowbar;white&lowbar;space</title>
9190 <literallayout>Type: boolean
9191 Default: no</literallayout>
9192
9193 <para>
9194 This option replaces linear-white-space between encoded-word
9195 and text to a single space to prevent the display of MIME-encoded
9196 <quote>Subject:</quote> field from being divided into multiple lines.
9197 </para>
9198 </sect2>
9199
9200 <sect2 id="ignore-list-reply-to">
9201 <title>ignore&lowbar;list&lowbar;reply&lowbar;to</title>
9202 <literallayout>Type: boolean
9203 Default: no</literallayout>
9204
9205 <para>
9206 Affects the behaviour of the <literal>&lt;reply&gt;</literal> function when replying to
9207 messages from mailing lists (as defined by the <quote><link linkend="subscribe">subscribe</link></quote> or
9208 <quote><link linkend="lists">lists</link></quote> commands).  When <emphasis>set</emphasis>, if the <quote>Reply-To:</quote> field is
9209 set to the same value as the <quote>To:</quote> field, Mutt assumes that the
9210 <quote>Reply-To:</quote> field was set by the mailing list to automate responses
9211 to the list, and will ignore this field.  To direct a response to the
9212 mailing list when this option is <emphasis>set</emphasis>, use the <literal><link linkend="list-reply">&lt;list-reply&gt;</link></literal>
9213 function; <literal>&lt;group-reply&gt;</literal> will reply to both the sender and the
9214 list.
9215 </para>
9216 </sect2>
9217
9218 <sect2 id="imap-authenticators">
9219 <title>imap&lowbar;authenticators</title>
9220 <literallayout>Type: string
9221 Default: (empty)</literallayout>
9222
9223 <para>
9224 This is a colon-delimited list of authentication methods mutt may
9225 attempt to use to log in to an IMAP server, in the order mutt should
9226 try them.  Authentication methods are either <quote>login</quote> or the right
9227 side of an IMAP <quote>AUTH=xxx</quote> capability string, eg <quote>digest-md5</quote>, <quote>gssapi</quote>
9228 or <quote>cram-md5</quote>. This option is case-insensitive. If it's
9229 <emphasis>unset</emphasis> (the default) mutt will try all available methods,
9230 in order from most-secure to least-secure.
9231 </para>
9232 <para>
9233 Example:
9234
9235 </para>
9236
9237 <screen>
9238 set imap_authenticators="gssapi:cram-md5:login"
9239
9240 </screen><para>
9241 <emphasis role="bold">Note:</emphasis> Mutt will only fall back to other authentication methods if
9242 the previous methods are unavailable. If a method is available but
9243 authentication fails, mutt will not connect to the IMAP server.
9244 </para>
9245 </sect2>
9246
9247 <sect2 id="imap-check-subscribed">
9248 <title>imap&lowbar;check&lowbar;subscribed</title>
9249 <literallayout>Type: boolean
9250 Default: no</literallayout>
9251
9252 <para>
9253 When <emphasis>set</emphasis>, mutt will fetch the set of subscribed folders from
9254 your server on connection, and add them to the set of mailboxes
9255 it polls for new mail just as if you had issued individual <quote><link linkend="mailboxes">mailboxes</link></quote>
9256 commands.
9257 </para>
9258 </sect2>
9259
9260 <sect2 id="imap-delim-chars">
9261 <title>imap&lowbar;delim&lowbar;chars</title>
9262 <literallayout>Type: string
9263 Default: <quote><literal>/.</literal></quote></literallayout>
9264
9265 <para>
9266 This contains the list of characters which you would like to treat
9267 as folder separators for displaying IMAP paths. In particular it
9268 helps in using the <quote>=</quote> shortcut for your <emphasis>folder</emphasis> variable.
9269 </para>
9270 </sect2>
9271
9272 <sect2 id="imap-headers">
9273 <title>imap&lowbar;headers</title>
9274 <literallayout>Type: string
9275 Default: (empty)</literallayout>
9276
9277 <para>
9278 Mutt requests these header fields in addition to the default headers
9279 (<quote>Date:</quote>, <quote>From:</quote>, <quote>Subject:</quote>, <quote>To:</quote>, <quote>Cc:</quote>, <quote>Message-Id:</quote>,
9280 <quote>References:</quote>, <quote>Content-Type:</quote>, <quote>Content-Description:</quote>, <quote>In-Reply-To:</quote>,
9281 <quote>Reply-To:</quote>, <quote>Lines:</quote>, <quote>List-Post:</quote>, <quote>X-Label:</quote>) from IMAP
9282 servers before displaying the index menu. You may want to add more
9283 headers for spam detection.
9284 </para>
9285 <para>
9286 <emphasis role="bold">Note:</emphasis> This is a space separated list, items should be uppercase
9287 and not contain the colon, e.g. <quote>X-BOGOSITY X-SPAM-STATUS</quote> for the
9288 <quote>X-Bogosity:</quote> and <quote>X-Spam-Status:</quote> header fields.
9289 </para>
9290 </sect2>
9291
9292 <sect2 id="imap-idle">
9293 <title>imap&lowbar;idle</title>
9294 <literallayout>Type: boolean
9295 Default: no</literallayout>
9296
9297 <para>
9298 When <emphasis>set</emphasis>, mutt will attempt to use the IMAP IDLE extension
9299 to check for new mail in the current mailbox. Some servers
9300 (dovecot was the inspiration for this option) react badly
9301 to mutt's implementation. If your connection seems to freeze
9302 up periodically, try unsetting this.
9303 </para>
9304 </sect2>
9305
9306 <sect2 id="imap-keepalive">
9307 <title>imap&lowbar;keepalive</title>
9308 <literallayout>Type: number
9309 Default: 900</literallayout>
9310
9311 <para>
9312 This variable specifies the maximum amount of time in seconds that mutt
9313 will wait before polling open IMAP connections, to prevent the server
9314 from closing them before mutt has finished with them. The default is
9315 well within the RFC-specified minimum amount of time (30 minutes) before
9316 a server is allowed to do this, but in practice the RFC does get
9317 violated every now and then. Reduce this number if you find yourself
9318 getting disconnected from your IMAP server due to inactivity.
9319 </para>
9320 </sect2>
9321
9322 <sect2 id="imap-list-subscribed">
9323 <title>imap&lowbar;list&lowbar;subscribed</title>
9324 <literallayout>Type: boolean
9325 Default: no</literallayout>
9326
9327 <para>
9328 This variable configures whether IMAP folder browsing will look for
9329 only subscribed folders or all folders.  This can be toggled in the
9330 IMAP browser with the <literal>&lt;toggle-subscribed&gt;</literal> function.
9331 </para>
9332 </sect2>
9333
9334 <sect2 id="imap-login">
9335 <title>imap&lowbar;login</title>
9336 <literallayout>Type: string
9337 Default: (empty)</literallayout>
9338
9339 <para>
9340 Your login name on the IMAP server.
9341 </para>
9342 <para>
9343 This variable defaults to the value of <link linkend="imap-user">&dollar;imap&lowbar;user</link>.
9344 </para>
9345 </sect2>
9346
9347 <sect2 id="imap-pass">
9348 <title>imap&lowbar;pass</title>
9349 <literallayout>Type: string
9350 Default: (empty)</literallayout>
9351
9352 <para>
9353 Specifies the password for your IMAP account.  If <emphasis>unset</emphasis>, Mutt will
9354 prompt you for your password when you invoke the <literal><link linkend="fetch-mail">&lt;fetch-mail&gt;</link></literal> function
9355 or try to open an IMAP folder.
9356 </para>
9357 <para>
9358 <emphasis role="bold">Warning</emphasis>: you should only use this option when you are on a
9359 fairly secure machine, because the superuser can read your muttrc even
9360 if you are the only one who can read the file.
9361 </para>
9362 </sect2>
9363
9364 <sect2 id="imap-passive">
9365 <title>imap&lowbar;passive</title>
9366 <literallayout>Type: boolean
9367 Default: yes</literallayout>
9368
9369 <para>
9370 When <emphasis>set</emphasis>, mutt will not open new IMAP connections to check for new
9371 mail.  Mutt will only check for new mail over existing IMAP
9372 connections.  This is useful if you don't want to be prompted to
9373 user/password pairs on mutt invocation, or if opening the connection
9374 is slow.
9375 </para>
9376 </sect2>
9377
9378 <sect2 id="imap-peek">
9379 <title>imap&lowbar;peek</title>
9380 <literallayout>Type: boolean
9381 Default: yes</literallayout>
9382
9383 <para>
9384 When <emphasis>set</emphasis>, mutt will avoid implicitly marking your mail as read whenever
9385 you fetch a message from the server. This is generally a good thing,
9386 but can make closing an IMAP folder somewhat slower. This option
9387 exists to appease speed freaks.
9388 </para>
9389 </sect2>
9390
9391 <sect2 id="imap-pipeline-depth">
9392 <title>imap&lowbar;pipeline&lowbar;depth</title>
9393 <literallayout>Type: number
9394 Default: 15</literallayout>
9395
9396 <para>
9397 Controls the number of IMAP commands that may be queued up before they
9398 are sent to the server. A deeper pipeline reduces the amount of time
9399 mutt must wait for the server, and can make IMAP servers feel much
9400 more responsive. But not all servers correctly handle pipelined commands,
9401 so if you have problems you might want to try setting this variable to 0.
9402 </para>
9403 <para>
9404 <emphasis role="bold">Note:</emphasis> Changes to this variable have no effect on open connections.
9405 </para>
9406 </sect2>
9407
9408 <sect2 id="imap-servernoise">
9409 <title>imap&lowbar;servernoise</title>
9410 <literallayout>Type: boolean
9411 Default: yes</literallayout>
9412
9413 <para>
9414 When <emphasis>set</emphasis>, mutt will display warning messages from the IMAP
9415 server as error messages. Since these messages are often
9416 harmless, or generated due to configuration problems on the
9417 server which are out of the users' hands, you may wish to suppress
9418 them at some point.
9419 </para>
9420 </sect2>
9421
9422 <sect2 id="imap-user">
9423 <title>imap&lowbar;user</title>
9424 <literallayout>Type: string
9425 Default: (empty)</literallayout>
9426
9427 <para>
9428 The name of the user whose mail you intend to access on the IMAP
9429 server.
9430 </para>
9431 <para>
9432 This variable defaults to your user name on the local machine.
9433 </para>
9434 </sect2>
9435
9436 <sect2 id="implicit-autoview">
9437 <title>implicit&lowbar;autoview</title>
9438 <literallayout>Type: boolean
9439 Default: no</literallayout>
9440
9441 <para>
9442 If set to <quote>yes</quote>, mutt will look for a mailcap entry with the
9443 <quote><literal>copiousoutput</literal></quote> flag set for <emphasis>every</emphasis> MIME attachment it doesn't have
9444 an internal viewer defined for.  If such an entry is found, mutt will
9445 use the viewer defined in that entry to convert the body part to text
9446 form.
9447 </para>
9448 </sect2>
9449
9450 <sect2 id="include">
9451 <title>include</title>
9452 <literallayout>Type: quadoption
9453 Default: ask-yes</literallayout>
9454
9455 <para>
9456 Controls whether or not a copy of the message(s) you are replying to
9457 is included in your reply.
9458 </para>
9459 </sect2>
9460
9461 <sect2 id="include-onlyfirst">
9462 <title>include&lowbar;onlyfirst</title>
9463 <literallayout>Type: boolean
9464 Default: no</literallayout>
9465
9466 <para>
9467 Controls whether or not Mutt includes only the first attachment
9468 of the message you are replying.
9469 </para>
9470 </sect2>
9471
9472 <sect2 id="indent-string">
9473 <title>indent&lowbar;string</title>
9474 <literallayout>Type: string
9475 Default: <quote><literal>&gt; </literal></quote></literallayout>
9476
9477 <para>
9478 Specifies the string to prepend to each line of text quoted in a
9479 message to which you are replying.  You are strongly encouraged not to
9480 change this value, as it tends to agitate the more fanatical netizens.
9481 </para>
9482 <para>
9483 This option is a format string, please see the description of
9484 <link linkend="index-format">&dollar;index&lowbar;format</link> for supported <literal>printf(3)</literal>-style sequences.
9485 </para>
9486 <para>
9487 Because for <literal>format=lowed</literal> style messages the quoting mechanism
9488 is strictly defined, this setting is ignored if <link linkend="text-flowed">&dollar;text&lowbar;flowed</link> is
9489 <emphasis>set</emphasis>.
9490 </para>
9491 </sect2>
9492
9493 <sect2 id="index-format">
9494 <title>index&lowbar;format</title>
9495 <literallayout>Type: string
9496 Default: <quote><literal>&percnt;4C &percnt;Z &percnt;{&percnt;b &percnt;d} &percnt;-15.15L (&percnt;?l?&percnt;4l&amp;&percnt;4c?) &percnt;s</literal></quote></literallayout>
9497
9498 <para>
9499 This variable allows you to customize the message index display to
9500 your personal taste.
9501 </para>
9502 <para>
9503 <quote>Format strings</quote> are similar to the strings used in the C
9504 function <literal>printf(3)</literal> to format output (see the man page for more details).
9505 The following sequences are defined in Mutt:
9506
9507 </para>
9508
9509 <variablelist>
9510 <varlistentry><term>&percnt;a </term>
9511 <listitem><para>address of the author
9512 </para></listitem></varlistentry>
9513 <varlistentry><term>&percnt;A </term>
9514 <listitem><para>reply-to address (if present; otherwise: address of author)
9515 </para></listitem></varlistentry>
9516 <varlistentry><term>&percnt;b </term>
9517 <listitem><para>filename of the original message folder (think mailbox)
9518 </para></listitem></varlistentry>
9519 <varlistentry><term>&percnt;B </term>
9520 <listitem><para>the list to which the letter was sent, or else the folder name (&percnt;b).
9521 </para></listitem></varlistentry>
9522 <varlistentry><term>&percnt;c </term>
9523 <listitem><para>number of characters (bytes) in the message
9524 </para></listitem></varlistentry>
9525 <varlistentry><term>&percnt;C </term>
9526 <listitem><para>current message number
9527 </para></listitem></varlistentry>
9528 <varlistentry><term>&percnt;d </term>
9529 <listitem><para>date and time of the message in the format specified by
9530 <link linkend="date-format">&dollar;date&lowbar;format</link> converted to sender's time zone
9531 </para></listitem></varlistentry>
9532 <varlistentry><term>&percnt;D </term>
9533 <listitem><para>date and time of the message in the format specified by
9534 <link linkend="date-format">&dollar;date&lowbar;format</link> converted to the local time zone
9535 </para></listitem></varlistentry>
9536 <varlistentry><term>&percnt;e </term>
9537 <listitem><para>current message number in thread
9538 </para></listitem></varlistentry>
9539 <varlistentry><term>&percnt;E </term>
9540 <listitem><para>number of messages in current thread
9541 </para></listitem></varlistentry>
9542 <varlistentry><term>&percnt;f </term>
9543 <listitem><para>sender (address + real name), either From: or Return-Path:
9544 </para></listitem></varlistentry>
9545 <varlistentry><term>&percnt;F </term>
9546 <listitem><para>author name, or recipient name if the message is from you
9547 </para></listitem></varlistentry>
9548 <varlistentry><term>&percnt;H </term>
9549 <listitem><para>spam attribute(s) of this message
9550 </para></listitem></varlistentry>
9551 <varlistentry><term>&percnt;i </term>
9552 <listitem><para>message-id of the current message
9553 </para></listitem></varlistentry>
9554 <varlistentry><term>&percnt;l </term>
9555 <listitem><para>number of lines in the message (does not work with maildir,
9556 mh, and possibly IMAP folders)
9557 </para></listitem></varlistentry>
9558 <varlistentry><term>&percnt;L </term>
9559 <listitem><para>If an address in the <quote>To:</quote> or <quote>Cc:</quote> header field matches an address
9560 defined by the users <quote><link linkend="subscribe">subscribe</link></quote> command, this displays
9561 &quot;To &lt;list-name&gt;&quot;, otherwise the same as &percnt;F.
9562 </para></listitem></varlistentry>
9563 <varlistentry><term>&percnt;m </term>
9564 <listitem><para>total number of message in the mailbox
9565 </para></listitem></varlistentry>
9566 <varlistentry><term>&percnt;M </term>
9567 <listitem><para>number of hidden messages if the thread is collapsed.
9568 </para></listitem></varlistentry>
9569 <varlistentry><term>&percnt;N </term>
9570 <listitem><para>message score
9571 </para></listitem></varlistentry>
9572 <varlistentry><term>&percnt;n </term>
9573 <listitem><para>author's real name (or address if missing)
9574 </para></listitem></varlistentry>
9575 <varlistentry><term>&percnt;O </term>
9576 <listitem><para>original save folder where mutt would formerly have
9577 stashed the message: list name or recipient name
9578 if not sent to a list
9579 </para></listitem></varlistentry>
9580 <varlistentry><term>&percnt;P </term>
9581 <listitem><para>progress indicator for the builtin pager (how much of the file has been displayed)
9582 </para></listitem></varlistentry>
9583 <varlistentry><term>&percnt;s </term>
9584 <listitem><para>subject of the message
9585 </para></listitem></varlistentry>
9586 <varlistentry><term>&percnt;S </term>
9587 <listitem><para>status of the message (<quote>N</quote>/<quote>D</quote>/<quote>d</quote>/<quote>!</quote>/<quote>r</quote>/*)
9588 </para></listitem></varlistentry>
9589 <varlistentry><term>&percnt;t </term>
9590 <listitem><para><quote>To:</quote> field (recipients)
9591 </para></listitem></varlistentry>
9592 <varlistentry><term>&percnt;T </term>
9593 <listitem><para>the appropriate character from the <link linkend="to-chars">&dollar;to&lowbar;chars</link> string
9594 </para></listitem></varlistentry>
9595 <varlistentry><term>&percnt;u </term>
9596 <listitem><para>user (login) name of the author
9597 </para></listitem></varlistentry>
9598 <varlistentry><term>&percnt;v </term>
9599 <listitem><para>first name of the author, or the recipient if the message is from you
9600 </para></listitem></varlistentry>
9601 <varlistentry><term>&percnt;X </term>
9602 <listitem><para>number of attachments
9603 (please see the <quote><link linkend="attachments">attachments</link></quote> section for possible speed effects)
9604 </para></listitem></varlistentry>
9605 <varlistentry><term>&percnt;y </term>
9606 <listitem><para><quote>X-Label:</quote> field, if present
9607 </para></listitem></varlistentry>
9608 <varlistentry><term>&percnt;Y </term>
9609 <listitem><para><quote>X-Label:</quote> field, if present, and <emphasis>(1)</emphasis> not at part of a thread tree,
9610 <emphasis>(2)</emphasis> at the top of a thread, or <emphasis>(3)</emphasis> <quote>X-Label:</quote> is different from
9611 preceding message's <quote>X-Label:</quote>.
9612 </para></listitem></varlistentry>
9613 <varlistentry><term>&percnt;Z </term>
9614 <listitem><para>message status flags
9615 </para></listitem></varlistentry>
9616 <varlistentry><term>&percnt;{fmt} </term>
9617 <listitem><para>the date and time of the message is converted to sender's
9618 time zone, and <quote>fmt</quote> is expanded by the library function
9619 <literal>strftime(3)</literal>; a leading bang disables locales
9620 </para></listitem></varlistentry>
9621 <varlistentry><term>&percnt;&lsqb;fmt&rsqb; </term>
9622 <listitem><para>the date and time of the message is converted to the local
9623 time zone, and <quote>fmt</quote> is expanded by the library function
9624 <literal>strftime(3)</literal>; a leading bang disables locales
9625 </para></listitem></varlistentry>
9626 <varlistentry><term>&percnt;(fmt) </term>
9627 <listitem><para>the local date and time when the message was received.
9628 <quote>fmt</quote> is expanded by the library function <literal>strftime(3)</literal>;
9629 a leading bang disables locales
9630 </para></listitem></varlistentry>
9631 <varlistentry><term>&percnt;&lt;fmt&gt; </term>
9632 <listitem><para>the current local time. <quote>fmt</quote> is expanded by the library
9633 function <literal>strftime(3)</literal>; a leading bang disables locales.
9634 </para></listitem></varlistentry>
9635 <varlistentry><term>&percnt;&gt;X    </term>
9636 <listitem><para>right justify the rest of the string and pad with character <quote>X</quote>
9637 </para></listitem></varlistentry>
9638 <varlistentry><term>&percnt;&verbar;X    </term>
9639 <listitem><para>pad to the end of the line with character <quote>X</quote>
9640 </para></listitem></varlistentry>
9641 <varlistentry><term>&percnt;*X    </term>
9642 <listitem><para>soft-fill with character <quote>X</quote> as pad
9643 </para></listitem></varlistentry></variablelist>
9644
9645 <para>
9646 <quote>Soft-fill</quote> deserves some explanation: Normal right-justification
9647 will print everything to the left of the <quote>&percnt;&gt;</quote>, displaying padding and
9648 whatever lies to the right only if there's room. By contrast,
9649 soft-fill gives priority to the right-hand side, guaranteeing space
9650 to display it and showing padding only if there's still room. If
9651 necessary, soft-fill will eat text leftwards to make room for
9652 rightward text.
9653 </para>
9654 <para>
9655 Note that these expandos are supported in
9656 <quote><link linkend="save-hook">save-hook</link></quote>, <quote><link linkend="fcc-hook">fcc-hook</link></quote> and <quote><link linkend="fcc-save-hook">fcc-save-hook</link></quote>, too.
9657 </para>
9658 </sect2>
9659
9660 <sect2 id="ispell">
9661 <title>ispell</title>
9662 <literallayout>Type: path
9663 Default: <quote><literal>ispell</literal></quote></literallayout>
9664
9665 <para>
9666 How to invoke ispell (GNU's spell-checking software).
9667 </para>
9668 </sect2>
9669
9670 <sect2 id="keep-flagged">
9671 <title>keep&lowbar;flagged</title>
9672 <literallayout>Type: boolean
9673 Default: no</literallayout>
9674
9675 <para>
9676 If <emphasis>set</emphasis>, read messages marked as flagged will not be moved
9677 from your spool mailbox to your <link linkend="mbox">&dollar;mbox</link> mailbox, or as a result of
9678 a <quote><link linkend="mbox-hook">mbox-hook</link></quote> command.
9679 </para>
9680 </sect2>
9681
9682 <sect2 id="locale">
9683 <title>locale</title>
9684 <literallayout>Type: string
9685 Default: <quote><literal>C</literal></quote></literallayout>
9686
9687 <para>
9688 The locale used by <literal>strftime(3)</literal> to format dates. Legal values are
9689 the strings your system accepts for the locale environment variable <literal>&dollar;LC&lowbar;TIME</literal>.
9690 </para>
9691 </sect2>
9692
9693 <sect2 id="mail-check">
9694 <title>mail&lowbar;check</title>
9695 <literallayout>Type: number
9696 Default: 5</literallayout>
9697
9698 <para>
9699 This variable configures how often (in seconds) mutt should look for
9700 new mail. Also see the <link linkend="timeout">&dollar;timeout</link> variable.
9701 </para>
9702 </sect2>
9703
9704 <sect2 id="mailcap-path">
9705 <title>mailcap&lowbar;path</title>
9706 <literallayout>Type: string
9707 Default: (empty)</literallayout>
9708
9709 <para>
9710 This variable specifies which files to consult when attempting to
9711 display MIME bodies not directly supported by Mutt.
9712 </para>
9713 </sect2>
9714
9715 <sect2 id="mailcap-sanitize">
9716 <title>mailcap&lowbar;sanitize</title>
9717 <literallayout>Type: boolean
9718 Default: yes</literallayout>
9719
9720 <para>
9721 If <emphasis>set</emphasis>, mutt will restrict possible characters in mailcap &percnt; expandos
9722 to a well-defined set of safe characters.  This is the safe setting,
9723 but we are not sure it doesn't break some more advanced MIME stuff.
9724 </para>
9725 <para>
9726 <emphasis role="bold">DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE
9727 DOING!</emphasis>
9728 </para>
9729 </sect2>
9730
9731 <sect2 id="maildir-mtime">
9732 <title>maildir&lowbar;mtime</title>
9733 <literallayout>Type: boolean
9734 Default: no</literallayout>
9735
9736 <para>
9737 If set, the sort-by-date option in the browser will sort maildirs
9738 smartly, not using the mtime of the maildir itself but that of the
9739 newest message in the new subdirectory, making the sorting by
9740 reverse date much more useful. People with maildirs over NFS may
9741 wish to leave this option unset.
9742 </para>
9743 </sect2>
9744
9745 <sect2 id="header-cache">
9746 <title>header&lowbar;cache</title>
9747 <literallayout>Type: path
9748 Default: (empty)</literallayout>
9749
9750 <para>
9751 This variable points to the header cache database.
9752 If pointing to a directory Mutt will contain a header cache
9753 database file per folder, if pointing to a file that file will
9754 be a single global header cache. By default it is <emphasis>unset</emphasis> so no header
9755 caching will be used.
9756 </para>
9757 <para>
9758 Header caching can greatly improve speed when opening POP, IMAP
9759 MH or Maildir folders, see <quote><link linkend="caching">caching</link></quote> for details.
9760 </para>
9761 </sect2>
9762
9763 <sect2 id="maildir-header-cache-verify">
9764 <title>maildir&lowbar;header&lowbar;cache&lowbar;verify</title>
9765 <literallayout>Type: boolean
9766 Default: yes</literallayout>
9767
9768 <para>
9769 Check for Maildir unaware programs other than mutt having modified maildir
9770 files when the header cache is in use.  This incurs one <literal>stat(2)</literal> per
9771 message every time the folder is opened (which can be very slow for NFS
9772 folders).
9773 </para>
9774 </sect2>
9775
9776 <sect2 id="header-cache-pagesize">
9777 <title>header&lowbar;cache&lowbar;pagesize</title>
9778 <literallayout>Type: string
9779 Default: <quote><literal>16384</literal></quote></literallayout>
9780
9781 <para>
9782 When mutt is compiled with either gdbm or bdb4 as the header cache backend,
9783 this option changes the database page size.  Too large or too small
9784 values can waste space, memory, or CPU time. The default should be more
9785 or less optimal for most use cases.
9786 </para>
9787 </sect2>
9788
9789 <sect2 id="maildir-trash">
9790 <title>maildir&lowbar;trash</title>
9791 <literallayout>Type: boolean
9792 Default: no</literallayout>
9793
9794 <para>
9795 If <emphasis>set</emphasis>, messages marked as deleted will be saved with the maildir
9796 trashed flag instead of unlinked.  <emphasis role="bold">Note:</emphasis> this only applies
9797 to maildir-style mailboxes.  Setting it will have no effect on other
9798 mailbox types.
9799 </para>
9800 </sect2>
9801
9802 <sect2 id="mark-old">
9803 <title>mark&lowbar;old</title>
9804 <literallayout>Type: boolean
9805 Default: yes</literallayout>
9806
9807 <para>
9808 Controls whether or not mutt marks <emphasis>new</emphasis> <emphasis role="bold">unread</emphasis>
9809 messages as <emphasis>old</emphasis> if you exit a mailbox without reading them.
9810 With this option <emphasis>set</emphasis>, the next time you start mutt, the messages
9811 will show up with an <quote>O</quote> next to them in the index menu,
9812 indicating that they are old.
9813 </para>
9814 </sect2>
9815
9816 <sect2 id="markers">
9817 <title>markers</title>
9818 <literallayout>Type: boolean
9819 Default: yes</literallayout>
9820
9821 <para>
9822 Controls the display of wrapped lines in the internal pager. If set, a
9823 <quote>+</quote> marker is displayed at the beginning of wrapped lines.
9824 </para>
9825 <para>
9826 Also see the <link linkend="smart-wrap">&dollar;smart&lowbar;wrap</link> variable.
9827 </para>
9828 </sect2>
9829
9830 <sect2 id="mask">
9831 <title>mask</title>
9832 <literallayout>Type: regular expression
9833 Default: <quote><literal>!&circ;&bsol;.&lsqb;&circ;.&rsqb;</literal></quote></literallayout>
9834
9835 <para>
9836 A regular expression used in the file browser, optionally preceded by
9837 the <emphasis>not</emphasis> operator <quote>!</quote>.  Only files whose names match this mask
9838 will be shown. The match is always case-sensitive.
9839 </para>
9840 </sect2>
9841
9842 <sect2 id="mbox">
9843 <title>mbox</title>
9844 <literallayout>Type: path
9845 Default: <quote><literal>&tilde;/mbox</literal></quote></literallayout>
9846
9847 <para>
9848 This specifies the folder into which read mail in your <link linkend="spoolfile">&dollar;spoolfile</link>
9849 folder will be appended.
9850 </para>
9851 <para>
9852 Also see the <link linkend="move">&dollar;move</link> variable.
9853 </para>
9854 </sect2>
9855
9856 <sect2 id="mbox-type">
9857 <title>mbox&lowbar;type</title>
9858 <literallayout>Type: folder magic
9859 Default: mbox</literallayout>
9860
9861 <para>
9862 The default mailbox type used when creating new folders. May be any of
9863 <quote>mbox</quote>, <quote>MMDF</quote>, <quote>MH</quote> and <quote>Maildir</quote>.
9864 </para>
9865 </sect2>
9866
9867 <sect2 id="metoo">
9868 <title>metoo</title>
9869 <literallayout>Type: boolean
9870 Default: no</literallayout>
9871
9872 <para>
9873 If <emphasis>unset</emphasis>, Mutt will remove your address (see the <quote><link linkend="alternates">alternates</link></quote>
9874 command) from the list of recipients when replying to a message.
9875 </para>
9876 </sect2>
9877
9878 <sect2 id="menu-context">
9879 <title>menu&lowbar;context</title>
9880 <literallayout>Type: number
9881 Default: 0</literallayout>
9882
9883 <para>
9884 This variable controls the number of lines of context that are given
9885 when scrolling through menus. (Similar to <link linkend="pager-context">&dollar;pager&lowbar;context</link>.)
9886 </para>
9887 </sect2>
9888
9889 <sect2 id="menu-move-off">
9890 <title>menu&lowbar;move&lowbar;off</title>
9891 <literallayout>Type: boolean
9892 Default: yes</literallayout>
9893
9894 <para>
9895 When <emphasis>unset</emphasis>, the bottom entry of menus will never scroll up past
9896 the bottom of the screen, unless there are less entries than lines.
9897 When <emphasis>set</emphasis>, the bottom entry may move off the bottom.
9898 </para>
9899 </sect2>
9900
9901 <sect2 id="menu-scroll">
9902 <title>menu&lowbar;scroll</title>
9903 <literallayout>Type: boolean
9904 Default: no</literallayout>
9905
9906 <para>
9907 When <emphasis>set</emphasis>, menus will be scrolled up or down one line when you
9908 attempt to move across a screen boundary.  If <emphasis>unset</emphasis>, the screen
9909 is cleared and the next or previous page of the menu is displayed
9910 (useful for slow links to avoid many redraws).
9911 </para>
9912 </sect2>
9913
9914 <sect2 id="meta-key">
9915 <title>meta&lowbar;key</title>
9916 <literallayout>Type: boolean
9917 Default: no</literallayout>
9918
9919 <para>
9920 If <emphasis>set</emphasis>, forces Mutt to interpret keystrokes with the high bit (bit 8)
9921 set as if the user had pressed the Esc key and whatever key remains
9922 after having the high bit removed.  For example, if the key pressed
9923 has an ASCII value of <literal>0xf8</literal>, then this is treated as if the user had
9924 pressed Esc then <quote>x</quote>.  This is because the result of removing the
9925 high bit from <literal>0xf8</literal> is <literal>0x78</literal>, which is the ASCII character
9926 <quote>x</quote>.
9927 </para>
9928 </sect2>
9929
9930 <sect2 id="mh-purge">
9931 <title>mh&lowbar;purge</title>
9932 <literallayout>Type: boolean
9933 Default: no</literallayout>
9934
9935 <para>
9936 When <emphasis>unset</emphasis>, mutt will mimic mh's behaviour and rename deleted messages
9937 to <emphasis>,&lt;old file name&gt;</emphasis> in mh folders instead of really deleting
9938 them. This leaves the message on disk but makes programs reading the folder
9939 ignore it. If the variable is <emphasis>set</emphasis>, the message files will simply be
9940 deleted.
9941 </para>
9942 <para>
9943 This option is similar to <link linkend="maildir-trash">&dollar;maildir&lowbar;trash</link> for Maildir folders.
9944 </para>
9945 </sect2>
9946
9947 <sect2 id="mh-seq-flagged">
9948 <title>mh&lowbar;seq&lowbar;flagged</title>
9949 <literallayout>Type: string
9950 Default: <quote><literal>flagged</literal></quote></literallayout>
9951
9952 <para>
9953 The name of the MH sequence used for flagged messages.
9954 </para>
9955 </sect2>
9956
9957 <sect2 id="mh-seq-replied">
9958 <title>mh&lowbar;seq&lowbar;replied</title>
9959 <literallayout>Type: string
9960 Default: <quote><literal>replied</literal></quote></literallayout>
9961
9962 <para>
9963 The name of the MH sequence used to tag replied messages.
9964 </para>
9965 </sect2>
9966
9967 <sect2 id="mh-seq-unseen">
9968 <title>mh&lowbar;seq&lowbar;unseen</title>
9969 <literallayout>Type: string
9970 Default: <quote><literal>unseen</literal></quote></literallayout>
9971
9972 <para>
9973 The name of the MH sequence used for unseen messages.
9974 </para>
9975 </sect2>
9976
9977 <sect2 id="mime-forward">
9978 <title>mime&lowbar;forward</title>
9979 <literallayout>Type: quadoption
9980 Default: no</literallayout>
9981
9982 <para>
9983 When <emphasis>set</emphasis>, the message you are forwarding will be attached as a
9984 separate <literal>message/rfc822</literal> MIME part instead of included in the main body of the
9985 message.  This is useful for forwarding MIME messages so the receiver
9986 can properly view the message as it was delivered to you. If you like
9987 to switch between MIME and not MIME from mail to mail, set this
9988 variable to <quote>ask-no</quote> or <quote>ask-yes</quote>.
9989 </para>
9990 <para>
9991 Also see <link linkend="forward-decode">&dollar;forward&lowbar;decode</link> and <link linkend="mime-forward-decode">&dollar;mime&lowbar;forward&lowbar;decode</link>.
9992 </para>
9993 </sect2>
9994
9995 <sect2 id="mime-forward-decode">
9996 <title>mime&lowbar;forward&lowbar;decode</title>
9997 <literallayout>Type: boolean
9998 Default: no</literallayout>
9999
10000 <para>
10001 Controls the decoding of complex MIME messages into <literal>text/plain</literal> when
10002 forwarding a message while <link linkend="mime-forward">&dollar;mime&lowbar;forward</link> is <emphasis>set</emphasis>. Otherwise
10003 <link linkend="forward-decode">&dollar;forward&lowbar;decode</link> is used instead.
10004 </para>
10005 </sect2>
10006
10007 <sect2 id="mime-forward-rest">
10008 <title>mime&lowbar;forward&lowbar;rest</title>
10009 <literallayout>Type: quadoption
10010 Default: yes</literallayout>
10011
10012 <para>
10013 When forwarding multiple attachments of a MIME message from the attachment
10014 menu, attachments which cannot be decoded in a reasonable manner will
10015 be attached to the newly composed message if this option is <emphasis>set</emphasis>.
10016 </para>
10017 </sect2>
10018
10019 <sect2 id="mix-entry-format">
10020 <title>mix&lowbar;entry&lowbar;format</title>
10021 <literallayout>Type: string
10022 Default: <quote><literal>&percnt;4n &percnt;c &percnt;-16s &percnt;a</literal></quote></literallayout>
10023
10024 <para>
10025 This variable describes the format of a remailer line on the mixmaster
10026 chain selection screen.  The following <literal>printf(3)</literal>-like sequences are
10027 supported:
10028
10029 </para>
10030
10031 <variablelist>
10032 <varlistentry><term>&percnt;n </term>
10033 <listitem><para>The running number on the menu.
10034 </para></listitem></varlistentry>
10035 <varlistentry><term>&percnt;c </term>
10036 <listitem><para>Remailer capabilities.
10037 </para></listitem></varlistentry>
10038 <varlistentry><term>&percnt;s </term>
10039 <listitem><para>The remailer's short name.
10040 </para></listitem></varlistentry>
10041 <varlistentry><term>&percnt;a </term>
10042 <listitem><para>The remailer's e-mail address.
10043 </para></listitem></varlistentry></variablelist>
10044 </sect2>
10045
10046 <sect2 id="mixmaster">
10047 <title>mixmaster</title>
10048 <literallayout>Type: path
10049 Default: <quote><literal>mixmaster</literal></quote></literallayout>
10050
10051 <para>
10052 This variable contains the path to the Mixmaster binary on your
10053 system.  It is used with various sets of parameters to gather the
10054 list of known remailers, and to finally send a message through the
10055 mixmaster chain.
10056 </para>
10057 <para>
10058 <emphasis role="bold">Note:</emphasis> On Debian systems, this option is set by default to
10059 <quote>mixmaster-filter</quote> in /etc/Muttrc.
10060 </para>
10061 </sect2>
10062
10063 <sect2 id="move">
10064 <title>move</title>
10065 <literallayout>Type: quadoption
10066 Default: no</literallayout>
10067
10068 <para>
10069 Controls whether or not Mutt will move read messages
10070 from your spool mailbox to your <link linkend="mbox">&dollar;mbox</link> mailbox, or as a result of
10071 a <quote><link linkend="mbox-hook">mbox-hook</link></quote> command.
10072 </para>
10073 </sect2>
10074
10075 <sect2 id="message-cachedir">
10076 <title>message&lowbar;cachedir</title>
10077 <literallayout>Type: path
10078 Default: (empty)</literallayout>
10079
10080 <para>
10081 Set this to a directory and mutt will cache copies of messages from
10082 your IMAP and POP servers here. You are free to remove entries at any
10083 time.
10084 </para>
10085 <para>
10086 When setting this variable to a directory, mutt needs to fetch every
10087 remote message only once and can perform regular expression searches
10088 as fast as for local folders.
10089 </para>
10090 <para>
10091 Also see the <link linkend="message-cache-clean">&dollar;message&lowbar;cache&lowbar;clean</link> variable.
10092 </para>
10093 </sect2>
10094
10095 <sect2 id="message-cache-clean">
10096 <title>message&lowbar;cache&lowbar;clean</title>
10097 <literallayout>Type: boolean
10098 Default: no</literallayout>
10099
10100 <para>
10101 If <emphasis>set</emphasis>, mutt will clean out obsolete entries from the message cache when
10102 the mailbox is synchronized. You probably only want to set it
10103 every once in a while, since it can be a little slow
10104 (especially for large folders).
10105 </para>
10106 </sect2>
10107
10108 <sect2 id="message-format">
10109 <title>message&lowbar;format</title>
10110 <literallayout>Type: string
10111 Default: <quote><literal>&percnt;s</literal></quote></literallayout>
10112
10113 <para>
10114 This is the string displayed in the <quote>attachment</quote> menu for
10115 attachments of type <literal>message/rfc822</literal>.  For a full listing of defined
10116 <literal>printf(3)</literal>-like sequences see the section on <link linkend="index-format">&dollar;index&lowbar;format</link>.
10117 </para>
10118 </sect2>
10119
10120 <sect2 id="narrow-tree">
10121 <title>narrow&lowbar;tree</title>
10122 <literallayout>Type: boolean
10123 Default: no</literallayout>
10124
10125 <para>
10126 This variable, when <emphasis>set</emphasis>, makes the thread tree narrower, allowing
10127 deeper threads to fit on the screen.
10128 </para>
10129 </sect2>
10130
10131 <sect2 id="net-inc">
10132 <title>net&lowbar;inc</title>
10133 <literallayout>Type: number
10134 Default: 10</literallayout>
10135
10136 <para>
10137 Operations that expect to transfer a large amount of data over the
10138 network will update their progress every <link linkend="net-inc">&dollar;net&lowbar;inc</link> kilobytes.
10139 If set to 0, no progress messages will be displayed.
10140 </para>
10141 <para>
10142 See also <link linkend="read-inc">&dollar;read&lowbar;inc</link>, <link linkend="write-inc">&dollar;write&lowbar;inc</link> and <link linkend="net-inc">&dollar;net&lowbar;inc</link>.
10143 </para>
10144 </sect2>
10145
10146 <sect2 id="pager">
10147 <title>pager</title>
10148 <literallayout>Type: path
10149 Default: <quote><literal>builtin</literal></quote></literallayout>
10150
10151 <para>
10152 This variable specifies which pager you would like to use to view
10153 messages. The value <quote>builtin</quote> means to use the builtin pager, otherwise this
10154 variable should specify the pathname of the external pager you would
10155 like to use.
10156 </para>
10157 <para>
10158 Using an external pager may have some disadvantages: Additional
10159 keystrokes are necessary because you can't call mutt functions
10160 directly from the pager, and screen resizes cause lines longer than
10161 the screen width to be badly formatted in the help menu.
10162 </para>
10163 </sect2>
10164
10165 <sect2 id="pager-context">
10166 <title>pager&lowbar;context</title>
10167 <literallayout>Type: number
10168 Default: 0</literallayout>
10169
10170 <para>
10171 This variable controls the number of lines of context that are given
10172 when displaying the next or previous page in the internal pager.  By
10173 default, Mutt will display the line after the last one on the screen
10174 at the top of the next page (0 lines of context).
10175 </para>
10176 </sect2>
10177
10178 <sect2 id="pager-format">
10179 <title>pager&lowbar;format</title>
10180 <literallayout>Type: string
10181 Default: <quote><literal>-&percnt;Z- &percnt;C/&percnt;m: &percnt;-20.20n   &percnt;s&percnt;*  -- (&percnt;P)</literal></quote></literallayout>
10182
10183 <para>
10184 This variable controls the format of the one-line message <quote>status</quote>
10185 displayed before each message in either the internal or an external
10186 pager.  The valid sequences are listed in the <link linkend="index-format">&dollar;index&lowbar;format</link>
10187 section.
10188 </para>
10189 </sect2>
10190
10191 <sect2 id="pager-index-lines">
10192 <title>pager&lowbar;index&lowbar;lines</title>
10193 <literallayout>Type: number
10194 Default: 0</literallayout>
10195
10196 <para>
10197 Determines the number of lines of a mini-index which is shown when in
10198 the pager.  The current message, unless near the top or bottom of the
10199 folder, will be roughly one third of the way down this mini-index,
10200 giving the reader the context of a few messages before and after the
10201 message.  This is useful, for example, to determine how many messages
10202 remain to be read in the current thread.  One of the lines is reserved
10203 for the status bar from the index, so a setting of 6
10204 will only show 5 lines of the actual index.  A value of 0 results in
10205 no index being shown.  If the number of messages in the current folder
10206 is less than <link linkend="pager-index-lines">&dollar;pager&lowbar;index&lowbar;lines</link>, then the index will only use as
10207 many lines as it needs.
10208 </para>
10209 </sect2>
10210
10211 <sect2 id="pager-stop">
10212 <title>pager&lowbar;stop</title>
10213 <literallayout>Type: boolean
10214 Default: no</literallayout>
10215
10216 <para>
10217 When <emphasis>set</emphasis>, the internal-pager will <emphasis role="bold">not</emphasis> move to the next message
10218 when you are at the end of a message and invoke the <literal>&lt;next-page&gt;</literal>
10219 function.
10220 </para>
10221 </sect2>
10222
10223 <sect2 id="crypt-autosign">
10224 <title>crypt&lowbar;autosign</title>
10225 <literallayout>Type: boolean
10226 Default: no</literallayout>
10227
10228 <para>
10229 Setting this variable will cause Mutt to always attempt to
10230 cryptographically sign outgoing messages.  This can be overridden
10231 by use of the pgp menu, when signing is not required or
10232 encryption is requested as well. If <link linkend="smime-is-default">&dollar;smime&lowbar;is&lowbar;default</link> is <emphasis>set</emphasis>,
10233 then OpenSSL is used instead to create S/MIME messages and settings can
10234 be overridden by use of the smime menu instead of the pgp menu.
10235 (Crypto only)
10236 </para>
10237 </sect2>
10238
10239 <sect2 id="crypt-autoencrypt">
10240 <title>crypt&lowbar;autoencrypt</title>
10241 <literallayout>Type: boolean
10242 Default: no</literallayout>
10243
10244 <para>
10245 Setting this variable will cause Mutt to always attempt to PGP
10246 encrypt outgoing messages.  This is probably only useful in
10247 connection to the <quote><link linkend="send-hook">send-hook</link></quote> command.  It can be overridden
10248 by use of the pgp menu, when encryption is not required or
10249 signing is requested as well.  If <link linkend="smime-is-default">&dollar;smime&lowbar;is&lowbar;default</link> is <emphasis>set</emphasis>,
10250 then OpenSSL is used instead to create S/MIME messages and
10251 settings can be overridden by use of the smime menu instead.
10252 (Crypto only)
10253 </para>
10254 </sect2>
10255
10256 <sect2 id="pgp-ignore-subkeys">
10257 <title>pgp&lowbar;ignore&lowbar;subkeys</title>
10258 <literallayout>Type: boolean
10259 Default: yes</literallayout>
10260
10261 <para>
10262 Setting this variable will cause Mutt to ignore OpenPGP subkeys. Instead,
10263 the principal key will inherit the subkeys' capabilities.  <emphasis>Unset</emphasis> this
10264 if you want to play interesting key selection games.
10265 (PGP only)
10266 </para>
10267 </sect2>
10268
10269 <sect2 id="crypt-replyencrypt">
10270 <title>crypt&lowbar;replyencrypt</title>
10271 <literallayout>Type: boolean
10272 Default: yes</literallayout>
10273
10274 <para>
10275 If <emphasis>set</emphasis>, automatically PGP or OpenSSL encrypt replies to messages which are
10276 encrypted.
10277 (Crypto only)
10278 </para>
10279 </sect2>
10280
10281 <sect2 id="crypt-replysign">
10282 <title>crypt&lowbar;replysign</title>
10283 <literallayout>Type: boolean
10284 Default: no</literallayout>
10285
10286 <para>
10287 If <emphasis>set</emphasis>, automatically PGP or OpenSSL sign replies to messages which are
10288 signed.
10289 </para>
10290 <para>
10291 <emphasis role="bold">Note:</emphasis> this does not work on messages that are encrypted
10292 <emphasis>and</emphasis> signed!
10293 (Crypto only)
10294 </para>
10295 </sect2>
10296
10297 <sect2 id="crypt-replysignencrypted">
10298 <title>crypt&lowbar;replysignencrypted</title>
10299 <literallayout>Type: boolean
10300 Default: no</literallayout>
10301
10302 <para>
10303 If <emphasis>set</emphasis>, automatically PGP or OpenSSL sign replies to messages
10304 which are encrypted. This makes sense in combination with
10305 <link linkend="crypt-replyencrypt">&dollar;crypt&lowbar;replyencrypt</link>, because it allows you to sign all
10306 messages which are automatically encrypted.  This works around
10307 the problem noted in <link linkend="crypt-replysign">&dollar;crypt&lowbar;replysign</link>, that mutt is not able
10308 to find out whether an encrypted message is also signed.
10309 (Crypto only)
10310 </para>
10311 </sect2>
10312
10313 <sect2 id="crypt-timestamp">
10314 <title>crypt&lowbar;timestamp</title>
10315 <literallayout>Type: boolean
10316 Default: yes</literallayout>
10317
10318 <para>
10319 If <emphasis>set</emphasis>, mutt will include a time stamp in the lines surrounding
10320 PGP or S/MIME output, so spoofing such lines is more difficult.
10321 If you are using colors to mark these lines, and rely on these,
10322 you may <emphasis>unset</emphasis> this setting.
10323 (Crypto only)
10324 </para>
10325 </sect2>
10326
10327 <sect2 id="sidebar-delim">
10328 <title>sidebar&lowbar;delim</title>
10329 <literallayout>Type: string
10330 Default: <quote><literal>&verbar;</literal></quote></literallayout>
10331
10332 <para>
10333 This specifies the delimiter between the sidebar (if visible) and
10334 other screens.
10335 </para>
10336 </sect2>
10337
10338 <sect2 id="sidebar-visible">
10339 <title>sidebar&lowbar;visible</title>
10340 <literallayout>Type: boolean
10341 Default: no</literallayout>
10342
10343 <para>
10344 This specifies whether or not to show sidebar (left-side list of folders).
10345 </para>
10346 </sect2>
10347
10348 <sect2 id="sidebar-width">
10349 <title>sidebar&lowbar;width</title>
10350 <literallayout>Type: number
10351 Default: 0</literallayout>
10352
10353 <para>
10354 The width of the sidebar.
10355 </para>
10356 </sect2>
10357
10358 <sect2 id="pgp-use-gpg-agent">
10359 <title>pgp&lowbar;use&lowbar;gpg&lowbar;agent</title>
10360 <literallayout>Type: boolean
10361 Default: no</literallayout>
10362
10363 <para>
10364 If <emphasis>set</emphasis>, mutt will use a possibly-running <literal>gpg-agent(1)</literal> process.
10365 (PGP only)
10366 </para>
10367 </sect2>
10368
10369 <sect2 id="crypt-verify-sig">
10370 <title>crypt&lowbar;verify&lowbar;sig</title>
10371 <literallayout>Type: quadoption
10372 Default: yes</literallayout>
10373
10374 <para>
10375 If <emphasis><quote>yes</quote></emphasis>, always attempt to verify PGP or S/MIME signatures.
10376 If <emphasis><quote>ask-*</quote></emphasis>, ask whether or not to verify the signature.
10377 If &bsol;Fi<quote>no</quote>, never attempt to verify cryptographic signatures.
10378 (Crypto only)
10379 </para>
10380 </sect2>
10381
10382 <sect2 id="smime-is-default">
10383 <title>smime&lowbar;is&lowbar;default</title>
10384 <literallayout>Type: boolean
10385 Default: no</literallayout>
10386
10387 <para>
10388 The default behaviour of mutt is to use PGP on all auto-sign/encryption
10389 operations. To override and to use OpenSSL instead this must be <emphasis>set</emphasis>.
10390 However, this has no effect while replying, since mutt will automatically
10391 select the same application that was used to sign/encrypt the original
10392 message.  (Note that this variable can be overridden by unsetting <link linkend="crypt-autosmime">&dollar;crypt&lowbar;autosmime</link>.)
10393 (S/MIME only)
10394 </para>
10395 </sect2>
10396
10397 <sect2 id="smime-ask-cert-label">
10398 <title>smime&lowbar;ask&lowbar;cert&lowbar;label</title>
10399 <literallayout>Type: boolean
10400 Default: yes</literallayout>
10401
10402 <para>
10403 This flag controls whether you want to be asked to enter a label
10404 for a certificate about to be added to the database or not. It is
10405 <emphasis>set</emphasis> by default.
10406 (S/MIME only)
10407 </para>
10408 </sect2>
10409
10410 <sect2 id="smime-decrypt-use-default-key">
10411 <title>smime&lowbar;decrypt&lowbar;use&lowbar;default&lowbar;key</title>
10412 <literallayout>Type: boolean
10413 Default: yes</literallayout>
10414
10415 <para>
10416 If <emphasis>set</emphasis> (default) this tells mutt to use the default key for decryption. Otherwise,
10417 if managing multiple certificate-key-pairs, mutt will try to use the mailbox-address
10418 to determine the key to use. It will ask you to supply a key, if it can't find one.
10419 (S/MIME only)
10420 </para>
10421 </sect2>
10422
10423 <sect2 id="pgp-entry-format">
10424 <title>pgp&lowbar;entry&lowbar;format</title>
10425 <literallayout>Type: string
10426 Default: <quote><literal>&percnt;4n &percnt;t&percnt;f &percnt;4l/0x&percnt;k &percnt;-4a &percnt;2c &percnt;u</literal></quote></literallayout>
10427
10428 <para>
10429 This variable allows you to customize the PGP key selection menu to
10430 your personal taste. This string is similar to <link linkend="index-format">&dollar;index&lowbar;format</link>, but
10431 has its own set of <literal>printf(3)</literal>-like sequences:
10432
10433 </para>
10434
10435 <variablelist>
10436 <varlistentry><term>&percnt;n     </term>
10437 <listitem><para>number
10438 </para></listitem></varlistentry>
10439 <varlistentry><term>&percnt;k     </term>
10440 <listitem><para>key id
10441 </para></listitem></varlistentry>
10442 <varlistentry><term>&percnt;u     </term>
10443 <listitem><para>user id
10444 </para></listitem></varlistentry>
10445 <varlistentry><term>&percnt;a     </term>
10446 <listitem><para>algorithm
10447 </para></listitem></varlistentry>
10448 <varlistentry><term>&percnt;l     </term>
10449 <listitem><para>key length
10450 </para></listitem></varlistentry>
10451 <varlistentry><term>&percnt;f     </term>
10452 <listitem><para>flags
10453 </para></listitem></varlistentry>
10454 <varlistentry><term>&percnt;c     </term>
10455 <listitem><para>capabilities
10456 </para></listitem></varlistentry>
10457 <varlistentry><term>&percnt;t     </term>
10458 <listitem><para>trust/validity of the key-uid association
10459 </para></listitem></varlistentry>
10460 <varlistentry><term>&percnt;&lsqb;&lt;s&gt;&rsqb; </term>
10461 <listitem><para>date of the key where &lt;s&gt; is an <literal>strftime(3)</literal> expression
10462 </para></listitem></varlistentry></variablelist>
10463
10464 <para>
10465 (PGP only)
10466 </para>
10467 </sect2>
10468
10469 <sect2 id="pgp-good-sign">
10470 <title>pgp&lowbar;good&lowbar;sign</title>
10471 <literallayout>Type: regular expression
10472 Default: (empty)</literallayout>
10473
10474 <para>
10475 If you assign a text to this variable, then a PGP signature is only
10476 considered verified if the output from <link linkend="pgp-verify-command">&dollar;pgp&lowbar;verify&lowbar;command</link> contains
10477 the text. Use this variable if the exit code from the command is 0
10478 even for bad signatures.
10479 (PGP only)
10480 </para>
10481 </sect2>
10482
10483 <sect2 id="pgp-check-exit">
10484 <title>pgp&lowbar;check&lowbar;exit</title>
10485 <literallayout>Type: boolean
10486 Default: yes</literallayout>
10487
10488 <para>
10489 If <emphasis>set</emphasis>, mutt will check the exit code of the PGP subprocess when
10490 signing or encrypting.  A non-zero exit code means that the
10491 subprocess failed.
10492 (PGP only)
10493 </para>
10494 </sect2>
10495
10496 <sect2 id="pgp-long-ids">
10497 <title>pgp&lowbar;long&lowbar;ids</title>
10498 <literallayout>Type: boolean
10499 Default: no</literallayout>
10500
10501 <para>
10502 If <emphasis>set</emphasis>, use 64 bit PGP key IDs, if <emphasis>unset</emphasis> use the normal 32 bit key IDs.
10503 (PGP only)
10504 </para>
10505 </sect2>
10506
10507 <sect2 id="pgp-retainable-sigs">
10508 <title>pgp&lowbar;retainable&lowbar;sigs</title>
10509 <literallayout>Type: boolean
10510 Default: no</literallayout>
10511
10512 <para>
10513 If <emphasis>set</emphasis>, signed and encrypted messages will consist of nested
10514 <literal>multipart/signed</literal> and <literal>multipart/encrypted</literal> body parts.
10515 </para>
10516 <para>
10517 This is useful for applications like encrypted and signed mailing
10518 lists, where the outer layer (<literal>multipart/encrypted</literal>) can be easily
10519 removed, while the inner <literal>multipart/signed</literal> part is retained.
10520 (PGP only)
10521 </para>
10522 </sect2>
10523
10524 <sect2 id="pgp-autoinline">
10525 <title>pgp&lowbar;autoinline</title>
10526 <literallayout>Type: boolean
10527 Default: no</literallayout>
10528
10529 <para>
10530 This option controls whether Mutt generates old-style inline
10531 (traditional) PGP encrypted or signed messages under certain
10532 circumstances.  This can be overridden by use of the pgp menu,
10533 when inline is not required.
10534 </para>
10535 <para>
10536 Note that Mutt might automatically use PGP/MIME for messages
10537 which consist of more than a single MIME part.  Mutt can be
10538 configured to ask before sending PGP/MIME messages when inline
10539 (traditional) would not work.
10540 </para>
10541 <para>
10542 Also see the <link linkend="pgp-mime-auto">&dollar;pgp&lowbar;mime&lowbar;auto</link> variable.
10543 </para>
10544 <para>
10545 Also note that using the old-style PGP message format is <emphasis role="bold">strongly</emphasis>
10546 <emphasis role="bold">deprecated</emphasis>.
10547 (PGP only)
10548 </para>
10549 </sect2>
10550
10551 <sect2 id="pgp-replyinline">
10552 <title>pgp&lowbar;replyinline</title>
10553 <literallayout>Type: boolean
10554 Default: no</literallayout>
10555
10556 <para>
10557 Setting this variable will cause Mutt to always attempt to
10558 create an inline (traditional) message when replying to a
10559 message which is PGP encrypted/signed inline.  This can be
10560 overridden by use of the pgp menu, when inline is not
10561 required.  This option does not automatically detect if the
10562 (replied-to) message is inline; instead it relies on Mutt
10563 internals for previously checked/flagged messages.
10564 </para>
10565 <para>
10566 Note that Mutt might automatically use PGP/MIME for messages
10567 which consist of more than a single MIME part.  Mutt can be
10568 configured to ask before sending PGP/MIME messages when inline
10569 (traditional) would not work.
10570 </para>
10571 <para>
10572 Also see the <link linkend="pgp-mime-auto">&dollar;pgp&lowbar;mime&lowbar;auto</link> variable.
10573 </para>
10574 <para>
10575 Also note that using the old-style PGP message format is <emphasis role="bold">strongly</emphasis>
10576 <emphasis role="bold">deprecated</emphasis>.
10577 (PGP only)
10578 </para>
10579 </sect2>
10580
10581 <sect2 id="pgp-show-unusable">
10582 <title>pgp&lowbar;show&lowbar;unusable</title>
10583 <literallayout>Type: boolean
10584 Default: yes</literallayout>
10585
10586 <para>
10587 If <emphasis>set</emphasis>, mutt will display non-usable keys on the PGP key selection
10588 menu.  This includes keys which have been revoked, have expired, or
10589 have been marked as <quote>disabled</quote> by the user.
10590 (PGP only)
10591 </para>
10592 </sect2>
10593
10594 <sect2 id="pgp-sign-as">
10595 <title>pgp&lowbar;sign&lowbar;as</title>
10596 <literallayout>Type: string
10597 Default: (empty)</literallayout>
10598
10599 <para>
10600 If you have more than one key pair, this option allows you to specify
10601 which of your private keys to use.  It is recommended that you use the
10602 keyid form to specify your key (e.g. <literal>0x00112233</literal>).
10603 (PGP only)
10604 </para>
10605 </sect2>
10606
10607 <sect2 id="pgp-strict-enc">
10608 <title>pgp&lowbar;strict&lowbar;enc</title>
10609 <literallayout>Type: boolean
10610 Default: yes</literallayout>
10611
10612 <para>
10613 If <emphasis>set</emphasis>, Mutt will automatically encode PGP/MIME signed messages as
10614 quoted-printable.  Please note that unsetting this variable may
10615 lead to problems with non-verifyable PGP signatures, so only change
10616 this if you know what you are doing.
10617 (PGP only)
10618 </para>
10619 </sect2>
10620
10621 <sect2 id="pgp-timeout">
10622 <title>pgp&lowbar;timeout</title>
10623 <literallayout>Type: number
10624 Default: 300</literallayout>
10625
10626 <para>
10627 The number of seconds after which a cached passphrase will expire if
10628 not used.
10629 (PGP only)
10630 </para>
10631 </sect2>
10632
10633 <sect2 id="pgp-sort-keys">
10634 <title>pgp&lowbar;sort&lowbar;keys</title>
10635 <literallayout>Type: sort order
10636 Default: address</literallayout>
10637
10638 <para>
10639 Specifies how the entries in the pgp menu are sorted. The
10640 following are legal values:
10641
10642 </para>
10643
10644 <variablelist>
10645 <varlistentry><term>address </term>
10646 <listitem><para>sort alphabetically by user id
10647 </para></listitem></varlistentry>
10648 <varlistentry><term>keyid   </term>
10649 <listitem><para>sort alphabetically by key id
10650 </para></listitem></varlistentry>
10651 <varlistentry><term>date    </term>
10652 <listitem><para>sort by key creation date
10653 </para></listitem></varlistentry>
10654 <varlistentry><term>trust   </term>
10655 <listitem><para>sort by the trust of the key
10656 </para></listitem></varlistentry></variablelist>
10657
10658 <para>
10659 If you prefer reverse order of the above values, prefix it with
10660 <quote>reverse-</quote>.
10661 (PGP only)
10662 </para>
10663 </sect2>
10664
10665 <sect2 id="pgp-mime-auto">
10666 <title>pgp&lowbar;mime&lowbar;auto</title>
10667 <literallayout>Type: quadoption
10668 Default: ask-yes</literallayout>
10669
10670 <para>
10671 This option controls whether Mutt will prompt you for
10672 automatically sending a (signed/encrypted) message using
10673 PGP/MIME when inline (traditional) fails (for any reason).
10674 </para>
10675 <para>
10676 Also note that using the old-style PGP message format is <emphasis role="bold">strongly</emphasis>
10677 <emphasis role="bold">deprecated</emphasis>.
10678 (PGP only)
10679 </para>
10680 </sect2>
10681
10682 <sect2 id="pgp-auto-decode">
10683 <title>pgp&lowbar;auto&lowbar;decode</title>
10684 <literallayout>Type: boolean
10685 Default: no</literallayout>
10686
10687 <para>
10688 If <emphasis>set</emphasis>, mutt will automatically attempt to decrypt traditional PGP
10689 messages whenever the user performs an operation which ordinarily would
10690 result in the contents of the message being operated on.  For example,
10691 if the user displays a pgp-traditional message which has not been manually
10692 checked with the <literal><link linkend="check-traditional-pgp">&lt;check-traditional-pgp&gt;</link></literal> function, mutt will automatically
10693 check the message for traditional pgp.
10694 </para>
10695 </sect2>
10696
10697 <sect2 id="pgp-mime-signature-filename">
10698 <title>pgp&lowbar;mime&lowbar;signature&lowbar;filename</title>
10699 <literallayout>Type: string
10700 Default: <quote><literal>signature.asc</literal></quote></literallayout>
10701
10702 <para>
10703 This option sets the filename used for signature parts in PGP/MIME
10704 signed messages.
10705 </para>
10706 </sect2>
10707
10708 <sect2 id="pgp-mime-signature-description">
10709 <title>pgp&lowbar;mime&lowbar;signature&lowbar;description</title>
10710 <literallayout>Type: string
10711 Default: <quote><literal>Digital signature</literal></quote></literallayout>
10712
10713 <para>
10714 This option sets the Content-Description used for signature parts in
10715 PGP/MIME signed messages.
10716 </para>
10717 </sect2>
10718
10719 <sect2 id="pgp-decode-command">
10720 <title>pgp&lowbar;decode&lowbar;command</title>
10721 <literallayout>Type: string
10722 Default: (empty)</literallayout>
10723
10724 <para>
10725 This format strings specifies a command which is used to decode
10726 application/pgp attachments.
10727 </para>
10728 <para>
10729 The PGP command formats have their own set of <literal>printf(3)</literal>-like sequences:
10730
10731 </para>
10732
10733 <variablelist>
10734 <varlistentry><term>&percnt;p </term>
10735 <listitem><para>Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
10736 string otherwise. Note: This may be used with a &percnt;? construct.
10737 </para></listitem></varlistentry>
10738 <varlistentry><term>&percnt;f </term>
10739 <listitem><para>Expands to the name of a file containing a message.
10740 </para></listitem></varlistentry>
10741 <varlistentry><term>&percnt;s </term>
10742 <listitem><para>Expands to the name of a file containing the signature part
10743            of a <literal>multipart/signed</literal> attachment when verifying it.
10744 </para></listitem></varlistentry>
10745 <varlistentry><term>&percnt;a </term>
10746 <listitem><para>The value of <link linkend="pgp-sign-as">&dollar;pgp&lowbar;sign&lowbar;as</link>.
10747 </para></listitem></varlistentry>
10748 <varlistentry><term>&percnt;r </term>
10749 <listitem><para>One or more key IDs.
10750 </para></listitem></varlistentry></variablelist>
10751
10752 <para>
10753 For examples on how to configure these formats for the various versions
10754 of PGP which are floating around, see the pgp and gpg sample configuration files in
10755 the <literal>samples/</literal> subdirectory which has been installed on your system
10756 alongside the documentation.
10757 (PGP only)
10758 </para>
10759 </sect2>
10760
10761 <sect2 id="pgp-getkeys-command">
10762 <title>pgp&lowbar;getkeys&lowbar;command</title>
10763 <literallayout>Type: string
10764 Default: (empty)</literallayout>
10765
10766 <para>
10767 This command is invoked whenever mutt will need public key information.
10768 Of the sequences supported by <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link>, &percnt;r is the only
10769 <literal>printf(3)</literal>-like sequence used with this format.
10770 (PGP only)
10771 </para>
10772 </sect2>
10773
10774 <sect2 id="pgp-verify-command">
10775 <title>pgp&lowbar;verify&lowbar;command</title>
10776 <literallayout>Type: string
10777 Default: (empty)</literallayout>
10778
10779 <para>
10780 This command is used to verify PGP signatures.
10781 </para>
10782 <para>
10783 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10784 possible <literal>printf(3)</literal>-like sequences.
10785 (PGP only)
10786 </para>
10787 </sect2>
10788
10789 <sect2 id="pgp-decrypt-command">
10790 <title>pgp&lowbar;decrypt&lowbar;command</title>
10791 <literallayout>Type: string
10792 Default: (empty)</literallayout>
10793
10794 <para>
10795 This command is used to decrypt a PGP encrypted message.
10796 </para>
10797 <para>
10798 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10799 possible <literal>printf(3)</literal>-like sequences.
10800 (PGP only)
10801 </para>
10802 </sect2>
10803
10804 <sect2 id="pgp-clearsign-command">
10805 <title>pgp&lowbar;clearsign&lowbar;command</title>
10806 <literallayout>Type: string
10807 Default: (empty)</literallayout>
10808
10809 <para>
10810 This format is used to create an old-style <quote>clearsigned</quote> PGP
10811 message.  Note that the use of this format is <emphasis role="bold">strongly</emphasis>
10812 <emphasis role="bold">deprecated</emphasis>.
10813 </para>
10814 <para>
10815 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10816 possible <literal>printf(3)</literal>-like sequences.
10817 (PGP only)
10818 </para>
10819 </sect2>
10820
10821 <sect2 id="pgp-sign-command">
10822 <title>pgp&lowbar;sign&lowbar;command</title>
10823 <literallayout>Type: string
10824 Default: (empty)</literallayout>
10825
10826 <para>
10827 This command is used to create the detached PGP signature for a
10828 <literal>multipart/signed</literal> PGP/MIME body part.
10829 </para>
10830 <para>
10831 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10832 possible <literal>printf(3)</literal>-like sequences.
10833 (PGP only)
10834 </para>
10835 </sect2>
10836
10837 <sect2 id="pgp-encrypt-sign-command">
10838 <title>pgp&lowbar;encrypt&lowbar;sign&lowbar;command</title>
10839 <literallayout>Type: string
10840 Default: (empty)</literallayout>
10841
10842 <para>
10843 This command is used to both sign and encrypt a body part.
10844 </para>
10845 <para>
10846 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10847 possible <literal>printf(3)</literal>-like sequences.
10848 (PGP only)
10849 </para>
10850 </sect2>
10851
10852 <sect2 id="pgp-encrypt-only-command">
10853 <title>pgp&lowbar;encrypt&lowbar;only&lowbar;command</title>
10854 <literallayout>Type: string
10855 Default: (empty)</literallayout>
10856
10857 <para>
10858 This command is used to encrypt a body part without signing it.
10859 </para>
10860 <para>
10861 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10862 possible <literal>printf(3)</literal>-like sequences.
10863 (PGP only)
10864 </para>
10865 </sect2>
10866
10867 <sect2 id="pgp-import-command">
10868 <title>pgp&lowbar;import&lowbar;command</title>
10869 <literallayout>Type: string
10870 Default: (empty)</literallayout>
10871
10872 <para>
10873 This command is used to import a key from a message into
10874 the user's public key ring.
10875 </para>
10876 <para>
10877 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10878 possible <literal>printf(3)</literal>-like sequences.
10879 (PGP only)
10880 </para>
10881 </sect2>
10882
10883 <sect2 id="pgp-export-command">
10884 <title>pgp&lowbar;export&lowbar;command</title>
10885 <literallayout>Type: string
10886 Default: (empty)</literallayout>
10887
10888 <para>
10889 This command is used to export a public key from the user's
10890 key ring.
10891 </para>
10892 <para>
10893 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10894 possible <literal>printf(3)</literal>-like sequences.
10895 (PGP only)
10896 </para>
10897 </sect2>
10898
10899 <sect2 id="pgp-verify-key-command">
10900 <title>pgp&lowbar;verify&lowbar;key&lowbar;command</title>
10901 <literallayout>Type: string
10902 Default: (empty)</literallayout>
10903
10904 <para>
10905 This command is used to verify key information from the key selection
10906 menu.
10907 </para>
10908 <para>
10909 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10910 possible <literal>printf(3)</literal>-like sequences.
10911 (PGP only)
10912 </para>
10913 </sect2>
10914
10915 <sect2 id="pgp-list-secring-command">
10916 <title>pgp&lowbar;list&lowbar;secring&lowbar;command</title>
10917 <literallayout>Type: string
10918 Default: (empty)</literallayout>
10919
10920 <para>
10921 This command is used to list the secret key ring's contents.  The
10922 output format must be analogous to the one used by:
10923
10924 </para>
10925
10926 <screen>
10927 gpg --list-keys --with-colons.
10928
10929 </screen><para>
10930 This format is also generated by the <literal>pgpring</literal> utility which comes
10931 with mutt.
10932 </para>
10933 <para>
10934 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10935 possible <literal>printf(3)</literal>-like sequences.
10936 (PGP only)
10937 </para>
10938 </sect2>
10939
10940 <sect2 id="pgp-list-pubring-command">
10941 <title>pgp&lowbar;list&lowbar;pubring&lowbar;command</title>
10942 <literallayout>Type: string
10943 Default: (empty)</literallayout>
10944
10945 <para>
10946 This command is used to list the public key ring's contents.  The
10947 output format must be analogous to the one used by
10948
10949 </para>
10950
10951 <screen>
10952 gpg --list-keys --with-colons.
10953
10954 </screen><para>
10955 This format is also generated by the <literal>pgpring</literal> utility which comes
10956 with mutt.
10957 </para>
10958 <para>
10959 This is a format string, see the <link linkend="pgp-decode-command">&dollar;pgp&lowbar;decode&lowbar;command</link> command for
10960 possible <literal>printf(3)</literal>-like sequences.
10961 (PGP only)
10962 </para>
10963 </sect2>
10964
10965 <sect2 id="forward-decrypt">
10966 <title>forward&lowbar;decrypt</title>
10967 <literallayout>Type: boolean
10968 Default: yes</literallayout>
10969
10970 <para>
10971 Controls the handling of encrypted messages when forwarding a message.
10972 When <emphasis>set</emphasis>, the outer layer of encryption is stripped off.  This
10973 variable is only used if <link linkend="mime-forward">&dollar;mime&lowbar;forward</link> is <emphasis>set</emphasis> and
10974 <link linkend="mime-forward-decode">&dollar;mime&lowbar;forward&lowbar;decode</link> is <emphasis>unset</emphasis>.
10975 (PGP only)
10976 </para>
10977 </sect2>
10978
10979 <sect2 id="smime-timeout">
10980 <title>smime&lowbar;timeout</title>
10981 <literallayout>Type: number
10982 Default: 300</literallayout>
10983
10984 <para>
10985 The number of seconds after which a cached passphrase will expire if
10986 not used.
10987 (S/MIME only)
10988 </para>
10989 </sect2>
10990
10991 <sect2 id="smime-encrypt-with">
10992 <title>smime&lowbar;encrypt&lowbar;with</title>
10993 <literallayout>Type: string
10994 Default: (empty)</literallayout>
10995
10996 <para>
10997 This sets the algorithm that should be used for encryption.
10998 Valid choices are <quote>des</quote>, <quote>des3</quote>, <quote>rc2-40</quote>, <quote>rc2-64</quote>, <quote>rc2-128</quote>.
10999 If <emphasis>unset</emphasis>, <quote>3des</quote> (TripleDES) is used.
11000 (S/MIME only)
11001 </para>
11002 </sect2>
11003
11004 <sect2 id="smime-keys">
11005 <title>smime&lowbar;keys</title>
11006 <literallayout>Type: path
11007 Default: (empty)</literallayout>
11008
11009 <para>
11010 Since for S/MIME there is no pubring/secring as with PGP, mutt has to handle
11011 storage and retrieval of keys/certs by itself. This is very basic right now,
11012 and stores keys and certificates in two different directories, both
11013 named as the hash-value retrieved from OpenSSL. There is an index file
11014 which contains mailbox-address keyid pair, and which can be manually
11015 edited. This option points to the location of the private keys.
11016 (S/MIME only)
11017 </para>
11018 </sect2>
11019
11020 <sect2 id="smime-ca-location">
11021 <title>smime&lowbar;ca&lowbar;location</title>
11022 <literallayout>Type: path
11023 Default: (empty)</literallayout>
11024
11025 <para>
11026 This variable contains the name of either a directory, or a file which
11027 contains trusted certificates for use with OpenSSL.
11028 (S/MIME only)
11029 </para>
11030 <para>
11031 <emphasis role="bold">Note:</emphasis> On Debian systems, this defaults to the first existing file in
11032 the following list: &tilde;/.smime/ca-certificates.crt &tilde;/.smime/ca-bundle.crt
11033 /etc/ssl/certs/ca-certificates.crt.
11034 </para>
11035 </sect2>
11036
11037 <sect2 id="smime-certificates">
11038 <title>smime&lowbar;certificates</title>
11039 <literallayout>Type: path
11040 Default: (empty)</literallayout>
11041
11042 <para>
11043 Since for S/MIME there is no pubring/secring as with PGP, mutt has to handle
11044 storage and retrieval of keys by itself. This is very basic right
11045 now, and keys and certificates are stored in two different
11046 directories, both named as the hash-value retrieved from
11047 OpenSSL. There is an index file which contains mailbox-address
11048 keyid pairs, and which can be manually edited. This option points to
11049 the location of the certificates.
11050 (S/MIME only)
11051 </para>
11052 </sect2>
11053
11054 <sect2 id="smime-decrypt-command">
11055 <title>smime&lowbar;decrypt&lowbar;command</title>
11056 <literallayout>Type: string
11057 Default: (empty)</literallayout>
11058
11059 <para>
11060 This format string specifies a command which is used to decrypt
11061 <literal>application/x-pkcs7-mime</literal> attachments.
11062 </para>
11063 <para>
11064 The OpenSSL command formats have their own set of <literal>printf(3)</literal>-like sequences
11065 similar to PGP's:
11066
11067 </para>
11068
11069 <variablelist>
11070 <varlistentry><term>&percnt;f </term>
11071 <listitem><para>Expands to the name of a file containing a message.
11072 </para></listitem></varlistentry>
11073 <varlistentry><term>&percnt;s </term>
11074 <listitem><para>Expands to the name of a file containing the signature part
11075            of a <literal>multipart/signed</literal> attachment when verifying it.
11076 </para></listitem></varlistentry>
11077 <varlistentry><term>&percnt;k </term>
11078 <listitem><para>The key-pair specified with <link linkend="smime-default-key">&dollar;smime&lowbar;default&lowbar;key</link>
11079 </para></listitem></varlistentry>
11080 <varlistentry><term>&percnt;c </term>
11081 <listitem><para>One or more certificate IDs.
11082 </para></listitem></varlistentry>
11083 <varlistentry><term>&percnt;a </term>
11084 <listitem><para>The algorithm used for encryption.
11085 </para></listitem></varlistentry>
11086 <varlistentry><term>&percnt;C </term>
11087 <listitem><para>CA location:  Depending on whether <link linkend="smime-ca-location">&dollar;smime&lowbar;ca&lowbar;location</link>
11088            points to a directory or file, this expands to
11089            <quote>-CApath <link linkend="smime-ca-location">&dollar;smime&lowbar;ca&lowbar;location</link></quote> or <quote>-CAfile <link linkend="smime-ca-location">&dollar;smime&lowbar;ca&lowbar;location</link></quote>.
11090 </para></listitem></varlistentry></variablelist>
11091
11092 <para>
11093 For examples on how to configure these formats, see the <literal>smime.rc</literal> in
11094 the <literal>samples/</literal> subdirectory which has been installed on your system
11095 alongside the documentation.
11096 (S/MIME only)
11097 </para>
11098 </sect2>
11099
11100 <sect2 id="smime-verify-command">
11101 <title>smime&lowbar;verify&lowbar;command</title>
11102 <literallayout>Type: string
11103 Default: (empty)</literallayout>
11104
11105 <para>
11106 This command is used to verify S/MIME signatures of type <literal>multipart/signed</literal>.
11107 </para>
11108 <para>
11109 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11110 possible <literal>printf(3)</literal>-like sequences.
11111 (S/MIME only)
11112 </para>
11113 </sect2>
11114
11115 <sect2 id="smime-verify-opaque-command">
11116 <title>smime&lowbar;verify&lowbar;opaque&lowbar;command</title>
11117 <literallayout>Type: string
11118 Default: (empty)</literallayout>
11119
11120 <para>
11121 This command is used to verify S/MIME signatures of type
11122 <literal>application/x-pkcs7-mime</literal>.
11123 </para>
11124 <para>
11125 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11126 possible <literal>printf(3)</literal>-like sequences.
11127 (S/MIME only)
11128 </para>
11129 </sect2>
11130
11131 <sect2 id="smime-sign-command">
11132 <title>smime&lowbar;sign&lowbar;command</title>
11133 <literallayout>Type: string
11134 Default: (empty)</literallayout>
11135
11136 <para>
11137 This command is used to created S/MIME signatures of type
11138 <literal>multipart/signed</literal>, which can be read by all mail clients.
11139 </para>
11140 <para>
11141 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11142 possible <literal>printf(3)</literal>-like sequences.
11143 (S/MIME only)
11144 </para>
11145 </sect2>
11146
11147 <sect2 id="smime-sign-opaque-command">
11148 <title>smime&lowbar;sign&lowbar;opaque&lowbar;command</title>
11149 <literallayout>Type: string
11150 Default: (empty)</literallayout>
11151
11152 <para>
11153 This command is used to created S/MIME signatures of type
11154 <literal>application/x-pkcs7-signature</literal>, which can only be handled by mail
11155 clients supporting the S/MIME extension.
11156 </para>
11157 <para>
11158 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11159 possible <literal>printf(3)</literal>-like sequences.
11160 (S/MIME only)
11161 </para>
11162 </sect2>
11163
11164 <sect2 id="smime-encrypt-command">
11165 <title>smime&lowbar;encrypt&lowbar;command</title>
11166 <literallayout>Type: string
11167 Default: (empty)</literallayout>
11168
11169 <para>
11170 This command is used to create encrypted S/MIME messages.
11171 </para>
11172 <para>
11173 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11174 possible <literal>printf(3)</literal>-like sequences.
11175 (S/MIME only)
11176 </para>
11177 </sect2>
11178
11179 <sect2 id="smime-pk7out-command">
11180 <title>smime&lowbar;pk7out&lowbar;command</title>
11181 <literallayout>Type: string
11182 Default: (empty)</literallayout>
11183
11184 <para>
11185 This command is used to extract PKCS7 structures of S/MIME signatures,
11186 in order to extract the public X509 certificate(s).
11187 </para>
11188 <para>
11189 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11190 possible <literal>printf(3)</literal>-like sequences.
11191 (S/MIME only)
11192 </para>
11193 </sect2>
11194
11195 <sect2 id="smime-get-cert-command">
11196 <title>smime&lowbar;get&lowbar;cert&lowbar;command</title>
11197 <literallayout>Type: string
11198 Default: (empty)</literallayout>
11199
11200 <para>
11201 This command is used to extract X509 certificates from a PKCS7 structure.
11202 </para>
11203 <para>
11204 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11205 possible <literal>printf(3)</literal>-like sequences.
11206 (S/MIME only)
11207 </para>
11208 </sect2>
11209
11210 <sect2 id="smime-get-signer-cert-command">
11211 <title>smime&lowbar;get&lowbar;signer&lowbar;cert&lowbar;command</title>
11212 <literallayout>Type: string
11213 Default: (empty)</literallayout>
11214
11215 <para>
11216 This command is used to extract only the signers X509 certificate from a S/MIME
11217 signature, so that the certificate's owner may get compared to the
11218 email's <quote>From:</quote> field.
11219 </para>
11220 <para>
11221 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11222 possible <literal>printf(3)</literal>-like sequences.
11223 (S/MIME only)
11224 </para>
11225 </sect2>
11226
11227 <sect2 id="smime-import-cert-command">
11228 <title>smime&lowbar;import&lowbar;cert&lowbar;command</title>
11229 <literallayout>Type: string
11230 Default: (empty)</literallayout>
11231
11232 <para>
11233 This command is used to import a certificate via smime&lowbar;keys.
11234 </para>
11235 <para>
11236 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11237 possible <literal>printf(3)</literal>-like sequences.
11238 (S/MIME only)
11239 </para>
11240 </sect2>
11241
11242 <sect2 id="smime-get-cert-email-command">
11243 <title>smime&lowbar;get&lowbar;cert&lowbar;email&lowbar;command</title>
11244 <literallayout>Type: string
11245 Default: (empty)</literallayout>
11246
11247 <para>
11248 This command is used to extract the mail address(es) used for storing
11249 X509 certificates, and for verification purposes (to check whether the
11250 certificate was issued for the sender's mailbox).
11251 </para>
11252 <para>
11253 This is a format string, see the <link linkend="smime-decrypt-command">&dollar;smime&lowbar;decrypt&lowbar;command</link> command for
11254 possible <literal>printf(3)</literal>-like sequences.
11255 (S/MIME only)
11256 </para>
11257 </sect2>
11258
11259 <sect2 id="smime-default-key">
11260 <title>smime&lowbar;default&lowbar;key</title>
11261 <literallayout>Type: string
11262 Default: (empty)</literallayout>
11263
11264 <para>
11265 This is the default key-pair to use for signing. This must be set to the
11266 keyid (the hash-value that OpenSSL generates) to work properly
11267 (S/MIME only)
11268 </para>
11269 </sect2>
11270
11271 <sect2 id="ssl-client-cert">
11272 <title>ssl&lowbar;client&lowbar;cert</title>
11273 <literallayout>Type: path
11274 Default: (empty)</literallayout>
11275
11276 <para>
11277 The file containing a client certificate and its associated private
11278 key.
11279 </para>
11280 </sect2>
11281
11282 <sect2 id="ssl-force-tls">
11283 <title>ssl&lowbar;force&lowbar;tls</title>
11284 <literallayout>Type: boolean
11285 Default: no</literallayout>
11286
11287 <para>
11288 If this variable is <emphasis>set</emphasis>, Mutt will require that all connections
11289 to remote servers be encrypted. Furthermore it will attempt to
11290 negotiate TLS even if the server does not advertise the capability,
11291 since it would otherwise have to abort the connection anyway. This
11292 option supersedes <link linkend="ssl-starttls">&dollar;ssl&lowbar;starttls</link>.
11293 </para>
11294 </sect2>
11295
11296 <sect2 id="ssl-starttls">
11297 <title>ssl&lowbar;starttls</title>
11298 <literallayout>Type: quadoption
11299 Default: yes</literallayout>
11300
11301 <para>
11302 If <emphasis>set</emphasis> (the default), mutt will attempt to use <literal>STARTTLS</literal> on servers
11303 advertising the capability. When <emphasis>unset</emphasis>, mutt will not attempt to
11304 use <literal>STARTTLS</literal> regardless of the server's capabilities.
11305 </para>
11306 </sect2>
11307
11308 <sect2 id="certificate-file">
11309 <title>certificate&lowbar;file</title>
11310 <literallayout>Type: path
11311 Default: <quote><literal>&tilde;/.mutt&lowbar;certificates</literal></quote></literallayout>
11312
11313 <para>
11314 This variable specifies the file where the certificates you trust
11315 are saved. When an unknown certificate is encountered, you are asked
11316 if you accept it or not. If you accept it, the certificate can also
11317 be saved in this file and further connections are automatically
11318 accepted.
11319 </para>
11320 <para>
11321 You can also manually add CA certificates in this file. Any server
11322 certificate that is signed with one of these CA certificates is
11323 also automatically accepted.
11324 </para>
11325 <para>
11326 Example:
11327
11328 </para>
11329
11330 <screen>
11331 set certificate_file=~/.mutt/certificates
11332
11333 </screen></sect2>
11334
11335 <sect2 id="ssl-use-sslv3">
11336 <title>ssl&lowbar;use&lowbar;sslv3</title>
11337 <literallayout>Type: boolean
11338 Default: yes</literallayout>
11339
11340 <para>
11341 This variable specifies whether to attempt to use SSLv3 in the
11342 SSL authentication process.
11343 </para>
11344 </sect2>
11345
11346 <sect2 id="ssl-use-tlsv1">
11347 <title>ssl&lowbar;use&lowbar;tlsv1</title>
11348 <literallayout>Type: boolean
11349 Default: yes</literallayout>
11350
11351 <para>
11352 This variable specifies whether to attempt to use TLSv1 in the
11353 SSL authentication process.
11354 </para>
11355 </sect2>
11356
11357 <sect2 id="ssl-min-dh-prime-bits">
11358 <title>ssl&lowbar;min&lowbar;dh&lowbar;prime&lowbar;bits</title>
11359 <literallayout>Type: number
11360 Default: 0</literallayout>
11361
11362 <para>
11363 This variable specifies the minimum acceptable prime size (in bits)
11364 for use in any Diffie-Hellman key exchange. A value of 0 will use
11365 the default from the GNUTLS library.
11366 </para>
11367 </sect2>
11368
11369 <sect2 id="ssl-ca-certificates-file">
11370 <title>ssl&lowbar;ca&lowbar;certificates&lowbar;file</title>
11371 <literallayout>Type: path
11372 Default: (empty)</literallayout>
11373
11374 <para>
11375 This variable specifies a file containing trusted CA certificates.
11376 Any server certificate that is signed with one of these CA
11377 certificates is also automatically accepted.
11378 </para>
11379 <para>
11380 Example:
11381
11382 </para>
11383
11384 <screen>
11385 set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
11386
11387 </screen><para>
11388 <emphasis role="bold">Note:</emphasis> On Debian systems, this variable defaults to the example
11389 mentioned. This file is managed by the <quote>ca-certificates</quote> package.
11390 </para>
11391 </sect2>
11392
11393 <sect2 id="pipe-split">
11394 <title>pipe&lowbar;split</title>
11395 <literallayout>Type: boolean
11396 Default: no</literallayout>
11397
11398 <para>
11399 Used in connection with the <literal>&lt;pipe-message&gt;</literal> function following
11400 <literal>&lt;tag-prefix&gt;</literal>.  If this variable is <emphasis>unset</emphasis>, when piping a list of
11401 tagged messages Mutt will concatenate the messages and will pipe them
11402 all concatenated.  When <emphasis>set</emphasis>, Mutt will pipe the messages one by one.
11403 In both cases the messages are piped in the current sorted order,
11404 and the <link linkend="pipe-sep">&dollar;pipe&lowbar;sep</link> separator is added after each message.
11405 </para>
11406 </sect2>
11407
11408 <sect2 id="pipe-decode">
11409 <title>pipe&lowbar;decode</title>
11410 <literallayout>Type: boolean
11411 Default: no</literallayout>
11412
11413 <para>
11414 Used in connection with the <literal>&lt;pipe-message&gt;</literal> command.  When <emphasis>unset</emphasis>,
11415 Mutt will pipe the messages without any preprocessing. When <emphasis>set</emphasis>, Mutt
11416 will weed headers and will attempt to decode the messages
11417 first.
11418 </para>
11419 </sect2>
11420
11421 <sect2 id="pipe-sep">
11422 <title>pipe&lowbar;sep</title>
11423 <literallayout>Type: string
11424 Default: <quote><literal>&bsol;n</literal></quote></literallayout>
11425
11426 <para>
11427 The separator to add between messages when piping a list of tagged
11428 messages to an external Unix command.
11429 </para>
11430 </sect2>
11431
11432 <sect2 id="pop-authenticators">
11433 <title>pop&lowbar;authenticators</title>
11434 <literallayout>Type: string
11435 Default: (empty)</literallayout>
11436
11437 <para>
11438 This is a colon-delimited list of authentication methods mutt may
11439 attempt to use to log in to an POP server, in the order mutt should
11440 try them.  Authentication methods are either <quote>user</quote>, <quote>apop</quote> or any
11441 SASL mechanism, eg <quote>digest-md5</quote>, <quote>gssapi</quote> or <quote>cram-md5</quote>.
11442 This option is case-insensitive. If this option is <emphasis>unset</emphasis>
11443 (the default) mutt will try all available methods, in order from
11444 most-secure to least-secure.
11445 </para>
11446 <para>
11447 Example:
11448
11449 </para>
11450
11451 <screen>
11452 set pop_authenticators="digest-md5:apop:user"
11453
11454 </screen></sect2>
11455
11456 <sect2 id="pop-auth-try-all">
11457 <title>pop&lowbar;auth&lowbar;try&lowbar;all</title>
11458 <literallayout>Type: boolean
11459 Default: yes</literallayout>
11460
11461 <para>
11462 If <emphasis>set</emphasis>, Mutt will try all available authentication methods.
11463 When <emphasis>unset</emphasis>, Mutt will only fall back to other authentication
11464 methods if the previous methods are unavailable. If a method is
11465 available but authentication fails, Mutt will not connect to the POP server.
11466 </para>
11467 </sect2>
11468
11469 <sect2 id="pop-checkinterval">
11470 <title>pop&lowbar;checkinterval</title>
11471 <literallayout>Type: number
11472 Default: 60</literallayout>
11473
11474 <para>
11475 This variable configures how often (in seconds) mutt should look for
11476 new mail in the currently selected mailbox if it is a POP mailbox.
11477 </para>
11478 </sect2>
11479
11480 <sect2 id="pop-delete">
11481 <title>pop&lowbar;delete</title>
11482 <literallayout>Type: quadoption
11483 Default: ask-no</literallayout>
11484
11485 <para>
11486 If <emphasis>set</emphasis>, Mutt will delete successfully downloaded messages from the POP
11487 server when using the <literal><link linkend="fetch-mail">&lt;fetch-mail&gt;</link></literal> function.  When <emphasis>unset</emphasis>, Mutt will
11488 download messages but also leave them on the POP server.
11489 </para>
11490 </sect2>
11491
11492 <sect2 id="pop-host">
11493 <title>pop&lowbar;host</title>
11494 <literallayout>Type: string
11495 Default: (empty)</literallayout>
11496
11497 <para>
11498 The name of your POP server for the <literal><link linkend="fetch-mail">&lt;fetch-mail&gt;</link></literal> function.  You
11499 can also specify an alternative port, username and password, ie:
11500
11501 </para>
11502
11503 <screen>
11504 [pop[s]://][username[:password]@]popserver[:port]
11505
11506 </screen><para>
11507 where <quote>&lsqb;...&rsqb;</quote> denotes an optional part.
11508 </para>
11509 </sect2>
11510
11511 <sect2 id="pop-last">
11512 <title>pop&lowbar;last</title>
11513 <literallayout>Type: boolean
11514 Default: no</literallayout>
11515
11516 <para>
11517 If this variable is <emphasis>set</emphasis>, mutt will try to use the <quote><literal>LAST</literal></quote> POP command
11518 for retrieving only unread messages from the POP server when using
11519 the <literal><link linkend="fetch-mail">&lt;fetch-mail&gt;</link></literal> function.
11520 </para>
11521 </sect2>
11522
11523 <sect2 id="pop-reconnect">
11524 <title>pop&lowbar;reconnect</title>
11525 <literallayout>Type: quadoption
11526 Default: ask-yes</literallayout>
11527
11528 <para>
11529 Controls whether or not Mutt will try to reconnect to the POP server if
11530 the connection is lost.
11531 </para>
11532 </sect2>
11533
11534 <sect2 id="pop-user">
11535 <title>pop&lowbar;user</title>
11536 <literallayout>Type: string
11537 Default: (empty)</literallayout>
11538
11539 <para>
11540 Your login name on the POP server.
11541 </para>
11542 <para>
11543 This variable defaults to your user name on the local machine.
11544 </para>
11545 </sect2>
11546
11547 <sect2 id="pop-pass">
11548 <title>pop&lowbar;pass</title>
11549 <literallayout>Type: string
11550 Default: (empty)</literallayout>
11551
11552 <para>
11553 Specifies the password for your POP account.  If <emphasis>unset</emphasis>, Mutt will
11554 prompt you for your password when you open a POP mailbox.
11555 </para>
11556 <para>
11557 <emphasis role="bold">Warning</emphasis>: you should only use this option when you are on a
11558 fairly secure machine, because the superuser can read your muttrc
11559 even if you are the only one who can read the file.
11560 </para>
11561 </sect2>
11562
11563 <sect2 id="post-indent-string">
11564 <title>post&lowbar;indent&lowbar;string</title>
11565 <literallayout>Type: string
11566 Default: (empty)</literallayout>
11567
11568 <para>
11569 Similar to the <link linkend="attribution">&dollar;attribution</link> variable, Mutt will append this
11570 string after the inclusion of a message which is being replied to.
11571 </para>
11572 </sect2>
11573
11574 <sect2 id="postpone">
11575 <title>postpone</title>
11576 <literallayout>Type: quadoption
11577 Default: ask-yes</literallayout>
11578
11579 <para>
11580 Controls whether or not messages are saved in the <link linkend="postponed">&dollar;postponed</link>
11581 mailbox when you elect not to send immediately.
11582 </para>
11583 <para>
11584 Also see the <link linkend="recall">&dollar;recall</link> variable.
11585 </para>
11586 </sect2>
11587
11588 <sect2 id="postponed">
11589 <title>postponed</title>
11590 <literallayout>Type: path
11591 Default: <quote><literal>&tilde;/postponed</literal></quote></literallayout>
11592
11593 <para>
11594 Mutt allows you to indefinitely <quote><link linkend="postpone">postpone</link> sending a message</quote> which
11595 you are editing.  When you choose to postpone a message, Mutt saves it
11596 in the mailbox specified by this variable.
11597 </para>
11598 <para>
11599 Also see the <link linkend="postpone">&dollar;postpone</link> variable.
11600 </para>
11601 </sect2>
11602
11603 <sect2 id="preconnect">
11604 <title>preconnect</title>
11605 <literallayout>Type: string
11606 Default: (empty)</literallayout>
11607
11608 <para>
11609 If <emphasis>set</emphasis>, a shell command to be executed if mutt fails to establish
11610 a connection to the server. This is useful for setting up secure
11611 connections, e.g. with <literal>ssh(1)</literal>. If the command returns a  nonzero
11612 status, mutt gives up opening the server. Example:
11613
11614 </para>
11615
11616 <screen>
11617 set preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net \
11618 sleep 20 &lt; /dev/null &gt; /dev/null"
11619
11620 </screen><para>
11621 Mailbox <quote>foo</quote> on <quote>mailhost.net</quote> can now be reached
11622 as <quote>{localhost:1234}foo</quote>.
11623 </para>
11624 <para>
11625 Note: For this example to work, you must be able to log in to the
11626 remote machine without having to enter a password.
11627 </para>
11628 <para>
11629 When set, Mutt uses the tunnel for all remote connections.
11630 Please see <quote><link linkend="account-hook">account-hook</link></quote> in the manual for how to use different
11631 tunnel commands per connection.
11632 </para>
11633 </sect2>
11634
11635 <sect2 id="print">
11636 <title>print</title>
11637 <literallayout>Type: quadoption
11638 Default: ask-no</literallayout>
11639
11640 <para>
11641 Controls whether or not Mutt really prints messages.
11642 This is set to <quote>ask-no</quote> by default, because some people
11643 accidentally hit <quote>p</quote> often.
11644 </para>
11645 </sect2>
11646
11647 <sect2 id="print-command">
11648 <title>print&lowbar;command</title>
11649 <literallayout>Type: path
11650 Default: <quote><literal>lpr</literal></quote></literallayout>
11651
11652 <para>
11653 This specifies the command pipe that should be used to print messages.
11654 </para>
11655 </sect2>
11656
11657 <sect2 id="print-decode">
11658 <title>print&lowbar;decode</title>
11659 <literallayout>Type: boolean
11660 Default: yes</literallayout>
11661
11662 <para>
11663 Used in connection with the <literal>&lt;print-message&gt;</literal> command.  If this
11664 option is <emphasis>set</emphasis>, the message is decoded before it is passed to the
11665 external command specified by <link linkend="print-command">&dollar;print&lowbar;command</link>.  If this option
11666 is <emphasis>unset</emphasis>, no processing will be applied to the message when
11667 printing it.  The latter setting may be useful if you are using
11668 some advanced printer filter which is able to properly format
11669 e-mail messages for printing.
11670 </para>
11671 </sect2>
11672
11673 <sect2 id="print-split">
11674 <title>print&lowbar;split</title>
11675 <literallayout>Type: boolean
11676 Default: no</literallayout>
11677
11678 <para>
11679 Used in connection with the <literal>&lt;print-message&gt;</literal> command.  If this option
11680 is <emphasis>set</emphasis>, the command specified by <link linkend="print-command">&dollar;print&lowbar;command</link> is executed once for
11681 each message which is to be printed.  If this option is <emphasis>unset</emphasis>,
11682 the command specified by <link linkend="print-command">&dollar;print&lowbar;command</link> is executed only once, and
11683 all the messages are concatenated, with a form feed as the message
11684 separator.
11685 </para>
11686 <para>
11687 Those who use the <literal>enscript</literal>(1) program's mail-printing mode will
11688 most likely want to <emphasis>set</emphasis> this option.
11689 </para>
11690 </sect2>
11691
11692 <sect2 id="prompt-after">
11693 <title>prompt&lowbar;after</title>
11694 <literallayout>Type: boolean
11695 Default: yes</literallayout>
11696
11697 <para>
11698 If you use an <emphasis>external</emphasis> <link linkend="pager">&dollar;pager</link>, setting this variable will
11699 cause Mutt to prompt you for a command when the pager exits rather
11700 than returning to the index menu.  If <emphasis>unset</emphasis>, Mutt will return to the
11701 index menu when the external pager exits.
11702 </para>
11703 </sect2>
11704
11705 <sect2 id="query-command">
11706 <title>query&lowbar;command</title>
11707 <literallayout>Type: path
11708 Default: (empty)</literallayout>
11709
11710 <para>
11711 This specifies the command that mutt will use to make external address
11712 queries.  The string should contain a <quote>&percnt;s</quote>, which will be substituted
11713 with the query string the user types.  See <quote><link linkend="query">query</link></quote> for more
11714 information.
11715 </para>
11716 </sect2>
11717
11718 <sect2 id="query-format">
11719 <title>query&lowbar;format</title>
11720 <literallayout>Type: string
11721 Default: <quote><literal>&percnt;4c &percnt;t &percnt;-25.25a &percnt;-25.25n &percnt;?e?(&percnt;e)?</literal></quote></literallayout>
11722
11723 <para>
11724 This variable describes the format of the <quote>query</quote> menu. The
11725 following <literal>printf(3)</literal>-style sequences are understood:
11726
11727 </para>
11728
11729 <variablelist>
11730 <varlistentry><term>&percnt;a  </term>
11731 <listitem><para>destination address
11732 </para></listitem></varlistentry>
11733 <varlistentry><term>&percnt;c  </term>
11734 <listitem><para>current entry number
11735 </para></listitem></varlistentry>
11736 <varlistentry><term>&percnt;e  </term>
11737 <listitem><para>extra information *
11738 </para></listitem></varlistentry>
11739 <varlistentry><term>&percnt;n  </term>
11740 <listitem><para>destination name
11741 </para></listitem></varlistentry>
11742 <varlistentry><term>&percnt;t  </term>
11743 <listitem><para><quote>*</quote> if current entry is tagged, a space otherwise
11744 </para></listitem></varlistentry>
11745 <varlistentry><term>&percnt;&gt;X </term>
11746 <listitem><para>right justify the rest of the string and pad with <quote>X</quote>
11747 </para></listitem></varlistentry>
11748 <varlistentry><term>&percnt;&verbar;X </term>
11749 <listitem><para>pad to the end of the line with <quote>X</quote>
11750 </para></listitem></varlistentry>
11751 <varlistentry><term>&percnt;*X </term>
11752 <listitem><para>soft-fill with character <quote>X</quote> as pad
11753 </para></listitem></varlistentry></variablelist>
11754
11755 <para>
11756 For an explanation of <quote>soft-fill</quote>, see the <link linkend="index-format">&dollar;index&lowbar;format</link> documentation.
11757 </para>
11758 <para>
11759 * = can be optionally printed if nonzero, see the <link linkend="status-format">&dollar;status&lowbar;format</link> documentation.
11760 </para>
11761 </sect2>
11762
11763 <sect2 id="quit">
11764 <title>quit</title>
11765 <literallayout>Type: quadoption
11766 Default: yes</literallayout>
11767
11768 <para>
11769 This variable controls whether <quote>quit</quote> and <quote>exit</quote> actually quit
11770 from mutt.  If this option is <emphasis>set</emphasis>, they do quit, if it is <emphasis>unset</emphasis>, they
11771 have no effect, and if it is set to <emphasis>ask-yes</emphasis> or <emphasis>ask-no</emphasis>, you are
11772 prompted for confirmation when you try to quit.
11773 </para>
11774 </sect2>
11775
11776 <sect2 id="quote-regexp">
11777 <title>quote&lowbar;regexp</title>
11778 <literallayout>Type: regular expression
11779 Default: <quote><literal>&circ;(&lsqb; &bsol;t&rsqb;*&lsqb;&verbar;&gt;:}#&rsqb;)+</literal></quote></literallayout>
11780
11781 <para>
11782 A regular expression used in the internal pager to determine quoted
11783 sections of text in the body of a message. Quoted text may be filtered
11784 out using the <literal>&lt;toggle-quoted&gt;</literal> command, or colored according to the
11785 <quote>color quoted</quote> family of directives.
11786 </para>
11787 <para>
11788 Higher levels of quoting may be colored differently (<quote>color quoted1</quote>,
11789 <quote>color quoted2</quote>, etc.). The quoting level is determined by removing
11790 the last character from the matched text and recursively reapplying
11791 the regular expression until it fails to produce a match.
11792 </para>
11793 <para>
11794 Match detection may be overridden by the <link linkend="smileys">&dollar;smileys</link> regular expression.
11795 </para>
11796 </sect2>
11797
11798 <sect2 id="read-inc">
11799 <title>read&lowbar;inc</title>
11800 <literallayout>Type: number
11801 Default: 10</literallayout>
11802
11803 <para>
11804 If set to a value greater than 0, Mutt will display which message it
11805 is currently on when reading a mailbox or when performing search actions
11806 such as search and limit. The message is printed after
11807 this many messages have been read or searched (e.g., if set to 25, Mutt will
11808 print a message when it is at message 25, and then again when it gets
11809 to message 50).  This variable is meant to indicate progress when
11810 reading or searching large mailboxes which may take some time.
11811 When set to 0, only a single message will appear before the reading
11812 the mailbox.
11813 </para>
11814 <para>
11815 Also see the <link linkend="write-inc">&dollar;write&lowbar;inc</link>, <link linkend="net-inc">&dollar;net&lowbar;inc</link> and <link linkend="time-inc">&dollar;time&lowbar;inc</link> variables and the
11816 <quote><link linkend="tuning">tuning</link></quote> section of the manual for performance considerations.
11817 </para>
11818 </sect2>
11819
11820 <sect2 id="read-only">
11821 <title>read&lowbar;only</title>
11822 <literallayout>Type: boolean
11823 Default: no</literallayout>
11824
11825 <para>
11826 If <emphasis>set</emphasis>, all folders are opened in read-only mode.
11827 </para>
11828 </sect2>
11829
11830 <sect2 id="realname">
11831 <title>realname</title>
11832 <literallayout>Type: string
11833 Default: (empty)</literallayout>
11834
11835 <para>
11836 This variable specifies what <quote>real</quote> or <quote>personal</quote> name should be used
11837 when sending messages.
11838 </para>
11839 <para>
11840 By default, this is the GECOS field from <literal>/etc/passwd</literal>.  Note that this
11841 variable will <emphasis>not</emphasis> be used when the user has set a real name
11842 in the <link linkend="from">&dollar;from</link> variable.
11843 </para>
11844 </sect2>
11845
11846 <sect2 id="recall">
11847 <title>recall</title>
11848 <literallayout>Type: quadoption
11849 Default: ask-yes</literallayout>
11850
11851 <para>
11852 Controls whether or not Mutt recalls postponed messages
11853 when composing a new message.
11854 </para>
11855 <para>
11856 <emphasis>Setting</emphasis> this variable to is not generally useful, and thus not
11857 recommended.
11858 </para>
11859 <para>
11860 Also see <link linkend="postponed">&dollar;postponed</link> variable.
11861 </para>
11862 </sect2>
11863
11864 <sect2 id="record">
11865 <title>record</title>
11866 <literallayout>Type: path
11867 Default: <quote><literal>&tilde;/sent</literal></quote></literallayout>
11868
11869 <para>
11870 This specifies the file into which your outgoing messages should be
11871 appended.  (This is meant as the primary method for saving a copy of
11872 your messages, but another way to do this is using the <quote><link linkend="my-hdr">my&lowbar;hdr</link></quote>
11873 command to create a <quote>Bcc:</quote> field with your email address in it.)
11874 </para>
11875 <para>
11876 The value of <emphasis><link linkend="record">&dollar;record</link></emphasis> is overridden by the <link linkend="force-name">&dollar;force&lowbar;name</link> and
11877 <link linkend="save-name">&dollar;save&lowbar;name</link> variables, and the <quote><link linkend="fcc-hook">fcc-hook</link></quote> command.
11878 </para>
11879 </sect2>
11880
11881 <sect2 id="reply-regexp">
11882 <title>reply&lowbar;regexp</title>
11883 <literallayout>Type: regular expression
11884 Default: <quote><literal>&circ;(re(&lsqb;&bsol;&lsqb;0-9&bsol;&rsqb;+&rsqb;)*&verbar;aw):&lsqb; &bsol;t&rsqb;*</literal></quote></literallayout>
11885
11886 <para>
11887 A regular expression used to recognize reply messages when threading
11888 and replying. The default value corresponds to the English &quot;Re:&quot; and
11889 the German &quot;Aw:&quot;.
11890 </para>
11891 </sect2>
11892
11893 <sect2 id="reply-self">
11894 <title>reply&lowbar;self</title>
11895 <literallayout>Type: boolean
11896 Default: no</literallayout>
11897
11898 <para>
11899 If <emphasis>unset</emphasis> and you are replying to a message sent by you, Mutt will
11900 assume that you want to reply to the recipients of that message rather
11901 than to yourself.
11902 </para>
11903 <para>
11904 Also see the <quote><link linkend="alternates">alternates</link></quote> command.
11905 </para>
11906 </sect2>
11907
11908 <sect2 id="reply-to">
11909 <title>reply&lowbar;to</title>
11910 <literallayout>Type: quadoption
11911 Default: ask-yes</literallayout>
11912
11913 <para>
11914 If <emphasis>set</emphasis>, when replying to a message, Mutt will use the address listed
11915 in the Reply-to: header as the recipient of the reply.  If <emphasis>unset</emphasis>,
11916 it will use the address in the From: header field instead.  This
11917 option is useful for reading a mailing list that sets the Reply-To:
11918 header field to the list address and you want to send a private
11919 message to the author of a message.
11920 </para>
11921 </sect2>
11922
11923 <sect2 id="resolve">
11924 <title>resolve</title>
11925 <literallayout>Type: boolean
11926 Default: yes</literallayout>
11927
11928 <para>
11929 When <emphasis>set</emphasis>, the cursor will be automatically advanced to the next
11930 (possibly undeleted) message whenever a command that modifies the
11931 current message is executed.
11932 </para>
11933 </sect2>
11934
11935 <sect2 id="reverse-alias">
11936 <title>reverse&lowbar;alias</title>
11937 <literallayout>Type: boolean
11938 Default: no</literallayout>
11939
11940 <para>
11941 This variable controls whether or not Mutt will display the <quote>personal</quote>
11942 name from your aliases in the index menu if it finds an alias that
11943 matches the message's sender.  For example, if you have the following
11944 alias:
11945
11946 </para>
11947
11948 <screen>
11949 alias juser abd30425@somewhere.net (Joe User)
11950
11951 </screen><para>
11952 and then you receive mail which contains the following header:
11953
11954 </para>
11955
11956 <screen>
11957 From: abd30425@somewhere.net
11958
11959 </screen><para>
11960 It would be displayed in the index menu as <quote>Joe User</quote> instead of
11961 <quote>abd30425@somewhere.net.</quote>  This is useful when the person's e-mail
11962 address is not human friendly.
11963 </para>
11964 </sect2>
11965
11966 <sect2 id="reverse-name">
11967 <title>reverse&lowbar;name</title>
11968 <literallayout>Type: boolean
11969 Default: no</literallayout>
11970
11971 <para>
11972 It may sometimes arrive that you receive mail to a certain machine,
11973 move the messages to another machine, and reply to some the messages
11974 from there.  If this variable is <emphasis>set</emphasis>, the default <emphasis>From:</emphasis> line of
11975 the reply messages is built using the address where you received the
11976 messages you are replying to <emphasis role="bold">if</emphasis> that address matches your
11977 <quote><link linkend="alternates">alternates</link></quote>.  If the variable is <emphasis>unset</emphasis>, or the address that would be
11978 used doesn't match your <quote><link linkend="alternates">alternates</link></quote>, the <emphasis>From:</emphasis> line will use
11979 your address on the current machine.
11980 </para>
11981 <para>
11982 Also see the <quote><link linkend="alternates">alternates</link></quote> command.
11983 </para>
11984 </sect2>
11985
11986 <sect2 id="reverse-realname">
11987 <title>reverse&lowbar;realname</title>
11988 <literallayout>Type: boolean
11989 Default: yes</literallayout>
11990
11991 <para>
11992 This variable fine-tunes the behaviour of the <link linkend="reverse-name">&dollar;reverse&lowbar;name</link> feature.
11993 When it is <emphasis>set</emphasis>, mutt will use the address from incoming messages as-is,
11994 possibly including eventual real names.  When it is <emphasis>unset</emphasis>, mutt will
11995 override any such real names with the setting of the <link linkend="realname">&dollar;realname</link> variable.
11996 </para>
11997 </sect2>
11998
11999 <sect2 id="rfc2047-parameters">
12000 <title>rfc2047&lowbar;parameters</title>
12001 <literallayout>Type: boolean
12002 Default: no</literallayout>
12003
12004 <para>
12005 When this variable is <emphasis>set</emphasis>, Mutt will decode RFC2047-encoded MIME
12006 parameters. You want to set this variable when mutt suggests you
12007 to save attachments to files named like:
12008
12009 </para>
12010
12011 <screen>
12012 =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
12013
12014 </screen><para>
12015 When this variable is <emphasis>set</emphasis> interactively, the change won't be
12016 active until you change folders.
12017 </para>
12018 <para>
12019 Note that this use of RFC2047's encoding is explicitly
12020 prohibited by the standard, but nevertheless encountered in the
12021 wild.
12022 </para>
12023 <para>
12024 Also note that setting this parameter will <emphasis>not</emphasis> have the effect
12025 that mutt <emphasis>generates</emphasis> this kind of encoding.  Instead, mutt will
12026 unconditionally use the encoding specified in RFC2231.
12027 </para>
12028 </sect2>
12029
12030 <sect2 id="save-address">
12031 <title>save&lowbar;address</title>
12032 <literallayout>Type: boolean
12033 Default: no</literallayout>
12034
12035 <para>
12036 If <emphasis>set</emphasis>, mutt will take the sender's full address when choosing a
12037 default folder for saving a mail. If <link linkend="save-name">&dollar;save&lowbar;name</link> or <link linkend="force-name">&dollar;force&lowbar;name</link>
12038 is <emphasis>set</emphasis> too, the selection of the Fcc folder will be changed as well.
12039 </para>
12040 </sect2>
12041
12042 <sect2 id="save-empty">
12043 <title>save&lowbar;empty</title>
12044 <literallayout>Type: boolean
12045 Default: yes</literallayout>
12046
12047 <para>
12048 When <emphasis>unset</emphasis>, mailboxes which contain no saved messages will be removed
12049 when closed (the exception is <link linkend="spoolfile">&dollar;spoolfile</link> which is never removed).
12050 If <emphasis>set</emphasis>, mailboxes are never removed.
12051 </para>
12052 <para>
12053 <emphasis role="bold">Note:</emphasis> This only applies to mbox and MMDF folders, Mutt does not
12054 delete MH and Maildir directories.
12055 </para>
12056 </sect2>
12057
12058 <sect2 id="save-history">
12059 <title>save&lowbar;history</title>
12060 <literallayout>Type: number
12061 Default: 0</literallayout>
12062
12063 <para>
12064 This variable controls the size of the history (per category) saved in the
12065 <link linkend="history-file">&dollar;history&lowbar;file</link> file.
12066 </para>
12067 </sect2>
12068
12069 <sect2 id="save-name">
12070 <title>save&lowbar;name</title>
12071 <literallayout>Type: boolean
12072 Default: no</literallayout>
12073
12074 <para>
12075 This variable controls how copies of outgoing messages are saved.
12076 When <emphasis>set</emphasis>, a check is made to see if a mailbox specified by the
12077 recipient address exists (this is done by searching for a mailbox in
12078 the <link linkend="folder">&dollar;folder</link> directory with the <emphasis>username</emphasis> part of the
12079 recipient address).  If the mailbox exists, the outgoing message will
12080 be saved to that mailbox, otherwise the message is saved to the
12081 <link linkend="record">&dollar;record</link> mailbox.
12082 </para>
12083 <para>
12084 Also see the <link linkend="force-name">&dollar;force&lowbar;name</link> variable.
12085 </para>
12086 </sect2>
12087
12088 <sect2 id="score">
12089 <title>score</title>
12090 <literallayout>Type: boolean
12091 Default: yes</literallayout>
12092
12093 <para>
12094 When this variable is <emphasis>unset</emphasis>, scoring is turned off.  This can
12095 be useful to selectively disable scoring for certain folders when the
12096 <link linkend="score-threshold-delete">&dollar;score&lowbar;threshold&lowbar;delete</link> variable and related are used.
12097 </para>
12098 </sect2>
12099
12100 <sect2 id="score-threshold-delete">
12101 <title>score&lowbar;threshold&lowbar;delete</title>
12102 <literallayout>Type: number
12103 Default: -1</literallayout>
12104
12105 <para>
12106 Messages which have been assigned a score equal to or lower than the value
12107 of this variable are automatically marked for deletion by mutt.  Since
12108 mutt scores are always greater than or equal to zero, the default setting
12109 of this variable will never mark a message for deletion.
12110 </para>
12111 </sect2>
12112
12113 <sect2 id="score-threshold-flag">
12114 <title>score&lowbar;threshold&lowbar;flag</title>
12115 <literallayout>Type: number
12116 Default: 9999</literallayout>
12117
12118 <para>
12119 Messages which have been assigned a score greater than or equal to this
12120 variable's value are automatically marked &quot;flagged&quot;.
12121 </para>
12122 </sect2>
12123
12124 <sect2 id="score-threshold-read">
12125 <title>score&lowbar;threshold&lowbar;read</title>
12126 <literallayout>Type: number
12127 Default: -1</literallayout>
12128
12129 <para>
12130 Messages which have been assigned a score equal to or lower than the value
12131 of this variable are automatically marked as read by mutt.  Since
12132 mutt scores are always greater than or equal to zero, the default setting
12133 of this variable will never mark a message read.
12134 </para>
12135 </sect2>
12136
12137 <sect2 id="send-charset">
12138 <title>send&lowbar;charset</title>
12139 <literallayout>Type: string
12140 Default: <quote><literal>us-ascii:iso-8859-1:utf-8</literal></quote></literallayout>
12141
12142 <para>
12143 A colon-delimited list of character sets for outgoing messages. Mutt will use the
12144 first character set into which the text can be converted exactly.
12145 If your <link linkend="charset">&dollar;charset</link> is not <quote>iso-8859-1</quote> and recipients may not
12146 understand <quote>UTF-8</quote>, it is advisable to include in the list an
12147 appropriate widely used standard character set (such as
12148 <quote>iso-8859-2</quote>, <quote>koi8-r</quote> or <quote>iso-2022-jp</quote>) either instead of or after
12149 <quote>iso-8859-1</quote>.
12150 </para>
12151 <para>
12152 In case the text cannot be converted into one of these exactly,
12153 mutt uses <link linkend="charset">&dollar;charset</link> as a fallback.
12154 </para>
12155 </sect2>
12156
12157 <sect2 id="sendmail">
12158 <title>sendmail</title>
12159 <literallayout>Type: path
12160 Default: <quote><literal>/usr/sbin/sendmail -oem -oi</literal></quote></literallayout>
12161
12162 <para>
12163 Specifies the program and arguments used to deliver mail sent by Mutt.
12164 Mutt expects that the specified program interprets additional
12165 arguments as recipient addresses.
12166 </para>
12167 </sect2>
12168
12169 <sect2 id="sendmail-wait">
12170 <title>sendmail&lowbar;wait</title>
12171 <literallayout>Type: number
12172 Default: 0</literallayout>
12173
12174 <para>
12175 Specifies the number of seconds to wait for the <link linkend="sendmail">&dollar;sendmail</link> process
12176 to finish before giving up and putting delivery in the background.
12177 </para>
12178 <para>
12179 Mutt interprets the value of this variable as follows:
12180
12181 </para>
12182
12183 <variablelist>
12184 <varlistentry><term>&gt;0 </term>
12185 <listitem><para>number of seconds to wait for sendmail to finish before continuing
12186 </para></listitem></varlistentry>
12187 <varlistentry><term>0  </term>
12188 <listitem><para>wait forever for sendmail to finish
12189 </para></listitem></varlistentry>
12190 <varlistentry><term>&lt;0 </term>
12191 <listitem><para>always put sendmail in the background without waiting
12192 </para></listitem></varlistentry></variablelist>
12193
12194 <para>
12195 Note that if you specify a value other than 0, the output of the child
12196 process will be put in a temporary file.  If there is some error, you
12197 will be informed as to where to find the output.
12198 </para>
12199 </sect2>
12200
12201 <sect2 id="shell">
12202 <title>shell</title>
12203 <literallayout>Type: path
12204 Default: (empty)</literallayout>
12205
12206 <para>
12207 Command to use when spawning a subshell.  By default, the user's login
12208 shell from <literal>/etc/passwd</literal> is used.
12209 </para>
12210 </sect2>
12211
12212 <sect2 id="sig-dashes">
12213 <title>sig&lowbar;dashes</title>
12214 <literallayout>Type: boolean
12215 Default: yes</literallayout>
12216
12217 <para>
12218 If <emphasis>set</emphasis>, a line containing <quote>-- </quote> (note the trailing space) will be inserted before your
12219 <link linkend="signature">&dollar;signature</link>.  It is <emphasis role="bold">strongly</emphasis> recommended that you not <emphasis>unset</emphasis>
12220 this variable unless your signature contains just your name.  The
12221 reason for this is because many software packages use <quote>-- &bsol;n</quote> to
12222 detect your signature.  For example, Mutt has the ability to highlight
12223 the signature in a different color in the builtin pager.
12224 </para>
12225 </sect2>
12226
12227 <sect2 id="sig-on-top">
12228 <title>sig&lowbar;on&lowbar;top</title>
12229 <literallayout>Type: boolean
12230 Default: no</literallayout>
12231
12232 <para>
12233 If <emphasis>set</emphasis>, the signature will be included before any quoted or forwarded
12234 text.  It is <emphasis role="bold">strongly</emphasis> recommended that you do not set this variable
12235 unless you really know what you are doing, and are prepared to take
12236 some heat from netiquette guardians.
12237 </para>
12238 </sect2>
12239
12240 <sect2 id="signature">
12241 <title>signature</title>
12242 <literallayout>Type: path
12243 Default: <quote><literal>&tilde;/.signature</literal></quote></literallayout>
12244
12245 <para>
12246 Specifies the filename of your signature, which is appended to all
12247 outgoing messages.   If the filename ends with a pipe (<quote>&verbar;</quote>), it is
12248 assumed that filename is a shell command and input should be read from
12249 its standard output.
12250 </para>
12251 </sect2>
12252
12253 <sect2 id="simple-search">
12254 <title>simple&lowbar;search</title>
12255 <literallayout>Type: string
12256 Default: <quote><literal>&tilde;f &percnt;s &verbar; &tilde;s &percnt;s</literal></quote></literallayout>
12257
12258 <para>
12259 Specifies how Mutt should expand a simple search into a real search
12260 pattern.  A simple search is one that does not contain any of the <quote>&tilde;</quote> pattern
12261 operators.  See <quote><link linkend="patterns">patterns</link></quote> for more information on search patterns.
12262 </para>
12263 <para>
12264 For example, if you simply type <quote>joe</quote> at a search or limit prompt, Mutt
12265 will automatically expand it to the value specified by this variable by
12266 replacing <quote>&percnt;s</quote> with the supplied string.
12267 For the default value, <quote>joe</quote> would be expanded to: <quote>&tilde;f joe &verbar; &tilde;s joe</quote>.
12268 </para>
12269 </sect2>
12270
12271 <sect2 id="smart-wrap">
12272 <title>smart&lowbar;wrap</title>
12273 <literallayout>Type: boolean
12274 Default: yes</literallayout>
12275
12276 <para>
12277 Controls the display of lines longer than the screen width in the
12278 internal pager. If <emphasis>set</emphasis>, long lines are wrapped at a word boundary.  If
12279 <emphasis>unset</emphasis>, lines are simply wrapped at the screen edge. Also see the
12280 <link linkend="markers">&dollar;markers</link> variable.
12281 </para>
12282 </sect2>
12283
12284 <sect2 id="smileys">
12285 <title>smileys</title>
12286 <literallayout>Type: regular expression
12287 Default: <quote><literal>(&gt;From )&verbar;(:&lsqb;-&circ;&rsqb;?&lsqb;&rsqb;&lsqb;)(&gt;&lt;}{&verbar;/DP&rsqb;)</literal></quote></literallayout>
12288
12289 <para>
12290 The <emphasis>pager</emphasis> uses this variable to catch some common false
12291 positives of <link linkend="quote-regexp">&dollar;quote&lowbar;regexp</link>, most notably smileys and not consider
12292 a line quoted text if it also matches <link linkend="smileys">&dollar;smileys</link>. This mostly
12293 happens at the beginning of a line.
12294 </para>
12295 </sect2>
12296
12297 <sect2 id="sleep-time">
12298 <title>sleep&lowbar;time</title>
12299 <literallayout>Type: number
12300 Default: 1</literallayout>
12301
12302 <para>
12303 Specifies time, in seconds, to pause while displaying certain informational
12304 messages, while moving from folder to folder and after expunging
12305 messages from the current folder.  The default is to pause one second, so
12306 a value of zero for this option suppresses the pause.
12307 </para>
12308 </sect2>
12309
12310 <sect2 id="smtp-authenticators">
12311 <title>smtp&lowbar;authenticators</title>
12312 <literallayout>Type: string
12313 Default: (empty)</literallayout>
12314
12315 <para>
12316 This is a colon-delimited list of authentication methods mutt may
12317 attempt to use to log in to an SMTP server, in the order mutt should
12318 try them.  Authentication methods are any SASL mechanism, eg
12319 <quote>digest-md5</quote>, <quote>gssapi</quote> or <quote>cram-md5</quote>.
12320 This option is case-insensitive. If it is <quote>unset</quote>
12321 (the default) mutt will try all available methods, in order from
12322 most-secure to least-secure.
12323 </para>
12324 <para>
12325 Example:
12326
12327 </para>
12328
12329 <screen>
12330 set smtp_authenticators="digest-md5:cram-md5"
12331
12332 </screen></sect2>
12333
12334 <sect2 id="smtp-pass">
12335 <title>smtp&lowbar;pass</title>
12336 <literallayout>Type: string
12337 Default: (empty)</literallayout>
12338
12339 <para>
12340 Specifies the password for your SMTP account.  If <emphasis>unset</emphasis>, Mutt will
12341 prompt you for your password when you first send mail via SMTP.
12342 See <link linkend="smtp-url">&dollar;smtp&lowbar;url</link> to configure mutt to send mail via SMTP.
12343 </para>
12344 <para>
12345 <emphasis role="bold">Warning</emphasis>: you should only use this option when you are on a
12346 fairly secure machine, because the superuser can read your muttrc even
12347 if you are the only one who can read the file.
12348 </para>
12349 </sect2>
12350
12351 <sect2 id="smtp-url">
12352 <title>smtp&lowbar;url</title>
12353 <literallayout>Type: string
12354 Default: (empty)</literallayout>
12355
12356 <para>
12357 Defines the SMTP smarthost where sent messages should relayed for
12358 delivery. This should take the form of an SMTP URL, eg:
12359
12360 </para>
12361
12362 <screen>
12363 smtp[s]://[user[:pass]@]host[:port]/
12364
12365 </screen><para>
12366 &bsol;.&bsol;.&bsol;. where <quote>&lsqb;...&rsqb;</quote> denotes an optional part.
12367 Setting this variable overrides the value of the <link linkend="sendmail">&dollar;sendmail</link>
12368 variable.
12369 </para>
12370 </sect2>
12371
12372 <sect2 id="sort">
12373 <title>sort</title>
12374 <literallayout>Type: sort order
12375 Default: date</literallayout>
12376
12377 <para>
12378 Specifies how to sort messages in the <quote>index</quote> menu.  Valid values
12379 are:
12380
12381 </para>
12382
12383 <itemizedlist>
12384 <listitem><para>date or date-sent
12385 </para></listitem><listitem><para>date-received
12386 </para></listitem><listitem><para>from
12387 </para></listitem><listitem><para>mailbox-order (unsorted)
12388 </para></listitem><listitem><para>score
12389 </para></listitem><listitem><para>size
12390 </para></listitem><listitem><para>spam
12391 </para></listitem><listitem><para>subject
12392 </para></listitem><listitem><para>threads
12393 </para></listitem><listitem><para>to
12394 </para></listitem></itemizedlist>
12395
12396 <para>
12397 You may optionally use the <quote>reverse-</quote> prefix to specify reverse sorting
12398 order (example: <quote><literal>set sort=reverse-date-sent</literal></quote>).
12399 </para>
12400 <para>
12401 <emphasis role="bold">Note:</emphasis> On Debian systems, this option is set by default to
12402 <quote>threads</quote> in /etc/Muttrc.
12403 </para>
12404 </sect2>
12405
12406 <sect2 id="sort-alias">
12407 <title>sort&lowbar;alias</title>
12408 <literallayout>Type: sort order
12409 Default: alias</literallayout>
12410
12411 <para>
12412 Specifies how the entries in the <quote>alias</quote> menu are sorted.  The
12413 following are legal values:
12414
12415 </para>
12416
12417 <itemizedlist>
12418 <listitem><para>address (sort alphabetically by email address)
12419 </para></listitem><listitem><para>alias (sort alphabetically by alias name)
12420 </para></listitem><listitem><para>unsorted (leave in order specified in .muttrc)
12421 </para></listitem></itemizedlist>
12422 </sect2>
12423
12424 <sect2 id="sort-aux">
12425 <title>sort&lowbar;aux</title>
12426 <literallayout>Type: sort order
12427 Default: date</literallayout>
12428
12429 <para>
12430 When sorting by threads, this variable controls how threads are sorted
12431 in relation to other threads, and how the branches of the thread trees
12432 are sorted.  This can be set to any value that <link linkend="sort">&dollar;sort</link> can, except
12433 <quote>threads</quote> (in that case, mutt will just use <quote>date-sent</quote>).  You can also
12434 specify the <quote>last-</quote> prefix in addition to the <quote>reverse-</quote> prefix, but <quote>last-</quote>
12435 must come after <quote>reverse-</quote>.  The <quote>last-</quote> prefix causes messages to be
12436 sorted against its siblings by which has the last descendant, using
12437 the rest of <link linkend="sort-aux">&dollar;sort&lowbar;aux</link> as an ordering.  For instance,
12438
12439 </para>
12440
12441 <screen>
12442 set sort_aux=last-date-received
12443
12444 </screen><para>
12445 would mean that if a new message is received in a
12446 thread, that thread becomes the last one displayed (or the first, if
12447 you have <quote><literal>set sort=reverse-threads</literal></quote>.)
12448 </para>
12449 <para>
12450 Note: For reversed <link linkend="sort">&dollar;sort</link>
12451 order <link linkend="sort-aux">&dollar;sort&lowbar;aux</link> is reversed again (which is not the right thing to do,
12452 but kept to not break any existing configuration setting).
12453 </para>
12454 </sect2>
12455
12456 <sect2 id="sort-browser">
12457 <title>sort&lowbar;browser</title>
12458 <literallayout>Type: sort order
12459 Default: alpha</literallayout>
12460
12461 <para>
12462 Specifies how to sort entries in the file browser.  By default, the
12463 entries are sorted alphabetically.  Valid values:
12464
12465 </para>
12466
12467 <itemizedlist>
12468 <listitem><para>alpha (alphabetically)
12469 </para></listitem><listitem><para>date
12470 </para></listitem><listitem><para>size
12471 </para></listitem><listitem><para>unsorted
12472 </para></listitem></itemizedlist>
12473
12474 <para>
12475 You may optionally use the <quote>reverse-</quote> prefix to specify reverse sorting
12476 order (example: <quote><literal>set sort&lowbar;browser=reverse-date</literal></quote>).
12477 </para>
12478 </sect2>
12479
12480 <sect2 id="sort-re">
12481 <title>sort&lowbar;re</title>
12482 <literallayout>Type: boolean
12483 Default: yes</literallayout>
12484
12485 <para>
12486 This variable is only useful when sorting by threads with
12487 <link linkend="strict-threads">&dollar;strict&lowbar;threads</link> <emphasis>unset</emphasis>.  In that case, it changes the heuristic
12488 mutt uses to thread messages by subject.  With <link linkend="sort-re">&dollar;sort&lowbar;re</link> <emphasis>set</emphasis>, mutt will
12489 only attach a message as the child of another message by subject if
12490 the subject of the child message starts with a substring matching the
12491 setting of <link linkend="reply-regexp">&dollar;reply&lowbar;regexp</link>.  With <link linkend="sort-re">&dollar;sort&lowbar;re</link> <emphasis>unset</emphasis>, mutt will attach
12492 the message whether or not this is the case, as long as the
12493 non-<link linkend="reply-regexp">&dollar;reply&lowbar;regexp</link> parts of both messages are identical.
12494 </para>
12495 </sect2>
12496
12497 <sect2 id="spam-separator">
12498 <title>spam&lowbar;separator</title>
12499 <literallayout>Type: string
12500 Default: <quote><literal>,</literal></quote></literallayout>
12501
12502 <para>
12503 This variable controls what happens when multiple spam headers
12504 are matched: if <emphasis>unset</emphasis>, each successive header will overwrite any
12505 previous matches value for the spam label. If <emphasis>set</emphasis>, each successive
12506 match will append to the previous, using this variable's value as a
12507 separator.
12508 </para>
12509 </sect2>
12510
12511 <sect2 id="spoolfile">
12512 <title>spoolfile</title>
12513 <literallayout>Type: path
12514 Default: (empty)</literallayout>
12515
12516 <para>
12517 If your spool mailbox is in a non-default place where Mutt cannot find
12518 it, you can specify its location with this variable.  Mutt will
12519 automatically set this variable to the value of the environment
12520 variable <literal>&dollar;MAIL</literal> if it is not set.
12521 </para>
12522 </sect2>
12523
12524 <sect2 id="status-chars">
12525 <title>status&lowbar;chars</title>
12526 <literallayout>Type: string
12527 Default: <quote><literal>-*&percnt;A</literal></quote></literallayout>
12528
12529 <para>
12530 Controls the characters used by the <quote>&percnt;r</quote> indicator in
12531 <link linkend="status-format">&dollar;status&lowbar;format</link>. The first character is used when the mailbox is
12532 unchanged. The second is used when the mailbox has been changed, and
12533 it needs to be resynchronized. The third is used if the mailbox is in
12534 read-only mode, or if the mailbox will not be written when exiting
12535 that mailbox (You can toggle whether to write changes to a mailbox
12536 with the <literal>&lt;toggle-write&gt;</literal> operation, bound by default to <quote>&percnt;</quote>). The fourth
12537 is used to indicate that the current folder has been opened in attach-
12538 message mode (Certain operations like composing a new mail, replying,
12539 forwarding, etc. are not permitted in this mode).
12540 </para>
12541 </sect2>
12542
12543 <sect2 id="status-format">
12544 <title>status&lowbar;format</title>
12545 <literallayout>Type: string
12546 Default: <quote><literal>-&percnt;r-Mutt: &percnt;f &lsqb;Msgs:&percnt;?M?&percnt;M/?&percnt;m&percnt;?n? New:&percnt;n?&percnt;?o? Old:&percnt;o?&percnt;?d? Del:&percnt;d?&percnt;?F? Flag:&percnt;F?&percnt;?t? Tag:&percnt;t?&percnt;?p? Post:&percnt;p?&percnt;?b? Inc:&percnt;b?&percnt;?l? &percnt;l?&rsqb;---(&percnt;s/&percnt;S)-&percnt;&gt;-(&percnt;P)---</literal></quote></literallayout>
12547
12548 <para>
12549 Controls the format of the status line displayed in the <quote>index</quote>
12550 menu.  This string is similar to <link linkend="index-format">&dollar;index&lowbar;format</link>, but has its own
12551 set of <literal>printf(3)</literal>-like sequences:
12552
12553 </para>
12554
12555 <variablelist>
12556 <varlistentry><term>&percnt;b  </term>
12557 <listitem><para>number of mailboxes with new mail *
12558 </para></listitem></varlistentry>
12559 <varlistentry><term>&percnt;d  </term>
12560 <listitem><para>number of deleted messages *
12561 </para></listitem></varlistentry>
12562 <varlistentry><term>&percnt;f  </term>
12563 <listitem><para>the full pathname of the current mailbox
12564 </para></listitem></varlistentry>
12565 <varlistentry><term>&percnt;F  </term>
12566 <listitem><para>number of flagged messages *
12567 </para></listitem></varlistentry>
12568 <varlistentry><term>&percnt;h  </term>
12569 <listitem><para>local hostname
12570 </para></listitem></varlistentry>
12571 <varlistentry><term>&percnt;l  </term>
12572 <listitem><para>size (in bytes) of the current mailbox *
12573 </para></listitem></varlistentry>
12574 <varlistentry><term>&percnt;L  </term>
12575 <listitem><para>size (in bytes) of the messages shown
12576 (i.e., which match the current limit) *
12577 </para></listitem></varlistentry>
12578 <varlistentry><term>&percnt;m  </term>
12579 <listitem><para>the number of messages in the mailbox *
12580 </para></listitem></varlistentry>
12581 <varlistentry><term>&percnt;M  </term>
12582 <listitem><para>the number of messages shown (i.e., which match the current limit) *
12583 </para></listitem></varlistentry>
12584 <varlistentry><term>&percnt;n  </term>
12585 <listitem><para>number of new messages in the mailbox *
12586 </para></listitem></varlistentry>
12587 <varlistentry><term>&percnt;o  </term>
12588 <listitem><para>number of old unread messages *
12589 </para></listitem></varlistentry>
12590 <varlistentry><term>&percnt;p  </term>
12591 <listitem><para>number of postponed messages *
12592 </para></listitem></varlistentry>
12593 <varlistentry><term>&percnt;P  </term>
12594 <listitem><para>percentage of the way through the index
12595 </para></listitem></varlistentry>
12596 <varlistentry><term>&percnt;r  </term>
12597 <listitem><para>modified/read-only/won't-write/attach-message indicator,
12598 according to <link linkend="status-chars">&dollar;status&lowbar;chars</link>
12599 </para></listitem></varlistentry>
12600 <varlistentry><term>&percnt;s  </term>
12601 <listitem><para>current sorting mode (<link linkend="sort">&dollar;sort</link>)
12602 </para></listitem></varlistentry>
12603 <varlistentry><term>&percnt;S  </term>
12604 <listitem><para>current aux sorting method (<link linkend="sort-aux">&dollar;sort&lowbar;aux</link>)
12605 </para></listitem></varlistentry>
12606 <varlistentry><term>&percnt;t  </term>
12607 <listitem><para>number of tagged messages *
12608 </para></listitem></varlistentry>
12609 <varlistentry><term>&percnt;u  </term>
12610 <listitem><para>number of unread messages *
12611 </para></listitem></varlistentry>
12612 <varlistentry><term>&percnt;v  </term>
12613 <listitem><para>Mutt version string
12614 </para></listitem></varlistentry>
12615 <varlistentry><term>&percnt;V  </term>
12616 <listitem><para>currently active limit pattern, if any *
12617 </para></listitem></varlistentry>
12618 <varlistentry><term>&percnt;&gt;X </term>
12619 <listitem><para>right justify the rest of the string and pad with <quote>X</quote>
12620 </para></listitem></varlistentry>
12621 <varlistentry><term>&percnt;&verbar;X </term>
12622 <listitem><para>pad to the end of the line with <quote>X</quote>
12623 </para></listitem></varlistentry>
12624 <varlistentry><term>&percnt;*X </term>
12625 <listitem><para>soft-fill with character <quote>X</quote> as pad
12626 </para></listitem></varlistentry></variablelist>
12627
12628 <para>
12629 For an explanation of <quote>soft-fill</quote>, see the <link linkend="index-format">&dollar;index&lowbar;format</link> documentation.
12630 </para>
12631 <para>
12632 * = can be optionally printed if nonzero
12633 </para>
12634 <para>
12635 Some of the above sequences can be used to optionally print a string
12636 if their value is nonzero.  For example, you may only want to see the
12637 number of flagged messages if such messages exist, since zero is not
12638 particularly meaningful.  To optionally print a string based upon one
12639 of the above sequences, the following construct is used:
12640 </para>
12641 <para>
12642 <literal>&percnt;?&lt;sequence&lowbar;char&gt;?&lt;optional&lowbar;string&gt;?</literal>
12643 </para>
12644 <para>
12645 where <emphasis>sequence&lowbar;char</emphasis> is a character from the table above, and
12646 <emphasis>optional&lowbar;string</emphasis> is the string you would like printed if
12647 <emphasis>sequence&lowbar;char</emphasis> is nonzero.  <emphasis>optional&lowbar;string</emphasis> <emphasis role="bold">may</emphasis> contain
12648 other sequences as well as normal text, but you may <emphasis role="bold">not</emphasis> nest
12649 optional strings.
12650 </para>
12651 <para>
12652 Here is an example illustrating how to optionally print the number of
12653 new messages in a mailbox:
12654 </para>
12655 <para>
12656 <literal>&percnt;?n?&percnt;n new messages.?</literal>
12657 </para>
12658 <para>
12659 You can also switch between two strings using the following construct:
12660 </para>
12661 <para>
12662 <literal>&percnt;?&lt;sequence&lowbar;char&gt;?&lt;if&lowbar;string&gt;&amp;&lt;else&lowbar;string&gt;?</literal>
12663 </para>
12664 <para>
12665 If the value of <emphasis>sequence&lowbar;char</emphasis> is non-zero, <emphasis>if&lowbar;string</emphasis> will
12666 be expanded, otherwise <emphasis>else&lowbar;string</emphasis> will be expanded.
12667 </para>
12668 <para>
12669 You can force the result of any <literal>printf(3)</literal>-like sequence to be lowercase
12670 by prefixing the sequence character with an underscore (<quote>&lowbar;</quote>) sign.
12671 For example, if you want to display the local hostname in lowercase,
12672 you would use: <quote><literal>&percnt;&lowbar;h</literal></quote>.
12673 </para>
12674 <para>
12675 If you prefix the sequence character with a colon (<quote>:</quote>) character, mutt
12676 will replace any dots in the expansion by underscores. This might be helpful
12677 with IMAP folders that don't like dots in folder names.
12678 </para>
12679 </sect2>
12680
12681 <sect2 id="status-on-top">
12682 <title>status&lowbar;on&lowbar;top</title>
12683 <literallayout>Type: boolean
12684 Default: no</literallayout>
12685
12686 <para>
12687 Setting this variable causes the <quote>status bar</quote> to be displayed on
12688 the first line of the screen rather than near the bottom. If <link linkend="help">&dollar;help</link>
12689 is <emphasis>set</emphasis>, too it'll be placed at the bottom.
12690 </para>
12691 </sect2>
12692
12693 <sect2 id="strict-threads">
12694 <title>strict&lowbar;threads</title>
12695 <literallayout>Type: boolean
12696 Default: no</literallayout>
12697
12698 <para>
12699 If <emphasis>set</emphasis>, threading will only make use of the <quote>In-Reply-To</quote> and
12700 <quote>References:</quote> fields when you <link linkend="sort">&dollar;sort</link> by message threads.  By
12701 default, messages with the same subject are grouped together in
12702 <quote>pseudo threads.</quote>. This may not always be desirable, such as in a
12703 personal mailbox where you might have several unrelated messages with
12704 the subjects like <quote>hi</quote> which will get grouped together. See also
12705 <link linkend="sort-re">&dollar;sort&lowbar;re</link> for a less drastic way of controlling this
12706 behaviour.
12707 </para>
12708 </sect2>
12709
12710 <sect2 id="suspend">
12711 <title>suspend</title>
12712 <literallayout>Type: boolean
12713 Default: yes</literallayout>
12714
12715 <para>
12716 When <emphasis>unset</emphasis>, mutt won't stop when the user presses the terminal's
12717 <emphasis>susp</emphasis> key, usually <quote>&circ;Z</quote>. This is useful if you run mutt
12718 inside an xterm using a command like <quote><literal>xterm -e mutt</literal></quote>.
12719 </para>
12720 </sect2>
12721
12722 <sect2 id="text-flowed">
12723 <title>text&lowbar;flowed</title>
12724 <literallayout>Type: boolean
12725 Default: no</literallayout>
12726
12727 <para>
12728 When <emphasis>set</emphasis>, mutt will generate <quote>format=flowed</quote> bodies with a content type
12729 of <quote><literal>text/plain; format=flowed</literal></quote>.
12730 This format is easier to handle for some mailing software, and generally
12731 just looks like ordinary text.  To actually make use of this format's
12732 features, you'll need support in your editor.
12733 </para>
12734 <para>
12735 Note that <link linkend="indent-string">&dollar;indent&lowbar;string</link> is ignored when this option is <emphasis>set</emphasis>.
12736 </para>
12737 </sect2>
12738
12739 <sect2 id="thread-received">
12740 <title>thread&lowbar;received</title>
12741 <literallayout>Type: boolean
12742 Default: no</literallayout>
12743
12744 <para>
12745 When <emphasis>set</emphasis>, mutt uses the date received rather than the date sent
12746 to thread messages by subject.
12747 </para>
12748 </sect2>
12749
12750 <sect2 id="thorough-search">
12751 <title>thorough&lowbar;search</title>
12752 <literallayout>Type: boolean
12753 Default: no</literallayout>
12754
12755 <para>
12756 Affects the <literal>&tilde;b</literal> and <literal>&tilde;h</literal> search operations described in
12757 section <quote><link linkend="patterns">patterns</link></quote>.  If <emphasis>set</emphasis>, the headers and body/attachments of
12758 messages to be searched are decoded before searching. If <emphasis>unset</emphasis>,
12759 messages are searched as they appear in the folder.
12760 </para>
12761 <para>
12762 Users searching attachments or for non-ASCII characters should <emphasis>set</emphasis>
12763 this value because decoding also includes MIME parsing/decoding and possible
12764 character set conversions. Otherwise mutt will attempt to match against the
12765 raw message received (for example quoted-printable encoded or with encoded
12766 headers) which may lead to incorrect search results.
12767 </para>
12768 </sect2>
12769
12770 <sect2 id="tilde">
12771 <title>tilde</title>
12772 <literallayout>Type: boolean
12773 Default: no</literallayout>
12774
12775 <para>
12776 When <emphasis>set</emphasis>, the internal-pager will pad blank lines to the bottom of the
12777 screen with a tilde (<quote>&tilde;</quote>).
12778 </para>
12779 </sect2>
12780
12781 <sect2 id="time-inc">
12782 <title>time&lowbar;inc</title>
12783 <literallayout>Type: number
12784 Default: 0</literallayout>
12785
12786 <para>
12787 Along with <link linkend="read-inc">&dollar;read&lowbar;inc</link>, <link linkend="write-inc">&dollar;write&lowbar;inc</link>, and <link linkend="net-inc">&dollar;net&lowbar;inc</link>, this
12788 variable controls the frequency with which progress updates are
12789 displayed. It suppresses updates less than <link linkend="time-inc">&dollar;time&lowbar;inc</link> milliseconds
12790 apart. This can improve throughput on systems with slow terminals,
12791 or when running mutt on a remote system.
12792 </para>
12793 <para>
12794 Also see the <quote><link linkend="tuning">tuning</link></quote> section of the manual for performance considerations.
12795 </para>
12796 </sect2>
12797
12798 <sect2 id="timeout">
12799 <title>timeout</title>
12800 <literallayout>Type: number
12801 Default: 600</literallayout>
12802
12803 <para>
12804 When Mutt is waiting for user input either idleing in menus or
12805 in an interactive prompt, Mutt would block until input is
12806 present. Depending on the context, this would prevent certain
12807 operations from working, like checking for new mail or keeping
12808 an IMAP connection alive.
12809 </para>
12810 <para>
12811 This variable controls how many seconds Mutt will at most wait
12812 until it aborts waiting for input, performs these operations and
12813 continues to wait for input.
12814 </para>
12815 <para>
12816 A value of zero or less will cause Mutt to never time out.
12817 </para>
12818 </sect2>
12819
12820 <sect2 id="tmpdir">
12821 <title>tmpdir</title>
12822 <literallayout>Type: path
12823 Default: (empty)</literallayout>
12824
12825 <para>
12826 This variable allows you to specify where Mutt will place its
12827 temporary files needed for displaying and composing messages.  If
12828 this variable is not set, the environment variable <literal>&dollar;TMPDIR</literal> is
12829 used.  If <literal>&dollar;TMPDIR</literal> is not set then <quote><literal>/tmp</literal></quote> is used.
12830 </para>
12831 </sect2>
12832
12833 <sect2 id="to-chars">
12834 <title>to&lowbar;chars</title>
12835 <literallayout>Type: string
12836 Default: <quote><literal> +TCFL</literal></quote></literallayout>
12837
12838 <para>
12839 Controls the character used to indicate mail addressed to you.  The
12840 first character is the one used when the mail is <emphasis>not</emphasis> addressed to your
12841 address.  The second is used when you are the only
12842 recipient of the message.  The third is when your address
12843 appears in the <quote>To:</quote> header field, but you are not the only recipient of
12844 the message.  The fourth character is used when your
12845 address is specified in the <quote>Cc:</quote> header field, but you are not the only
12846 recipient.  The fifth character is used to indicate mail that was sent
12847 by <emphasis>you</emphasis>.  The sixth character is used to indicate when a mail
12848 was sent to a mailing-list you subscribe to.
12849 </para>
12850 </sect2>
12851
12852 <sect2 id="trash">
12853 <title>trash</title>
12854 <literallayout>Type: path
12855 Default: (empty)</literallayout>
12856
12857 <para>
12858 If set, this variable specifies the path of the trash folder where the
12859 mails marked for deletion will be moved, instead of being irremediably
12860 purged.
12861 </para>
12862 <para>
12863 NOTE: When you delete a message in the trash folder, it is really
12864 deleted, so that you have a way to clean the trash.
12865 </para>
12866 </sect2>
12867
12868 <sect2 id="tunnel">
12869 <title>tunnel</title>
12870 <literallayout>Type: string
12871 Default: (empty)</literallayout>
12872
12873 <para>
12874 Setting this variable will cause mutt to open a pipe to a command
12875 instead of a raw socket. You may be able to use this to set up
12876 preauthenticated connections to your IMAP/POP3/SMTP server. Example:
12877
12878 </para>
12879
12880 <screen>
12881 set tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
12882
12883 </screen><para>
12884 Note: For this example to work you must be able to log in to the remote
12885 machine without having to enter a password.
12886 </para>
12887 </sect2>
12888
12889 <sect2 id="use-8bitmime">
12890 <title>use&lowbar;8bitmime</title>
12891 <literallayout>Type: boolean
12892 Default: no</literallayout>
12893
12894 <para>
12895 <emphasis role="bold">Warning:</emphasis> do not set this variable unless you are using a version
12896 of sendmail which supports the <literal>-B8BITMIME</literal> flag (such as sendmail
12897 8.8.x) or you may not be able to send mail.
12898 </para>
12899 <para>
12900 When <emphasis>set</emphasis>, Mutt will invoke <link linkend="sendmail">&dollar;sendmail</link> with the <literal>-B8BITMIME</literal>
12901 flag when sending 8-bit messages to enable ESMTP negotiation.
12902 </para>
12903 </sect2>
12904
12905 <sect2 id="use-domain">
12906 <title>use&lowbar;domain</title>
12907 <literallayout>Type: boolean
12908 Default: yes</literallayout>
12909
12910 <para>
12911 When <emphasis>set</emphasis>, Mutt will qualify all local addresses (ones without the
12912 <quote>@host</quote> portion) with the value of <link linkend="hostname">&dollar;hostname</link>.  If <emphasis>unset</emphasis>, no
12913 addresses will be qualified.
12914 </para>
12915 </sect2>
12916
12917 <sect2 id="use-envelope-from">
12918 <title>use&lowbar;envelope&lowbar;from</title>
12919 <literallayout>Type: boolean
12920 Default: no</literallayout>
12921
12922 <para>
12923 When <emphasis>set</emphasis>, mutt will set the <emphasis>envelope</emphasis> sender of the message.
12924 If <link linkend="envelope-from-address">&dollar;envelope&lowbar;from&lowbar;address</link> is <emphasis>set</emphasis>, it will be used as the sender
12925 address. If <emphasis>unset</emphasis>, mutt will attempt to derive the sender from the
12926 <quote>From:</quote> header.
12927 </para>
12928 <para>
12929 Note that this information is passed to sendmail command using the
12930 <literal>-f</literal> command line switch. Therefore setting this option is not useful
12931 if the <link linkend="sendmail">&dollar;sendmail</link> variable already contains <literal>-f</literal> or if the
12932 executable pointed to by <link linkend="sendmail">&dollar;sendmail</link> doesn't support the <literal>-f</literal> switch.
12933 </para>
12934 </sect2>
12935
12936 <sect2 id="use-from">
12937 <title>use&lowbar;from</title>
12938 <literallayout>Type: boolean
12939 Default: yes</literallayout>
12940
12941 <para>
12942 When <emphasis>set</emphasis>, Mutt will generate the <quote>From:</quote> header field when
12943 sending messages.  If <emphasis>unset</emphasis>, no <quote>From:</quote> header field will be
12944 generated unless the user explicitly sets one using the <quote><link linkend="my-hdr">my&lowbar;hdr</link></quote>
12945 command.
12946 </para>
12947 </sect2>
12948
12949 <sect2 id="use-idn">
12950 <title>use&lowbar;idn</title>
12951 <literallayout>Type: boolean
12952 Default: yes</literallayout>
12953
12954 <para>
12955 When <emphasis>set</emphasis>, Mutt will show you international domain names decoded.
12956 Note: You can use IDNs for addresses even if this is <emphasis>unset</emphasis>.
12957 This variable only affects decoding.
12958 </para>
12959 </sect2>
12960
12961 <sect2 id="use-ipv6">
12962 <title>use&lowbar;ipv6</title>
12963 <literallayout>Type: boolean
12964 Default: yes</literallayout>
12965
12966 <para>
12967 When <emphasis>set</emphasis>, Mutt will look for IPv6 addresses of hosts it tries to
12968 contact.  If this option is <emphasis>unset</emphasis>, Mutt will restrict itself to IPv4 addresses.
12969 Normally, the default should work.
12970 </para>
12971 </sect2>
12972
12973 <sect2 id="user-agent">
12974 <title>user&lowbar;agent</title>
12975 <literallayout>Type: boolean
12976 Default: yes</literallayout>
12977
12978 <para>
12979 When <emphasis>set</emphasis>, mutt will add a <quote>User-Agent:</quote> header to outgoing
12980 messages, indicating which version of mutt was used for composing
12981 them.
12982 </para>
12983 </sect2>
12984
12985 <sect2 id="visual">
12986 <title>visual</title>
12987 <literallayout>Type: path
12988 Default: (empty)</literallayout>
12989
12990 <para>
12991 Specifies the visual editor to invoke when the <quote><literal>&tilde;v</literal></quote> command is
12992 given in the builtin editor.
12993 </para>
12994 </sect2>
12995
12996 <sect2 id="wait-key">
12997 <title>wait&lowbar;key</title>
12998 <literallayout>Type: boolean
12999 Default: yes</literallayout>
13000
13001 <para>
13002 Controls whether Mutt will ask you to press a key after an external command
13003 has been invoked by these functions: <literal>&lt;shell-escape&gt;</literal>,
13004 <literal>&lt;pipe-message&gt;</literal>, <literal>&lt;pipe-entry&gt;</literal>, <literal>&lt;print-message&gt;</literal>,
13005 and <literal>&lt;print-entry&gt;</literal> commands.
13006 </para>
13007 <para>
13008 It is also used when viewing attachments with <quote><link linkend="auto-view">auto&lowbar;view</link></quote>, provided
13009 that the corresponding mailcap entry has a <emphasis>needsterminal</emphasis> flag,
13010 and the external program is interactive.
13011 </para>
13012 <para>
13013 When <emphasis>set</emphasis>, Mutt will always ask for a key. When <emphasis>unset</emphasis>, Mutt will wait
13014 for a key only if the external command returned a non-zero status.
13015 </para>
13016 </sect2>
13017
13018 <sect2 id="weed">
13019 <title>weed</title>
13020 <literallayout>Type: boolean
13021 Default: yes</literallayout>
13022
13023 <para>
13024 When <emphasis>set</emphasis>, mutt will weed headers when displaying, forwarding,
13025 printing, or replying to messages.
13026 </para>
13027 </sect2>
13028
13029 <sect2 id="wrap">
13030 <title>wrap</title>
13031 <literallayout>Type: number
13032 Default: 0</literallayout>
13033
13034 <para>
13035 When set to a positive value, mutt will wrap text at <link linkend="wrap">&dollar;wrap</link> characters.
13036 When set to a negative value, mutt will wrap text so that there are <link linkend="wrap">&dollar;wrap</link>
13037 characters of empty space on the right side of the terminal.
13038 </para>
13039 </sect2>
13040
13041 <sect2 id="wrap-search">
13042 <title>wrap&lowbar;search</title>
13043 <literallayout>Type: boolean
13044 Default: yes</literallayout>
13045
13046 <para>
13047 Controls whether searches wrap around the end.
13048 </para>
13049 <para>
13050 When <emphasis>set</emphasis>, searches will wrap around the first (or last) item. When
13051 <emphasis>unset</emphasis>, incremental searches will not wrap.
13052 </para>
13053 </sect2>
13054
13055 <sect2 id="wrapmargin">
13056 <title>wrapmargin</title>
13057 <literallayout>Type: number
13058 Default: 0</literallayout>
13059
13060 <para>
13061 (DEPRECATED) Equivalent to setting <link linkend="wrap">&dollar;wrap</link> with a negative value.
13062 </para>
13063 </sect2>
13064
13065 <sect2 id="write-inc">
13066 <title>write&lowbar;inc</title>
13067 <literallayout>Type: number
13068 Default: 10</literallayout>
13069
13070 <para>
13071 When writing a mailbox, a message will be printed every
13072 <link linkend="write-inc">&dollar;write&lowbar;inc</link> messages to indicate progress.  If set to 0, only a
13073 single message will be displayed before writing a mailbox.
13074 </para>
13075 <para>
13076 Also see the <link linkend="read-inc">&dollar;read&lowbar;inc</link>, <link linkend="net-inc">&dollar;net&lowbar;inc</link> and <link linkend="time-inc">&dollar;time&lowbar;inc</link> variables and the
13077 <quote><link linkend="tuning">tuning</link></quote> section of the manual for performance considerations.
13078 </para>
13079 </sect2>
13080
13081 <sect2 id="write-bcc">
13082 <title>write&lowbar;bcc</title>
13083 <literallayout>Type: boolean
13084 Default: yes</literallayout>
13085
13086 <para>
13087 Controls whether mutt writes out the <quote>Bcc:</quote> header when preparing
13088 messages to be sent.  Exim users may wish to unset this. If mutt
13089 is set to deliver directly via SMTP (see <link linkend="smtp-url">&dollar;smtp&lowbar;url</link>), this
13090 option does nothing: mutt will never write out the <quote>Bcc:</quote> header
13091 in this case.
13092 </para>
13093 <para>
13094 <emphasis role="bold">Note:</emphasis> On Debian systems, exim4 and postfix strip BCC headers by
13095 default. The above warning applies to exim3 users, see /etc/Muttrc.
13096 </para>
13097 </sect2>
13098
13099 <sect2 id="xterm-icon">
13100 <title>xterm&lowbar;icon</title>
13101 <literallayout>Type: string
13102 Default: <quote><literal>M&percnt;?n?AIL&amp;ail?</literal></quote></literallayout>
13103
13104 <para>
13105 Controls the format of the icon title, as long as xterm&lowbar;set&lowbar;titles
13106 is enabled. This string is identical in formatting to the one used by
13107 <quote><link linkend="status-format">&dollar;status&lowbar;format</link></quote>.
13108 </para>
13109 </sect2>
13110
13111 <sect2 id="xterm-set-titles">
13112 <title>xterm&lowbar;set&lowbar;titles</title>
13113 <literallayout>Type: boolean
13114 Default: no</literallayout>
13115
13116 <para>
13117 Controls whether mutt sets the xterm title bar and icon name
13118 (as long as you are in an appropriate terminal).
13119 </para>
13120 </sect2>
13121
13122 <sect2 id="xterm-title">
13123 <title>xterm&lowbar;title</title>
13124 <literallayout>Type: string
13125 Default: <quote><literal>Mutt with &percnt;?m?&percnt;m messages&amp;no messages?&percnt;?n? &lsqb;&percnt;n NEW&rsqb;?</literal></quote></literallayout>
13126
13127 <para>
13128 Controls the format of the title bar of the xterm provided that
13129 xterm&lowbar;set&lowbar;titles has been set. This string is identical in formatting
13130 to the one used by <quote><link linkend="status-format">&dollar;status&lowbar;format</link></quote>.
13131 </para>
13132 </sect2>
13133
13134 </sect1>
13135
13136 <sect1 id="functions">
13137 <title>Functions</title>
13138
13139 <para>
13140 The following is the list of available functions listed by the mapping
13141 in which they are available.  The default key setting is given, and an
13142 explanation of what the function does.  The key bindings of these
13143 functions can be changed with the <link linkend="bind">bind</link>
13144 command.
13145 </para>
13146
13147 <sect2 id="generic_map">
13148 <title>generic menu</title>
13149 <para>
13150 The <emphasis>generic</emphasis> menu is not a real menu, but specifies common functions
13151 (such as movement) available in all menus except for <emphasis>pager</emphasis> and
13152 <emphasis>editor</emphasis>.  Changing settings for this menu will affect the default
13153 bindings for all menus (except as noted).
13154 </para>
13155
13156
13157 <table id="generic_table">
13158 <title>Default generic function bindings</title>
13159 <tgroup cols="3">
13160 <thead>
13161 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13162 </thead>
13163 <tbody>
13164 <row><entry><literal>&lt;top-page&gt;</literal></entry><entry>H</entry><entry>move to the top of the page</entry></row>
13165 <row><entry><literal>&lt;next-entry&gt;</literal></entry><entry>j</entry><entry>move to the next entry</entry></row>
13166 <row><entry><literal>&lt;previous-entry&gt;</literal></entry><entry>k</entry><entry>move to the previous entry</entry></row>
13167 <row><entry><literal>&lt;bottom-page&gt;</literal></entry><entry>L</entry><entry>move to the bottom of the page</entry></row>
13168 <row><entry><literal>&lt;refresh&gt;</literal></entry><entry>^L</entry><entry>clear and redraw the screen</entry></row>
13169 <row><entry><literal>&lt;middle-page&gt;</literal></entry><entry>M</entry><entry>move to the middle of the page</entry></row>
13170 <row><entry><literal>&lt;search-next&gt;</literal></entry><entry>n</entry><entry>search for next match</entry></row>
13171 <row><entry><literal>&lt;exit&gt;</literal></entry><entry>q</entry><entry>exit this menu</entry></row>
13172 <row><entry><literal>&lt;tag-entry&gt;</literal></entry><entry>t</entry><entry>tag the current entry</entry></row>
13173 <row><entry><literal>&lt;next-page&gt;</literal></entry><entry>z</entry><entry>move to the next page</entry></row>
13174 <row><entry><literal>&lt;previous-page&gt;</literal></entry><entry>Z</entry><entry>move to the previous page</entry></row>
13175 <row><entry><literal>&lt;last-entry&gt;</literal></entry><entry>*</entry><entry>move to the last entry</entry></row>
13176 <row><entry><literal>&lt;first-entry&gt;</literal></entry><entry>=</entry><entry>move to the first entry</entry></row>
13177 <row><entry><literal>&lt;enter-command&gt;</literal></entry><entry>:</entry><entry>enter a muttrc command</entry></row>
13178 <row><entry><literal>&lt;next-line&gt;</literal></entry><entry>&gt;</entry><entry>scroll down one line</entry></row>
13179 <row><entry><literal>&lt;previous-line&gt;</literal></entry><entry>&lt;</entry><entry>scroll up one line</entry></row>
13180 <row><entry><literal>&lt;half-up&gt;</literal></entry><entry>[</entry><entry>scroll up 1/2 page</entry></row>
13181 <row><entry><literal>&lt;half-down&gt;</literal></entry><entry>]</entry><entry>scroll down 1/2 page</entry></row>
13182 <row><entry><literal>&lt;help&gt;</literal></entry><entry>?</entry><entry>this screen</entry></row>
13183 <row><entry><literal>&lt;tag-prefix&gt;</literal></entry><entry>;</entry><entry>apply next function to tagged messages</entry></row>
13184 <row><entry><literal>&lt;tag-prefix-cond&gt;</literal></entry><entry></entry><entry>apply next function ONLY to tagged messages</entry></row>
13185 <row><entry><literal>&lt;end-cond&gt;</literal></entry><entry></entry><entry>end of conditional execution (noop)</entry></row>
13186 <row><entry><literal>&lt;shell-escape&gt;</literal></entry><entry>!</entry><entry>invoke a command in a subshell</entry></row>
13187 <row><entry><literal>&lt;select-entry&gt;</literal></entry><entry>&lt;Return&gt;</entry><entry>select the current entry</entry></row>
13188 <row><entry><literal>&lt;search&gt;</literal></entry><entry>/</entry><entry>search for a regular expression</entry></row>
13189 <row><entry><literal>&lt;search-reverse&gt;</literal></entry><entry>Esc /</entry><entry>search backwards for a regular expression</entry></row>
13190 <row><entry><literal>&lt;search-opposite&gt;</literal></entry><entry></entry><entry>search for next match in opposite direction</entry></row>
13191 <row><entry><literal>&lt;jump&gt;</literal></entry><entry></entry><entry>jump to an index number</entry></row>
13192 <row><entry><literal>&lt;current-top&gt;</literal></entry><entry></entry><entry>move entry to top of screen</entry></row>
13193 <row><entry><literal>&lt;current-middle&gt;</literal></entry><entry></entry><entry>move entry to middle of screen</entry></row>
13194 <row><entry><literal>&lt;current-bottom&gt;</literal></entry><entry></entry><entry>move entry to bottom of screen</entry></row>
13195 <row><entry><literal>&lt;what-key&gt;</literal></entry><entry></entry><entry>display the keycode for a key press</entry></row>
13196
13197 </tbody>
13198 </tgroup>
13199 </table>
13200
13201 </sect2>
13202
13203 <sect2 id="index_map">
13204 <title>index menu</title>
13205
13206
13207 <table id="index_table">
13208 <title>Default index function bindings</title>
13209 <tgroup cols="3">
13210 <thead>
13211 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13212 </thead>
13213 <tbody>
13214 <row><entry><literal>&lt;create-alias&gt;</literal></entry><entry>a</entry><entry>create an alias from a message sender</entry></row>
13215 <row><entry><literal>&lt;bounce-message&gt;</literal></entry><entry>b</entry><entry>remail a message to another user</entry></row>
13216 <row><entry><literal>&lt;break-thread&gt;</literal></entry><entry>#</entry><entry>break the thread in two</entry></row>
13217 <row><entry><literal>&lt;change-folder&gt;</literal></entry><entry>c</entry><entry>open a different folder</entry></row>
13218 <row><entry><literal>&lt;change-folder-readonly&gt;</literal></entry><entry>Esc c</entry><entry>open a different folder in read only mode</entry></row>
13219 <row><entry><literal>&lt;next-unread-mailbox&gt;</literal></entry><entry></entry><entry>open next mailbox with new mail</entry></row>
13220 <row><entry><literal>&lt;collapse-thread&gt;</literal></entry><entry>Esc v</entry><entry>collapse/uncollapse current thread</entry></row>
13221 <row><entry><literal>&lt;collapse-all&gt;</literal></entry><entry>Esc V</entry><entry>collapse/uncollapse all threads</entry></row>
13222 <row><entry><literal>&lt;copy-message&gt;</literal></entry><entry>C</entry><entry>copy a message to a file/mailbox</entry></row>
13223 <row><entry><literal>&lt;decode-copy&gt;</literal></entry><entry>Esc C</entry><entry>make decoded (text/plain) copy</entry></row>
13224 <row><entry><literal>&lt;decode-save&gt;</literal></entry><entry>Esc s</entry><entry>make decoded copy (text/plain) and delete</entry></row>
13225 <row><entry><literal>&lt;delete-message&gt;</literal></entry><entry>d</entry><entry>delete the current entry</entry></row>
13226 <row><entry><literal>&lt;delete-pattern&gt;</literal></entry><entry>D</entry><entry>delete messages matching a pattern</entry></row>
13227 <row><entry><literal>&lt;delete-thread&gt;</literal></entry><entry>^D</entry><entry>delete all messages in thread</entry></row>
13228 <row><entry><literal>&lt;delete-subthread&gt;</literal></entry><entry>Esc d</entry><entry>delete all messages in subthread</entry></row>
13229 <row><entry><literal>&lt;edit&gt;</literal></entry><entry>e</entry><entry>edit the raw message</entry></row>
13230 <row><entry><literal>&lt;edit-type&gt;</literal></entry><entry>^E</entry><entry>edit attachment content type</entry></row>
13231 <row><entry><literal>&lt;forward-message&gt;</literal></entry><entry>f</entry><entry>forward a message with comments</entry></row>
13232 <row><entry><literal>&lt;flag-message&gt;</literal></entry><entry>F</entry><entry>toggle a message's 'important' flag</entry></row>
13233 <row><entry><literal>&lt;group-reply&gt;</literal></entry><entry>g</entry><entry>reply to all recipients</entry></row>
13234 <row><entry><literal>&lt;fetch-mail&gt;</literal></entry><entry>G</entry><entry>retrieve mail from POP server</entry></row>
13235 <row><entry><literal>&lt;imap-fetch-mail&gt;</literal></entry><entry></entry><entry>force retrieval of mail from IMAP server</entry></row>
13236 <row><entry><literal>&lt;display-toggle-weed&gt;</literal></entry><entry>h</entry><entry>display message and toggle header weeding</entry></row>
13237 <row><entry><literal>&lt;next-undeleted&gt;</literal></entry><entry>j</entry><entry>move to the next undeleted message</entry></row>
13238 <row><entry><literal>&lt;previous-undeleted&gt;</literal></entry><entry>k</entry><entry>move to the previous undeleted message</entry></row>
13239 <row><entry><literal>&lt;limit&gt;</literal></entry><entry>l</entry><entry>show only messages matching a pattern</entry></row>
13240 <row><entry><literal>&lt;link-threads&gt;</literal></entry><entry>&amp;</entry><entry>link tagged message to the current one</entry></row>
13241 <row><entry><literal>&lt;list-reply&gt;</literal></entry><entry>L</entry><entry>reply to specified mailing list</entry></row>
13242 <row><entry><literal>&lt;mail&gt;</literal></entry><entry>m</entry><entry>compose a new mail message</entry></row>
13243 <row><entry><literal>&lt;toggle-new&gt;</literal></entry><entry>N</entry><entry>toggle a message's 'new' flag</entry></row>
13244 <row><entry><literal>&lt;toggle-write&gt;</literal></entry><entry>%</entry><entry>toggle whether the mailbox will be rewritten</entry></row>
13245 <row><entry><literal>&lt;next-thread&gt;</literal></entry><entry>^N</entry><entry>jump to the next thread</entry></row>
13246 <row><entry><literal>&lt;next-subthread&gt;</literal></entry><entry>Esc n</entry><entry>jump to the next subthread</entry></row>
13247 <row><entry><literal>&lt;purge-message&gt;</literal></entry><entry></entry><entry>really delete the current entry, bypassing the trash folder</entry></row>
13248 <row><entry><literal>&lt;query&gt;</literal></entry><entry>Q</entry><entry>query external program for addresses</entry></row>
13249 <row><entry><literal>&lt;quit&gt;</literal></entry><entry>q</entry><entry>save changes to mailbox and quit</entry></row>
13250 <row><entry><literal>&lt;reply&gt;</literal></entry><entry>r</entry><entry>reply to a message</entry></row>
13251 <row><entry><literal>&lt;show-limit&gt;</literal></entry><entry>Esc l</entry><entry>show currently active limit pattern</entry></row>
13252 <row><entry><literal>&lt;sort-mailbox&gt;</literal></entry><entry>o</entry><entry>sort messages</entry></row>
13253 <row><entry><literal>&lt;sort-reverse&gt;</literal></entry><entry>O</entry><entry>sort messages in reverse order</entry></row>
13254 <row><entry><literal>&lt;print-message&gt;</literal></entry><entry>p</entry><entry>print the current entry</entry></row>
13255 <row><entry><literal>&lt;previous-thread&gt;</literal></entry><entry>^P</entry><entry>jump to previous thread</entry></row>
13256 <row><entry><literal>&lt;previous-subthread&gt;</literal></entry><entry>Esc p</entry><entry>jump to previous subthread</entry></row>
13257 <row><entry><literal>&lt;recall-message&gt;</literal></entry><entry>R</entry><entry>recall a postponed message</entry></row>
13258 <row><entry><literal>&lt;read-thread&gt;</literal></entry><entry>^R</entry><entry>mark the current thread as read</entry></row>
13259 <row><entry><literal>&lt;read-subthread&gt;</literal></entry><entry>Esc r</entry><entry>mark the current subthread as read</entry></row>
13260 <row><entry><literal>&lt;resend-message&gt;</literal></entry><entry>Esc e</entry><entry>use the current message as a template for a new one</entry></row>
13261 <row><entry><literal>&lt;save-message&gt;</literal></entry><entry>s</entry><entry>save message/attachment to a file</entry></row>
13262 <row><entry><literal>&lt;tag-pattern&gt;</literal></entry><entry>T</entry><entry>tag messages matching a pattern</entry></row>
13263 <row><entry><literal>&lt;tag-subthread&gt;</literal></entry><entry></entry><entry>tag the current subthread</entry></row>
13264 <row><entry><literal>&lt;tag-thread&gt;</literal></entry><entry>Esc t</entry><entry>tag the current thread</entry></row>
13265 <row><entry><literal>&lt;untag-pattern&gt;</literal></entry><entry>^T</entry><entry>untag messages matching a pattern</entry></row>
13266 <row><entry><literal>&lt;undelete-message&gt;</literal></entry><entry>u</entry><entry>undelete the current entry</entry></row>
13267 <row><entry><literal>&lt;undelete-pattern&gt;</literal></entry><entry>U</entry><entry>undelete messages matching a pattern</entry></row>
13268 <row><entry><literal>&lt;undelete-subthread&gt;</literal></entry><entry>Esc u</entry><entry>undelete all messages in subthread</entry></row>
13269 <row><entry><literal>&lt;undelete-thread&gt;</literal></entry><entry>^U</entry><entry>undelete all messages in thread</entry></row>
13270 <row><entry><literal>&lt;view-attachments&gt;</literal></entry><entry>v</entry><entry>show MIME attachments</entry></row>
13271 <row><entry><literal>&lt;show-version&gt;</literal></entry><entry>V</entry><entry>show the Mutt version number and date</entry></row>
13272 <row><entry><literal>&lt;set-flag&gt;</literal></entry><entry>w</entry><entry>set a status flag on a message</entry></row>
13273 <row><entry><literal>&lt;clear-flag&gt;</literal></entry><entry>W</entry><entry>clear a status flag from a message</entry></row>
13274 <row><entry><literal>&lt;display-message&gt;</literal></entry><entry>&lt;Return&gt;</entry><entry>display a message</entry></row>
13275 <row><entry><literal>&lt;buffy-list&gt;</literal></entry><entry>.</entry><entry>list mailboxes with new mail</entry></row>
13276 <row><entry><literal>&lt;sync-mailbox&gt;</literal></entry><entry>$</entry><entry>save changes to mailbox</entry></row>
13277 <row><entry><literal>&lt;display-address&gt;</literal></entry><entry>@</entry><entry>display full address of sender</entry></row>
13278 <row><entry><literal>&lt;pipe-message&gt;</literal></entry><entry>|</entry><entry>pipe message/attachment to a shell command</entry></row>
13279 <row><entry><literal>&lt;next-new&gt;</literal></entry><entry></entry><entry>jump to the next new message</entry></row>
13280 <row><entry><literal>&lt;next-new-then-unread&gt;</literal></entry><entry>&lt;Tab&gt;</entry><entry>jump to the next new or unread message</entry></row>
13281 <row><entry><literal>&lt;previous-new&gt;</literal></entry><entry></entry><entry>jump to the previous new message</entry></row>
13282 <row><entry><literal>&lt;previous-new-then-unread&gt;</literal></entry><entry>Esc &lt;Tab&gt;</entry><entry>jump to the previous new or unread message</entry></row>
13283 <row><entry><literal>&lt;next-unread&gt;</literal></entry><entry></entry><entry>jump to the next unread message</entry></row>
13284 <row><entry><literal>&lt;previous-unread&gt;</literal></entry><entry></entry><entry>jump to the previous unread message</entry></row>
13285 <row><entry><literal>&lt;parent-message&gt;</literal></entry><entry>P</entry><entry>jump to parent message in thread</entry></row>
13286 <row><entry><literal>&lt;extract-keys&gt;</literal></entry><entry>^K</entry><entry>extract supported public keys</entry></row>
13287 <row><entry><literal>&lt;forget-passphrase&gt;</literal></entry><entry>^F</entry><entry>wipe passphrase(s) from memory</entry></row>
13288 <row><entry><literal>&lt;check-traditional-pgp&gt;</literal></entry><entry>Esc P</entry><entry>check for classic PGP</entry></row>
13289 <row><entry><literal>&lt;mail-key&gt;</literal></entry><entry>Esc k</entry><entry>mail a PGP public key</entry></row>
13290 <row><entry><literal>&lt;decrypt-copy&gt;</literal></entry><entry></entry><entry>make decrypted copy</entry></row>
13291 <row><entry><literal>&lt;decrypt-save&gt;</literal></entry><entry></entry><entry>make decrypted copy and delete</entry></row>
13292 <row><entry><literal>&lt;sidebar-scroll-up&gt;</literal></entry><entry></entry><entry>scroll the mailbox pane up 1 page</entry></row>
13293 <row><entry><literal>&lt;sidebar-scroll-down&gt;</literal></entry><entry></entry><entry>scroll the mailbox pane down 1 page</entry></row>
13294 <row><entry><literal>&lt;sidebar-next&gt;</literal></entry><entry></entry><entry>go down to next mailbox</entry></row>
13295 <row><entry><literal>&lt;sidebar-prev&gt;</literal></entry><entry></entry><entry>go to previous mailbox</entry></row>
13296 <row><entry><literal>&lt;sidebar-open&gt;</literal></entry><entry></entry><entry>open hilighted mailbox</entry></row>
13297
13298 </tbody>
13299 </tgroup>
13300 </table>
13301
13302 </sect2>
13303
13304 <sect2 id="pager_map">
13305 <title>pager menu</title>
13306
13307
13308 <table id="pager_table">
13309 <title>Default pager function bindings</title>
13310 <tgroup cols="3">
13311 <thead>
13312 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13313 </thead>
13314 <tbody>
13315 <row><entry><literal>&lt;break-thread&gt;</literal></entry><entry>#</entry><entry>break the thread in two</entry></row>
13316 <row><entry><literal>&lt;create-alias&gt;</literal></entry><entry>a</entry><entry>create an alias from a message sender</entry></row>
13317 <row><entry><literal>&lt;bounce-message&gt;</literal></entry><entry>b</entry><entry>remail a message to another user</entry></row>
13318 <row><entry><literal>&lt;change-folder&gt;</literal></entry><entry>c</entry><entry>open a different folder</entry></row>
13319 <row><entry><literal>&lt;change-folder-readonly&gt;</literal></entry><entry>Esc c</entry><entry>open a different folder in read only mode</entry></row>
13320 <row><entry><literal>&lt;next-unread-mailbox&gt;</literal></entry><entry></entry><entry>open next mailbox with new mail</entry></row>
13321 <row><entry><literal>&lt;copy-message&gt;</literal></entry><entry>C</entry><entry>copy a message to a file/mailbox</entry></row>
13322 <row><entry><literal>&lt;decode-copy&gt;</literal></entry><entry>Esc C</entry><entry>make decoded (text/plain) copy</entry></row>
13323 <row><entry><literal>&lt;delete-message&gt;</literal></entry><entry>d</entry><entry>delete the current entry</entry></row>
13324 <row><entry><literal>&lt;delete-thread&gt;</literal></entry><entry>^D</entry><entry>delete all messages in thread</entry></row>
13325 <row><entry><literal>&lt;delete-subthread&gt;</literal></entry><entry>Esc d</entry><entry>delete all messages in subthread</entry></row>
13326 <row><entry><literal>&lt;edit&gt;</literal></entry><entry>e</entry><entry>edit the raw message</entry></row>
13327 <row><entry><literal>&lt;edit-type&gt;</literal></entry><entry>^E</entry><entry>edit attachment content type</entry></row>
13328 <row><entry><literal>&lt;forward-message&gt;</literal></entry><entry>f</entry><entry>forward a message with comments</entry></row>
13329 <row><entry><literal>&lt;flag-message&gt;</literal></entry><entry>F</entry><entry>toggle a message's 'important' flag</entry></row>
13330 <row><entry><literal>&lt;group-reply&gt;</literal></entry><entry>g</entry><entry>reply to all recipients</entry></row>
13331 <row><entry><literal>&lt;imap-fetch-mail&gt;</literal></entry><entry></entry><entry>force retrieval of mail from IMAP server</entry></row>
13332 <row><entry><literal>&lt;display-toggle-weed&gt;</literal></entry><entry>h</entry><entry>display message and toggle header weeding</entry></row>
13333 <row><entry><literal>&lt;next-undeleted&gt;</literal></entry><entry>j</entry><entry>move to the next undeleted message</entry></row>
13334 <row><entry><literal>&lt;next-entry&gt;</literal></entry><entry>J</entry><entry>move to the next entry</entry></row>
13335 <row><entry><literal>&lt;previous-undeleted&gt;</literal></entry><entry>k</entry><entry>move to the previous undeleted message</entry></row>
13336 <row><entry><literal>&lt;previous-entry&gt;</literal></entry><entry>K</entry><entry>move to the previous entry</entry></row>
13337 <row><entry><literal>&lt;link-threads&gt;</literal></entry><entry>&amp;</entry><entry>link tagged message to the current one</entry></row>
13338 <row><entry><literal>&lt;list-reply&gt;</literal></entry><entry>L</entry><entry>reply to specified mailing list</entry></row>
13339 <row><entry><literal>&lt;redraw-screen&gt;</literal></entry><entry>^L</entry><entry>clear and redraw the screen</entry></row>
13340 <row><entry><literal>&lt;mail&gt;</literal></entry><entry>m</entry><entry>compose a new mail message</entry></row>
13341 <row><entry><literal>&lt;mark-as-new&gt;</literal></entry><entry>N</entry><entry>toggle a message's 'new' flag</entry></row>
13342 <row><entry><literal>&lt;search-next&gt;</literal></entry><entry>n</entry><entry>search for next match</entry></row>
13343 <row><entry><literal>&lt;next-thread&gt;</literal></entry><entry>^N</entry><entry>jump to the next thread</entry></row>
13344 <row><entry><literal>&lt;next-subthread&gt;</literal></entry><entry>Esc n</entry><entry>jump to the next subthread</entry></row>
13345 <row><entry><literal>&lt;print-message&gt;</literal></entry><entry>p</entry><entry>print the current entry</entry></row>
13346 <row><entry><literal>&lt;previous-thread&gt;</literal></entry><entry>^P</entry><entry>jump to previous thread</entry></row>
13347 <row><entry><literal>&lt;previous-subthread&gt;</literal></entry><entry>Esc p</entry><entry>jump to previous subthread</entry></row>
13348 <row><entry><literal>&lt;purge-message&gt;</literal></entry><entry></entry><entry>really delete the current entry, bypassing the trash folder</entry></row>
13349 <row><entry><literal>&lt;quit&gt;</literal></entry><entry>Q</entry><entry>save changes to mailbox and quit</entry></row>
13350 <row><entry><literal>&lt;exit&gt;</literal></entry><entry>q</entry><entry>exit this menu</entry></row>
13351 <row><entry><literal>&lt;reply&gt;</literal></entry><entry>r</entry><entry>reply to a message</entry></row>
13352 <row><entry><literal>&lt;recall-message&gt;</literal></entry><entry>R</entry><entry>recall a postponed message</entry></row>
13353 <row><entry><literal>&lt;read-thread&gt;</literal></entry><entry>^R</entry><entry>mark the current thread as read</entry></row>
13354 <row><entry><literal>&lt;read-subthread&gt;</literal></entry><entry>Esc r</entry><entry>mark the current subthread as read</entry></row>
13355 <row><entry><literal>&lt;resend-message&gt;</literal></entry><entry>Esc e</entry><entry>use the current message as a template for a new one</entry></row>
13356 <row><entry><literal>&lt;save-message&gt;</literal></entry><entry>s</entry><entry>save message/attachment to a file</entry></row>
13357 <row><entry><literal>&lt;skip-quoted&gt;</literal></entry><entry>S</entry><entry>skip beyond quoted text</entry></row>
13358 <row><entry><literal>&lt;decode-save&gt;</literal></entry><entry>Esc s</entry><entry>make decoded copy (text/plain) and delete</entry></row>
13359 <row><entry><literal>&lt;tag-message&gt;</literal></entry><entry>t</entry><entry>tag the current entry</entry></row>
13360 <row><entry><literal>&lt;toggle-quoted&gt;</literal></entry><entry>T</entry><entry>toggle display of quoted text</entry></row>
13361 <row><entry><literal>&lt;undelete-message&gt;</literal></entry><entry>u</entry><entry>undelete the current entry</entry></row>
13362 <row><entry><literal>&lt;undelete-subthread&gt;</literal></entry><entry>Esc u</entry><entry>undelete all messages in subthread</entry></row>
13363 <row><entry><literal>&lt;undelete-thread&gt;</literal></entry><entry>^U</entry><entry>undelete all messages in thread</entry></row>
13364 <row><entry><literal>&lt;view-attachments&gt;</literal></entry><entry>v</entry><entry>show MIME attachments</entry></row>
13365 <row><entry><literal>&lt;show-version&gt;</literal></entry><entry>V</entry><entry>show the Mutt version number and date</entry></row>
13366 <row><entry><literal>&lt;search-toggle&gt;</literal></entry><entry>\\</entry><entry>toggle search pattern coloring</entry></row>
13367 <row><entry><literal>&lt;display-address&gt;</literal></entry><entry>@</entry><entry>display full address of sender</entry></row>
13368 <row><entry><literal>&lt;next-new&gt;</literal></entry><entry></entry><entry>jump to the next new message</entry></row>
13369 <row><entry><literal>&lt;pipe-message&gt;</literal></entry><entry>|</entry><entry>pipe message/attachment to a shell command</entry></row>
13370 <row><entry><literal>&lt;help&gt;</literal></entry><entry>?</entry><entry>this screen</entry></row>
13371 <row><entry><literal>&lt;next-page&gt;</literal></entry><entry>&lt;Space&gt;</entry><entry>move to the next page</entry></row>
13372 <row><entry><literal>&lt;previous-page&gt;</literal></entry><entry>-</entry><entry>move to the previous page</entry></row>
13373 <row><entry><literal>&lt;top&gt;</literal></entry><entry>^</entry><entry>jump to the top of the message</entry></row>
13374 <row><entry><literal>&lt;sync-mailbox&gt;</literal></entry><entry>$</entry><entry>save changes to mailbox</entry></row>
13375 <row><entry><literal>&lt;shell-escape&gt;</literal></entry><entry>!</entry><entry>invoke a command in a subshell</entry></row>
13376 <row><entry><literal>&lt;enter-command&gt;</literal></entry><entry>:</entry><entry>enter a muttrc command</entry></row>
13377 <row><entry><literal>&lt;buffy-list&gt;</literal></entry><entry>.</entry><entry>list mailboxes with new mail</entry></row>
13378 <row><entry><literal>&lt;search&gt;</literal></entry><entry>/</entry><entry>search for a regular expression</entry></row>
13379 <row><entry><literal>&lt;search-reverse&gt;</literal></entry><entry>Esc /</entry><entry>search backwards for a regular expression</entry></row>
13380 <row><entry><literal>&lt;search-opposite&gt;</literal></entry><entry></entry><entry>search for next match in opposite direction</entry></row>
13381 <row><entry><literal>&lt;next-line&gt;</literal></entry><entry>&lt;Return&gt;</entry><entry>scroll down one line</entry></row>
13382 <row><entry><literal>&lt;jump&gt;</literal></entry><entry></entry><entry>jump to an index number</entry></row>
13383 <row><entry><literal>&lt;next-unread&gt;</literal></entry><entry></entry><entry>jump to the next unread message</entry></row>
13384 <row><entry><literal>&lt;previous-new&gt;</literal></entry><entry></entry><entry>jump to the previous new message</entry></row>
13385 <row><entry><literal>&lt;previous-unread&gt;</literal></entry><entry></entry><entry>jump to the previous unread message</entry></row>
13386 <row><entry><literal>&lt;half-up&gt;</literal></entry><entry></entry><entry>scroll up 1/2 page</entry></row>
13387 <row><entry><literal>&lt;half-down&gt;</literal></entry><entry></entry><entry>scroll down 1/2 page</entry></row>
13388 <row><entry><literal>&lt;previous-line&gt;</literal></entry><entry></entry><entry>scroll up one line</entry></row>
13389 <row><entry><literal>&lt;bottom&gt;</literal></entry><entry></entry><entry>jump to the bottom of the message</entry></row>
13390 <row><entry><literal>&lt;parent-message&gt;</literal></entry><entry>P</entry><entry>jump to parent message in thread</entry></row>
13391 <row><entry><literal>&lt;check-traditional-pgp&gt;</literal></entry><entry>Esc P</entry><entry>check for classic PGP</entry></row>
13392 <row><entry><literal>&lt;mail-key&gt;</literal></entry><entry>Esc k</entry><entry>mail a PGP public key</entry></row>
13393 <row><entry><literal>&lt;extract-keys&gt;</literal></entry><entry>^K</entry><entry>extract supported public keys</entry></row>
13394 <row><entry><literal>&lt;forget-passphrase&gt;</literal></entry><entry>^F</entry><entry>wipe passphrase(s) from memory</entry></row>
13395 <row><entry><literal>&lt;decrypt-copy&gt;</literal></entry><entry></entry><entry>make decrypted copy</entry></row>
13396 <row><entry><literal>&lt;decrypt-save&gt;</literal></entry><entry></entry><entry>make decrypted copy and delete</entry></row>
13397 <row><entry><literal>&lt;what-key&gt;</literal></entry><entry></entry><entry>display the keycode for a key press</entry></row>
13398 <row><entry><literal>&lt;sidebar-scroll-up&gt;</literal></entry><entry></entry><entry>scroll the mailbox pane up 1 page</entry></row>
13399 <row><entry><literal>&lt;sidebar-scroll-down&gt;</literal></entry><entry></entry><entry>scroll the mailbox pane down 1 page</entry></row>
13400 <row><entry><literal>&lt;sidebar-next&gt;</literal></entry><entry></entry><entry>go down to next mailbox</entry></row>
13401 <row><entry><literal>&lt;sidebar-prev&gt;</literal></entry><entry></entry><entry>go to previous mailbox</entry></row>
13402 <row><entry><literal>&lt;sidebar-open&gt;</literal></entry><entry></entry><entry>open hilighted mailbox</entry></row>
13403
13404 </tbody>
13405 </tgroup>
13406 </table>
13407
13408 </sect2>
13409
13410 <sect2 id="alias_map">
13411 <title>alias menu</title>
13412
13413
13414 <table id="alias_table">
13415 <title>Default alias function bindings</title>
13416 <tgroup cols="3">
13417 <thead>
13418 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13419 </thead>
13420 <tbody>
13421 <row><entry><literal>&lt;delete-entry&gt;</literal></entry><entry>d</entry><entry>delete the current entry</entry></row>
13422 <row><entry><literal>&lt;undelete-entry&gt;</literal></entry><entry>u</entry><entry>undelete the current entry</entry></row>
13423
13424 </tbody>
13425 </tgroup>
13426 </table>
13427
13428 </sect2>
13429
13430 <sect2 id="query_map">
13431 <title>query menu</title>
13432
13433
13434 <table id="query_table">
13435 <title>Default query function bindings</title>
13436 <tgroup cols="3">
13437 <thead>
13438 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13439 </thead>
13440 <tbody>
13441 <row><entry><literal>&lt;create-alias&gt;</literal></entry><entry>a</entry><entry>create an alias from a message sender</entry></row>
13442 <row><entry><literal>&lt;mail&gt;</literal></entry><entry>m</entry><entry>compose a new mail message</entry></row>
13443 <row><entry><literal>&lt;query&gt;</literal></entry><entry>Q</entry><entry>query external program for addresses</entry></row>
13444 <row><entry><literal>&lt;query-append&gt;</literal></entry><entry>A</entry><entry>append new query results to current results</entry></row>
13445
13446 </tbody>
13447 </tgroup>
13448 </table>
13449
13450 </sect2>
13451
13452 <sect2 id="attach_map">
13453 <title>attach menu</title>
13454
13455
13456 <table id="attach_table">
13457 <title>Default attach function bindings</title>
13458 <tgroup cols="3">
13459 <thead>
13460 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13461 </thead>
13462 <tbody>
13463 <row><entry><literal>&lt;bounce-message&gt;</literal></entry><entry>b</entry><entry>remail a message to another user</entry></row>
13464 <row><entry><literal>&lt;display-toggle-weed&gt;</literal></entry><entry>h</entry><entry>display message and toggle header weeding</entry></row>
13465 <row><entry><literal>&lt;edit-type&gt;</literal></entry><entry>^E</entry><entry>edit attachment content type</entry></row>
13466 <row><entry><literal>&lt;print-entry&gt;</literal></entry><entry>p</entry><entry>print the current entry</entry></row>
13467 <row><entry><literal>&lt;save-entry&gt;</literal></entry><entry>s</entry><entry>save message/attachment to a file</entry></row>
13468 <row><entry><literal>&lt;pipe-entry&gt;</literal></entry><entry>|</entry><entry>pipe message/attachment to a shell command</entry></row>
13469 <row><entry><literal>&lt;view-mailcap&gt;</literal></entry><entry>m</entry><entry>force viewing of attachment using mailcap</entry></row>
13470 <row><entry><literal>&lt;reply&gt;</literal></entry><entry>r</entry><entry>reply to a message</entry></row>
13471 <row><entry><literal>&lt;resend-message&gt;</literal></entry><entry>Esc e</entry><entry>use the current message as a template for a new one</entry></row>
13472 <row><entry><literal>&lt;group-reply&gt;</literal></entry><entry>g</entry><entry>reply to all recipients</entry></row>
13473 <row><entry><literal>&lt;list-reply&gt;</literal></entry><entry>L</entry><entry>reply to specified mailing list</entry></row>
13474 <row><entry><literal>&lt;forward-message&gt;</literal></entry><entry>f</entry><entry>forward a message with comments</entry></row>
13475 <row><entry><literal>&lt;view-text&gt;</literal></entry><entry>T</entry><entry>view attachment as text</entry></row>
13476 <row><entry><literal>&lt;view-attach&gt;</literal></entry><entry>&lt;Return&gt;</entry><entry>view attachment using mailcap entry if necessary</entry></row>
13477 <row><entry><literal>&lt;delete-entry&gt;</literal></entry><entry>d</entry><entry>delete the current entry</entry></row>
13478 <row><entry><literal>&lt;undelete-entry&gt;</literal></entry><entry>u</entry><entry>undelete the current entry</entry></row>
13479 <row><entry><literal>&lt;collapse-parts&gt;</literal></entry><entry>v</entry><entry>Toggle display of subparts</entry></row>
13480 <row><entry><literal>&lt;check-traditional-pgp&gt;</literal></entry><entry>Esc P</entry><entry>check for classic PGP</entry></row>
13481 <row><entry><literal>&lt;extract-keys&gt;</literal></entry><entry>^K</entry><entry>extract supported public keys</entry></row>
13482 <row><entry><literal>&lt;forget-passphrase&gt;</literal></entry><entry>^F</entry><entry>wipe passphrase(s) from memory</entry></row>
13483
13484 </tbody>
13485 </tgroup>
13486 </table>
13487
13488 </sect2>
13489
13490 <sect2 id="compose_map">
13491 <title>compose menu</title>
13492
13493
13494 <table id="compose_table">
13495 <title>Default compose function bindings</title>
13496 <tgroup cols="3">
13497 <thead>
13498 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13499 </thead>
13500 <tbody>
13501 <row><entry><literal>&lt;attach-file&gt;</literal></entry><entry>a</entry><entry>attach file(s) to this message</entry></row>
13502 <row><entry><literal>&lt;attach-message&gt;</literal></entry><entry>A</entry><entry>attach message(s) to this message</entry></row>
13503 <row><entry><literal>&lt;edit-bcc&gt;</literal></entry><entry>b</entry><entry>edit the BCC list</entry></row>
13504 <row><entry><literal>&lt;edit-cc&gt;</literal></entry><entry>c</entry><entry>edit the CC list</entry></row>
13505 <row><entry><literal>&lt;copy-file&gt;</literal></entry><entry>C</entry><entry>save message/attachment to a file</entry></row>
13506 <row><entry><literal>&lt;detach-file&gt;</literal></entry><entry>D</entry><entry>delete the current entry</entry></row>
13507 <row><entry><literal>&lt;toggle-disposition&gt;</literal></entry><entry>^D</entry><entry>toggle disposition between inline/attachment</entry></row>
13508 <row><entry><literal>&lt;edit-description&gt;</literal></entry><entry>d</entry><entry>edit attachment description</entry></row>
13509 <row><entry><literal>&lt;edit-message&gt;</literal></entry><entry>e</entry><entry>edit the message</entry></row>
13510 <row><entry><literal>&lt;edit-headers&gt;</literal></entry><entry>E</entry><entry>edit the message with headers</entry></row>
13511 <row><entry><literal>&lt;edit-file&gt;</literal></entry><entry>^X e</entry><entry>edit the file to be attached</entry></row>
13512 <row><entry><literal>&lt;edit-encoding&gt;</literal></entry><entry>^E</entry><entry>edit attachment transfer-encoding</entry></row>
13513 <row><entry><literal>&lt;edit-from&gt;</literal></entry><entry>Esc f</entry><entry>edit the from field</entry></row>
13514 <row><entry><literal>&lt;edit-fcc&gt;</literal></entry><entry>f</entry><entry>enter a file to save a copy of this message in</entry></row>
13515 <row><entry><literal>&lt;filter-entry&gt;</literal></entry><entry>F</entry><entry>filter attachment through a shell command</entry></row>
13516 <row><entry><literal>&lt;get-attachment&gt;</literal></entry><entry>G</entry><entry>get a temporary copy of an attachment</entry></row>
13517 <row><entry><literal>&lt;display-toggle-weed&gt;</literal></entry><entry>h</entry><entry>display message and toggle header weeding</entry></row>
13518 <row><entry><literal>&lt;ispell&gt;</literal></entry><entry>i</entry><entry>run ispell on the message</entry></row>
13519 <row><entry><literal>&lt;print-entry&gt;</literal></entry><entry>l</entry><entry>print the current entry</entry></row>
13520 <row><entry><literal>&lt;edit-mime&gt;</literal></entry><entry>m</entry><entry>edit attachment using mailcap entry</entry></row>
13521 <row><entry><literal>&lt;new-mime&gt;</literal></entry><entry>n</entry><entry>compose new attachment using mailcap entry</entry></row>
13522 <row><entry><literal>&lt;postpone-message&gt;</literal></entry><entry>P</entry><entry>save this message to send later</entry></row>
13523 <row><entry><literal>&lt;edit-reply-to&gt;</literal></entry><entry>r</entry><entry>edit the Reply-To field</entry></row>
13524 <row><entry><literal>&lt;rename-file&gt;</literal></entry><entry>R</entry><entry>rename/move an attached file</entry></row>
13525 <row><entry><literal>&lt;edit-subject&gt;</literal></entry><entry>s</entry><entry>edit the subject of this message</entry></row>
13526 <row><entry><literal>&lt;edit-to&gt;</literal></entry><entry>t</entry><entry>edit the TO list</entry></row>
13527 <row><entry><literal>&lt;edit-type&gt;</literal></entry><entry>^T</entry><entry>edit attachment content type</entry></row>
13528 <row><entry><literal>&lt;write-fcc&gt;</literal></entry><entry>w</entry><entry>write the message to a folder</entry></row>
13529 <row><entry><literal>&lt;toggle-unlink&gt;</literal></entry><entry>u</entry><entry>toggle whether to delete file after sending it</entry></row>
13530 <row><entry><literal>&lt;toggle-recode&gt;</literal></entry><entry></entry><entry>toggle recoding of this attachment</entry></row>
13531 <row><entry><literal>&lt;update-encoding&gt;</literal></entry><entry>U</entry><entry>update an attachment's encoding info</entry></row>
13532 <row><entry><literal>&lt;view-attach&gt;</literal></entry><entry>&lt;Return&gt;</entry><entry>view attachment using mailcap entry if necessary</entry></row>
13533 <row><entry><literal>&lt;send-message&gt;</literal></entry><entry>y</entry><entry>send the message</entry></row>
13534 <row><entry><literal>&lt;pipe-entry&gt;</literal></entry><entry>|</entry><entry>pipe message/attachment to a shell command</entry></row>
13535 <row><entry><literal>&lt;attach-key&gt;</literal></entry><entry>Esc k</entry><entry>attach a PGP public key</entry></row>
13536 <row><entry><literal>&lt;pgp-menu&gt;</literal></entry><entry>p</entry><entry>show PGP options</entry></row>
13537 <row><entry><literal>&lt;forget-passphrase&gt;</literal></entry><entry>^F</entry><entry>wipe passphrase(s) from memory</entry></row>
13538 <row><entry><literal>&lt;smime-menu&gt;</literal></entry><entry>S</entry><entry>show S/MIME options</entry></row>
13539 <row><entry><literal>&lt;mix&gt;</literal></entry><entry>M</entry><entry>send the message through a mixmaster remailer chain</entry></row>
13540
13541 </tbody>
13542 </tgroup>
13543 </table>
13544
13545 </sect2>
13546
13547 <sect2 id="postpone_map">
13548 <title>postpone menu</title>
13549
13550
13551 <table id="postpone_table">
13552 <title>Default postpone function bindings</title>
13553 <tgroup cols="3">
13554 <thead>
13555 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13556 </thead>
13557 <tbody>
13558 <row><entry><literal>&lt;delete-entry&gt;</literal></entry><entry>d</entry><entry>delete the current entry</entry></row>
13559 <row><entry><literal>&lt;undelete-entry&gt;</literal></entry><entry>u</entry><entry>undelete the current entry</entry></row>
13560
13561 </tbody>
13562 </tgroup>
13563 </table>
13564
13565 </sect2>
13566
13567 <sect2 id="browser_map">
13568 <title>browser menu</title>
13569
13570
13571 <table id="browser_table">
13572 <title>Default browser function bindings</title>
13573 <tgroup cols="3">
13574 <thead>
13575 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13576 </thead>
13577 <tbody>
13578 <row><entry><literal>&lt;change-dir&gt;</literal></entry><entry>c</entry><entry>change directories</entry></row>
13579 <row><entry><literal>&lt;display-filename&gt;</literal></entry><entry>@</entry><entry>display the currently selected file's name</entry></row>
13580 <row><entry><literal>&lt;enter-mask&gt;</literal></entry><entry>m</entry><entry>enter a file mask</entry></row>
13581 <row><entry><literal>&lt;sort&gt;</literal></entry><entry>o</entry><entry>sort messages</entry></row>
13582 <row><entry><literal>&lt;sort-reverse&gt;</literal></entry><entry>O</entry><entry>sort messages in reverse order</entry></row>
13583 <row><entry><literal>&lt;select-new&gt;</literal></entry><entry>N</entry><entry>select a new file in this directory</entry></row>
13584 <row><entry><literal>&lt;check-new&gt;</literal></entry><entry></entry><entry>check mailboxes for new mail</entry></row>
13585 <row><entry><literal>&lt;toggle-mailboxes&gt;</literal></entry><entry>&lt;Tab&gt;</entry><entry>toggle whether to browse mailboxes or all files</entry></row>
13586 <row><entry><literal>&lt;view-file&gt;</literal></entry><entry>&lt;Space&gt;</entry><entry>view file</entry></row>
13587 <row><entry><literal>&lt;buffy-list&gt;</literal></entry><entry>.</entry><entry>list mailboxes with new mail</entry></row>
13588 <row><entry><literal>&lt;create-mailbox&gt;</literal></entry><entry>C</entry><entry>create a new mailbox (IMAP only)</entry></row>
13589 <row><entry><literal>&lt;delete-mailbox&gt;</literal></entry><entry>d</entry><entry>delete the current mailbox (IMAP only)</entry></row>
13590 <row><entry><literal>&lt;rename-mailbox&gt;</literal></entry><entry>r</entry><entry>rename the current mailbox (IMAP only)</entry></row>
13591 <row><entry><literal>&lt;subscribe&gt;</literal></entry><entry>s</entry><entry>subscribe to current mailbox (IMAP only)</entry></row>
13592 <row><entry><literal>&lt;unsubscribe&gt;</literal></entry><entry>u</entry><entry>unsubscribe from current mailbox (IMAP only)</entry></row>
13593 <row><entry><literal>&lt;toggle-subscribed&gt;</literal></entry><entry>T</entry><entry>toggle view all/subscribed mailboxes (IMAP only)</entry></row>
13594
13595 </tbody>
13596 </tgroup>
13597 </table>
13598
13599 </sect2>
13600
13601 <sect2 id="pgp_map">
13602 <title>pgp menu</title>
13603
13604
13605 <table id="pgp_table">
13606 <title>Default pgp function bindings</title>
13607 <tgroup cols="3">
13608 <thead>
13609 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13610 </thead>
13611 <tbody>
13612 <row><entry><literal>&lt;verify-key&gt;</literal></entry><entry>c</entry><entry>verify a PGP public key</entry></row>
13613 <row><entry><literal>&lt;view-name&gt;</literal></entry><entry>%</entry><entry>view the key's user id</entry></row>
13614
13615 </tbody>
13616 </tgroup>
13617 </table>
13618
13619 </sect2>
13620
13621 <sect2 id="smime_map">
13622 <title>smime menu</title>
13623
13624
13625 <table id="smime_table">
13626 <title>Default smime function bindings</title>
13627 <tgroup cols="3">
13628 <thead>
13629 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13630 </thead>
13631 <tbody>
13632 <row><entry><literal>&lt;verify-key&gt;</literal></entry><entry>c</entry><entry>verify a PGP public key</entry></row>
13633 <row><entry><literal>&lt;view-name&gt;</literal></entry><entry>%</entry><entry>view the key's user id</entry></row>
13634
13635 </tbody>
13636 </tgroup>
13637 </table>
13638
13639 </sect2>
13640
13641 <sect2 id="mix_map">
13642 <title>mix menu</title>
13643
13644
13645 <table id="mix_table">
13646 <title>Default mix function bindings</title>
13647 <tgroup cols="3">
13648 <thead>
13649 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13650 </thead>
13651 <tbody>
13652 <row><entry><literal>&lt;accept&gt;</literal></entry><entry>&lt;Return&gt;</entry><entry>Accept the chain constructed</entry></row>
13653 <row><entry><literal>&lt;append&gt;</literal></entry><entry>a</entry><entry>Append a remailer to the chain</entry></row>
13654 <row><entry><literal>&lt;insert&gt;</literal></entry><entry>i</entry><entry>Insert a remailer into the chain</entry></row>
13655 <row><entry><literal>&lt;delete&gt;</literal></entry><entry>d</entry><entry>Delete a remailer from the chain</entry></row>
13656 <row><entry><literal>&lt;chain-prev&gt;</literal></entry><entry>&lt;Left&gt;</entry><entry>Select the previous element of the chain</entry></row>
13657 <row><entry><literal>&lt;chain-next&gt;</literal></entry><entry>&lt;Right&gt;</entry><entry>Select the next element of the chain</entry></row>
13658
13659 </tbody>
13660 </tgroup>
13661 </table>
13662
13663 </sect2>
13664
13665 <sect2 id="editor_map">
13666 <title>editor menu</title>
13667
13668
13669 <table id="editor_table">
13670 <title>Default editor function bindings</title>
13671 <tgroup cols="3">
13672 <thead>
13673 <row><entry>Function</entry><entry>Default key</entry><entry>Description</entry></row>
13674 </thead>
13675 <tbody>
13676 <row><entry><literal>&lt;bol&gt;</literal></entry><entry>^A</entry><entry>jump to the beginning of the line</entry></row>
13677 <row><entry><literal>&lt;backward-char&gt;</literal></entry><entry>^B</entry><entry>move the cursor one character to the left</entry></row>
13678 <row><entry><literal>&lt;backward-word&gt;</literal></entry><entry>Esc b</entry><entry>move the cursor to the beginning of the word</entry></row>
13679 <row><entry><literal>&lt;capitalize-word&gt;</literal></entry><entry>Esc c</entry><entry>capitalize the word</entry></row>
13680 <row><entry><literal>&lt;downcase-word&gt;</literal></entry><entry>Esc l</entry><entry>convert the word to lower case</entry></row>
13681 <row><entry><literal>&lt;upcase-word&gt;</literal></entry><entry>Esc u</entry><entry>convert the word to upper case</entry></row>
13682 <row><entry><literal>&lt;delete-char&gt;</literal></entry><entry>^D</entry><entry>delete the char under the cursor</entry></row>
13683 <row><entry><literal>&lt;eol&gt;</literal></entry><entry>^E</entry><entry>jump to the end of the line</entry></row>
13684 <row><entry><literal>&lt;forward-char&gt;</literal></entry><entry>^F</entry><entry>move the cursor one character to the right</entry></row>
13685 <row><entry><literal>&lt;forward-word&gt;</literal></entry><entry>Esc f</entry><entry>move the cursor to the end of the word</entry></row>
13686 <row><entry><literal>&lt;backspace&gt;</literal></entry><entry>&lt;Backspace&gt;</entry><entry>delete the char in front of the cursor</entry></row>
13687 <row><entry><literal>&lt;kill-eol&gt;</literal></entry><entry>^K</entry><entry>delete chars from cursor to end of line</entry></row>
13688 <row><entry><literal>&lt;kill-eow&gt;</literal></entry><entry>Esc d</entry><entry>delete chars from the cursor to the end of the word</entry></row>
13689 <row><entry><literal>&lt;kill-line&gt;</literal></entry><entry>^U</entry><entry>delete all chars on the line</entry></row>
13690 <row><entry><literal>&lt;quote-char&gt;</literal></entry><entry>^V</entry><entry>quote the next typed key</entry></row>
13691 <row><entry><literal>&lt;kill-word&gt;</literal></entry><entry>^W</entry><entry>delete the word in front of the cursor</entry></row>
13692 <row><entry><literal>&lt;complete&gt;</literal></entry><entry>&lt;Tab&gt;</entry><entry>complete filename or alias</entry></row>
13693 <row><entry><literal>&lt;complete-query&gt;</literal></entry><entry>^T</entry><entry>complete address with query</entry></row>
13694 <row><entry><literal>&lt;buffy-cycle&gt;</literal></entry><entry>&lt;Space&gt;</entry><entry>cycle among incoming mailboxes</entry></row>
13695 <row><entry><literal>&lt;history-up&gt;</literal></entry><entry></entry><entry>scroll up through the history list</entry></row>
13696 <row><entry><literal>&lt;history-down&gt;</literal></entry><entry></entry><entry>scroll down through the history list</entry></row>
13697 <row><entry><literal>&lt;transpose-chars&gt;</literal></entry><entry></entry><entry>transpose character under cursor with previous</entry></row>
13698
13699 </tbody>
13700 </tgroup>
13701 </table>
13702
13703 </sect2>
13704
13705
13706 </sect1>
13707
13708 </chapter>
13709
13710 <chapter id="miscellany">
13711 <title>Miscellany</title>
13712
13713 <sect1 id="acknowledgements">
13714 <title>Acknowledgements</title>
13715
13716 <para>
13717 Kari Hurtta <email>kari.hurtta@fmi.fi</email>
13718 co-developed the original MIME parsing code back in the ELM-ME days.
13719 </para>
13720
13721 <para>
13722 The following people have been very helpful to the development of Mutt:
13723 </para>
13724
13725 <itemizedlist>
13726 <listitem><para>Vikas Agnihotri <email>vikasa@writeme.com</email></para></listitem>
13727 <listitem><para>Francois Berjon <email>Francois.Berjon@aar.alcatel-alsthom.fr</email></para></listitem>
13728 <listitem><para>Aric Blumer <email>aric@fore.com</email></para></listitem>
13729 <listitem><para>John Capo <email>jc@irbs.com</email></para></listitem>
13730 <listitem><para>David Champion <email>dgc@uchicago.edu</email></para></listitem>
13731 <listitem><para>Brendan Cully <email>brendan@kublai.com</email></para></listitem>
13732 <listitem><para>Liviu Daia <email>daia@stoilow.imar.ro</email></para></listitem>
13733 <listitem><para>Thomas E. Dickey <email>dickey@herndon4.his.com</email></para></listitem>
13734 <listitem><para>David DeSimone <email>fox@convex.hp.com</email></para></listitem>
13735 <listitem><para>Nickolay N. Dudorov <email>nnd@wint.itfs.nsk.su</email></para></listitem>
13736 <listitem><para>Ruslan Ermilov <email>ru@freebsd.org</email></para></listitem>
13737 <listitem><para>Edmund Grimley Evans <email>edmundo@rano.org</email></para></listitem>
13738 <listitem><para>Michael Finken <email>finken@conware.de</email></para></listitem>
13739 <listitem><para>Sven Guckes <email>guckes@math.fu-berlin.de</email></para></listitem>
13740 <listitem><para>Lars Hecking <email>lhecking@nmrc.ie</email></para></listitem>
13741 <listitem><para>Mark Holloman <email>holloman@nando.net</email></para></listitem>
13742 <listitem><para>Andreas Holzmann <email>holzmann@fmi.uni-passau.de</email></para></listitem>
13743 <listitem><para>Marco d'Itri <email>md@linux.it</email></para></listitem>
13744 <listitem><para>Bj&ouml;rn Jacke <email>bjacke@suse.com</email></para></listitem>
13745 <listitem><para>Byrial Jensen <email>byrial@image.dk</email></para></listitem>
13746 <listitem><para>David Jeske <email>jeske@igcom.net</email></para></listitem>
13747 <listitem><para>Christophe Kalt <email>kalt@hugo.int-evry.fr</email></para></listitem>
13748 <listitem><para>Tommi Komulainen <email>Tommi.Komulainen@iki.fi</email></para></listitem>
13749 <listitem><para>Felix von Leitner (a.k.a <quote>Fefe</quote>) <email>leitner@math.fu-berlin.de</email></para></listitem>
13750 <listitem><para>Brandon Long <email>blong@fiction.net</email></para></listitem>
13751 <listitem><para>Jimmy M&auml;kel&auml; <email>jmy@flashback.net</email></para></listitem>
13752 <listitem><para>Lars Marowsky-Bree <email>lmb@pointer.in-minden.de</email></para></listitem>
13753 <listitem><para>Thomas <quote>Mike</quote> Michlmayr <email>mike@cosy.sbg.ac.at</email></para></listitem>
13754 <listitem><para>Andrew W. Nosenko <email>awn@bcs.zp.ua</email></para></listitem>
13755 <listitem><para>David O'Brien <email>obrien@Nuxi.cs.ucdavis.edu</email></para></listitem>
13756 <listitem><para>Clint Olsen <email>olsenc@ichips.intel.com</email></para></listitem>
13757 <listitem><para>Park Myeong Seok <email>pms@romance.kaist.ac.kr</email></para></listitem>
13758 <listitem><para>Thomas Parmelan <email>tom@ankh.fr.eu.org</email></para></listitem>
13759 <listitem><para>Ollivier Robert <email>roberto@keltia.freenix.fr</email></para></listitem>
13760 <listitem><para>Thomas Roessler <email>roessler@does-not-exist.org</email></para></listitem>
13761 <listitem><para>Roland Rosenfeld <email>roland@spinnaker.de</email></para></listitem>
13762 <listitem><para>Rocco Rutte <email>pdmef@gmx.net</email></para></listitem>
13763 <listitem><para>TAKIZAWA Takashi <email>taki@luna.email.ne.jp</email></para></listitem>
13764 <listitem><para>Allain Thivillon <email>Allain.Thivillon@alma.fr</email></para></listitem>
13765 <listitem><para>Gero Treuner <email>gero@70t.de</email></para></listitem>
13766 <listitem><para>Vsevolod Volkov <email>vvv@lucky.net</email></para></listitem>
13767 <listitem><para>Ken Weinert <email>kenw@ihs.com</email></para></listitem>
13768 </itemizedlist>
13769
13770 </sect1>
13771
13772 <sect1 id="about">
13773 <title>About this document</title>
13774
13775 <para>
13776 This document was written in <ulink url="http://docbook.sourceforge.net">DocBook</ulink>,
13777 and then rendered using the <ulink url="http://xmlsoft.org/XSLT/">Gnome XSLT toolkit</ulink>.
13778 </para>
13779
13780 </sect1>
13781
13782 </chapter>
13783
13784 </book>
13785
13786 <!--
13787 vim:ft=xml
13788 -->