From: Felix Meinhold <felix.meinhold@gmx.net>
[apps/madmutt.git] / doc / manual.txt
1                      The Mutt Next Generation E-Mail Client
2
3   Andreas Krennmair
4
5    <ak@synflood.at>
6
7   Michael Elkins
8
9    <me@cs.hmc.edu>
10
11    version devel-r513
12
13    Abstract
14
15    Michael Elinks on mutt, circa 1995: ``All mail clients suck. This one just
16    sucks less.''
17
18    Sven Guckes on mutt, ca. 2003: ``But it still sucks!''
19
20    --------------------------------------------------------------------------
21
22    Table of Contents
23
24    1. Introduction
25
26                 1. Overview
27
28                 2. Mutt-ng Home Page
29
30                 3. Mailing Lists
31
32                 4. Software Distribution Sites
33
34                 5. IRC
35
36                 6. Weblog
37
38                 7. Copyright
39
40                 8. Manual Conventions
41
42    2. Getting Started
43
44                 1. Basic Concepts
45
46                              1.1. Screens and Menus
47
48                              1.2. Configuration
49
50                              1.3. Functions
51
52                              1.4. Interaction
53
54                              1.5. Modularization
55
56                              1.6. Patterns
57
58                 2. Screens and Menus
59
60                              2.1. Index
61
62                              2.2. Pager
63
64                              2.3. File Browser
65
66                              2.4. Sidebar
67
68                              2.5. Help
69
70                              2.6. Compose Menu
71
72                              2.7. Alias Menu
73
74                              2.8. Attachment Menu
75
76                              2.9. Key Menu
77
78                 3. Moving Around in Menus
79
80                 4. Editing Input Fields
81
82                 5. Reading Mail - The Index and Pager
83
84                              5.1. The Message Index
85
86                              5.2. The Pager
87
88                              5.3. Threaded Mode
89
90                              5.4. Miscellaneous Functions
91
92                 6. Sending Mail
93
94                              6.1. Composing new messages
95
96                              6.2. Replying
97
98                              6.3. Editing the message header
99
100                              6.4. Using Mutt-ng with PGP
101
102                              6.5. Sending anonymous messages via mixmaster
103
104                 7. Forwarding and Bouncing Mail
105
106                 8. Postponing Mail
107
108    3. Configuration
109
110                 1. Locations of Configuration Files
111
112                 2. Basic Syntax of Initialization Files
113
114                 3. Expansion within variables
115
116                              3.1. Commands' Output
117
118                              3.2. Environment Variables
119
120                              3.3. Configuration Variables
121
122                              3.4. Self-Defined Variables
123
124                              3.5. Pre-Defined Variables
125
126                              3.6. Type Conversions
127
128                 4. Defining/Using aliases
129
130                 5. Changing the default key bindings
131
132                 6. Defining aliases for character sets
133
134                 7. Setting variables based upon mailbox
135
136                 8. Keyboard macros
137
138                 9. Using color and mono video attributes
139
140                 10. Ignoring (weeding) unwanted message headers
141
142                 11. Alternative addresses
143
144                 12. Format = Flowed
145
146                              12.1. Introduction
147
148                              12.2. Receiving: Display Setup
149
150                              12.3. Sending
151
152                              12.4. Additional Notes
153
154                 13. Mailing lists
155
156                 14. Using Multiple spool mailboxes
157
158                 15. Defining mailboxes which receive mail
159
160                 16. User defined headers
161
162                 17. Defining the order of headers when viewing messages
163
164                 18. Specify default save filename
165
166                 19. Specify default Fcc: mailbox when composing
167
168                 20. Specify default save filename and default Fcc: mailbox at
169                 once
170
171                 21. Change settings based upon message recipients
172
173                 22. Change settings before formatting a message
174
175                 23. Choosing the cryptographic key of the recipient
176
177                 24. Adding key sequences to the keyboard buffer
178
179                 25. Executing functions
180
181                 26. Message Scoring
182
183                 27. Spam detection
184
185                 28. Setting variables
186
187                 29. Reading initialization commands from another file
188
189                 30. Removing hooks
190
191                 31. Sharing Setups
192
193                              31.1. Character Sets
194
195                              31.2. Modularization
196
197                              31.3. Conditional parts
198
199                 32. Obsolete Variables
200
201    4. Advanced Usage
202
203                 1. Regular Expressions
204
205                 2. Patterns
206
207                              2.1. Complex Patterns
208
209                              2.2. Patterns and Dates
210
211                 3. Format Strings
212
213                              3.1. Introduction
214
215                              3.2. Conditional Expansion
216
217                              3.3. Modifications and Padding
218
219                 4. Using Tags
220
221                 5. Using Hooks
222
223                              5.1. Message Matching in Hooks
224
225                 6. Using the sidebar
226
227                 7. External Address Queries
228
229                 8. Mailbox Formats
230
231                 9. Mailbox Shortcuts
232
233                 10. Handling Mailing Lists
234
235                 11. Editing threads
236
237                              11.1. Linking threads
238
239                              11.2. Breaking threads
240
241                 12. Delivery Status Notification (DSN) Support
242
243                 13. POP3 Support (OPTIONAL)
244
245                 14. IMAP Support (OPTIONAL)
246
247                              14.1. The Folder Browser
248
249                              14.2. Authentication
250
251                 15. NNTP Support (OPTIONAL)
252
253                              15.1. Again: Scoring
254
255                 16. SMTP Support (OPTIONAL)
256
257                 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
258
259                 18. Start a WWW Browser on URLs (EXTERNAL)
260
261                 19. Compressed folders Support (OPTIONAL)
262
263                              19.1. Open a compressed mailbox for reading
264
265                              19.2. Write a compressed mailbox
266
267                              19.3. Append a message to a compressed mailbox
268
269                              19.4. Encrypted folders
270
271    5. Mutt-ng's MIME Support
272
273                 1. Using MIME in Mutt
274
275                              1.1. Viewing MIME messages in the pager
276
277                              1.2. The Attachment Menu
278
279                              1.3. The Compose Menu
280
281                 2. MIME Type configuration with mime.types
282
283                 3. MIME Viewer configuration with mailcap
284
285                              3.1. The Basics of the mailcap file
286
287                              3.2. Secure use of mailcap
288
289                              3.3. Advanced mailcap Usage
290
291                              3.4. Example mailcap files
292
293                 4. MIME Autoview
294
295                 5. MIME Multipart/Alternative
296
297                 6. MIME Lookup
298
299    6. Security Considerations
300
301                 1. Passwords
302
303                 2. Temporary Files
304
305                 3. Information Leaks
306
307                              3.1. Message-ID: headers
308
309                              3.2. mailto:-style links
310
311                 4. External applications
312
313                              4.1. mailcap
314
315                              4.2. Other
316
317    7. Reference
318
319                 1. Command line options
320
321                 2. Patterns
322
323                 3. Configuration Commands
324
325                 4. Configuration variables
326
327                 5. Functions
328
329                              5.1. generic
330
331                              5.2. index
332
333                              5.3. pager
334
335                              5.4. alias
336
337                              5.5. query
338
339                              5.6. attach
340
341                              5.7. compose
342
343                              5.8. postpone
344
345                              5.9. browser
346
347                              5.10. pgp
348
349                              5.11. editor
350
351                              5.12. sidebar
352
353    A. Acknowledgments
354
355    B. Hacking Documentation
356
357    Index
358
359    List of Tables
360
361    2.1. Most commonly used movement bindings
362
363    2.2. Line Editor Functions
364
365    2.3. Most commonly used Index Bindings
366
367    2.4. Most commonly used Pager Bindings
368
369    2.5. ANSI Escape Sequences
370
371    2.6. ANSI Colors
372
373    2.7. Most commonly used thread-related bindings
374
375    2.8. Most commonly used Mail Composition Bindings
376
377    2.9. Most commonly used Compose Menu Bindings
378
379    2.10. PGP Key Menu Flags
380
381    3.1. Alternative Key Names
382
383    7.1. Reference: Command Line Options
384
385    7.2. Reference: Patterns
386
387    7.3. Reference: Obsolete Variables
388
389    7.4. Reference: Default Generic Function Bindings
390
391    7.5. Reference: Default Index Function Bindings
392
393    7.6. Reference: Default Pager Function Bindings
394
395    7.7. Reference: Default Alias Menu Function Bindings
396
397    7.8. Reference: Default Query Menu Function Bindings
398
399    7.9. Reference: Default Attachment Menu Function Bindings
400
401    7.10. Reference: Default Compose Menu Function Bindings
402
403    7.11. Reference: Default Postpone Menu Function Bindings
404
405    7.12. Reference: Default Browser Menu Function Bindings
406
407    7.13. Reference: Default PGP Menu Function Bindings
408
409    7.14. Reference: Default Editor Function Bindings
410
411    7.15. Referene: Default Sidebar Function Bindings
412
413 Chapter 1. Introduction
414
415    Table of Contents
416
417    1. Overview
418
419    2. Mutt-ng Home Page
420
421    3. Mailing Lists
422
423    4. Software Distribution Sites
424
425    5. IRC
426
427    6. Weblog
428
429    7. Copyright
430
431    8. Manual Conventions
432
433 1. Overview
434
435    Mutt-ng is a small but very powerful text-based MIME mail client. Mutt-ng
436    is highly configurable, and is well suited to the mail power user with
437    advanced features like key bindings, keyboard macros, mail threading,
438    regular expression searches and a powerful pattern matching language for
439    selecting groups of messages.
440
441    This documentation additionally contains documentation to Mutt-NG ,a fork
442    from Mutt with the goal to fix all the little annoyances of Mutt, to
443    integrate all the Mutt patches that are floating around in the web, and to
444    add other new features. Features specific to Mutt-ng will be discussed in
445    an extra section. Don't be confused when most of the documentation talk
446    about Mutt and not Mutt-ng, Mutt-ng contains all Mutt features, plus many
447    more.
448
449 2. Mutt-ng Home Page
450
451    <http://www.muttng.org/>
452
453 3. Mailing Lists
454
455      o <mutt-ng-users@lists.berlios.de>: This is where the mutt-ng user
456        support happens.
457
458      o <mutt-ng-devel@lists.berlios.de>: The development mailing list for
459        mutt-ng
460
461 4. Software Distribution Sites
462
463    So far, there are no official releases of Mutt-ng, but you can download
464    daily snapshots from <http://mutt-ng.berlios.de/snapshots/>
465
466 5. IRC
467
468    Visit channel #muttng on irc.freenode.net (www.freenode.net) to chat with
469    other people interested in Mutt-ng.
470
471 6. Weblog
472
473    If you want to read fresh news about the latest development in Mutt-ng,
474    and get informed about stuff like interesting, Mutt-ng-related articles
475    and packages for your favorite distribution, you can read and/or subscribe
476    to our Mutt-ng development weblog.
477
478 7. Copyright
479
480    Mutt is Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu> and
481    others
482
483    This program is free software; you can redistribute it and/or modify it
484    under the terms of the GNU General Public License as published by the Free
485    Software Foundation; either version 2 of the License, or (at your option)
486    any later version.
487
488    This program is distributed in the hope that it will be useful, but
489    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
490    or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
491    for more details.
492
493    You should have received a copy of the GNU General Public License along
494    with this program; if not, write to the Free Software Foundation, Inc., 59
495    Temple Place - Suite 330, Boston, MA 02111, USA.
496
497 8. Manual Conventions
498
499    This manual contains several (hopefully consistent) conventions to
500    specially layout different items in different fashions.
501
502      o Configuration and environment variables will be printed in a
503        typewriter font and both prefixed with a dollar sign as it's common
504        for UNIX-like environments. Configuration variables are lower-case
505        only while environment variables are upper-case only.
506
507      o Muttng-specific commands are enclosed in <> and printed in a
508        typewriter font, too.
509
510      o As common for UNIX-like environments, references to manual pages are
511        printed with the section enclosed in braces, as in vi(1) or
512        muttngrc(5). Execute man [section] [name] to view the manual page.
513
514    If, while reading this fine manual, you find any inconsistencies of
515    whatever kind, please contact the developers via
516    <mutt-ng-devel@lists.berlios.de> to report it.
517
518 Chapter 2. Getting Started
519
520    Table of Contents
521
522    1. Basic Concepts
523
524                 1.1. Screens and Menus
525
526                 1.2. Configuration
527
528                 1.3. Functions
529
530                 1.4. Interaction
531
532                 1.5. Modularization
533
534                 1.6. Patterns
535
536    2. Screens and Menus
537
538                 2.1. Index
539
540                 2.2. Pager
541
542                 2.3. File Browser
543
544                 2.4. Sidebar
545
546                 2.5. Help
547
548                 2.6. Compose Menu
549
550                 2.7. Alias Menu
551
552                 2.8. Attachment Menu
553
554                 2.9. Key Menu
555
556    3. Moving Around in Menus
557
558    4. Editing Input Fields
559
560    5. Reading Mail - The Index and Pager
561
562                 5.1. The Message Index
563
564                 5.2. The Pager
565
566                 5.3. Threaded Mode
567
568                 5.4. Miscellaneous Functions
569
570    6. Sending Mail
571
572                 6.1. Composing new messages
573
574                 6.2. Replying
575
576                 6.3. Editing the message header
577
578                 6.4. Using Mutt-ng with PGP
579
580                 6.5. Sending anonymous messages via mixmaster
581
582    7. Forwarding and Bouncing Mail
583
584    8. Postponing Mail
585
586 1. Basic Concepts
587
588   1.1. Screens and Menus
589
590    mutt-ng offers different screens of which every has its special purpose:
591
592      o The index displays the contents of the currently opened mailbox.
593
594      o The pager is responsible for displaying messages, that is, the header,
595        the body and all attached parts.
596
597      o The file browser offers operations on and displays information of all
598        folders mutt-ng should watch for mail.
599
600      o The sidebar offers a permanent view of which mailboxes contain how
601        many total, new and/or flagged mails.
602
603      o The help screen lists for all currently available commands how to
604        invoke them as well as a short description.
605
606      o The compose menu is a comfortable interface take last actions before
607        sending mail: change subjects, attach files, remove attachements, etc.
608
609      o The attachement menu gives a summary and the tree structure of the
610        attachements of the current message.
611
612      o The alias menu lists all or a fraction of the aliases a user has
613        defined.
614
615      o The key menu used in connection with encryption lets users choose the
616        right key to encrypt with.
617
618    When mutt-ng is started without any further options, it'll open the users
619    default mailbox and display the index.
620
621   1.2. Configuration
622
623    Mutt-ng does not feature an internal configuration interface or menu due
624    to the simple fact that this would be too complex to handle (currently
625    there are several hundred variables which fine-tune the behaviour.)
626
627    Mutt-ng is configured using configuration files which allow users to add
628    comments or manage them via version control systems to ease maintenance.
629
630    Also, mutt-ng comes with a shell script named grml-muttng kindly
631    contributed by users which really helps and eases the creation of a user's
632    configuration file. When downloading the source code via a snapshot or via
633    subversion, it can be found in the contrib directory.
634
635   1.3. Functions
636
637    Mutt-ng offers great flexibility due to the use of functions: internally,
638    every action a user can make mutt-ng perform is named ``function.'' Those
639    functions are assigned to keys (or even key sequences) and may be
640    completely adjusted to user's needs. The basic idea is that the impatient
641    users get a very intuitive interface to start off with and advanced users
642    virtually get no limits to adjustments.
643
644   1.4. Interaction
645
646    Mutt-ng has two basic concepts of user interaction:
647
648     1. There is one dedicated line on the screen used to query the user for
649        input, issue any command, query variables and display error and
650        informational messages. As for every type of user input, this requires
651        manual action leading to the need of input.
652
653     2. The automatized interface for interaction are the so called hooks.
654        Hooks specify actions the user wants to be performed at well-defined
655        situations: what to do when entering which folder, what to do when
656        displaying or replying to what kind of message, etc. These are
657        optional, i.e. a user doesn't need to specify them but can do so.
658
659   1.5. Modularization
660
661    Although mutt-ng has many functionality built-in, many features can be
662    delegated to external tools to increase flexibility: users can define
663    programs to filter a message through before displaying, users can use any
664    program they want for displaying a message, message types (such as PDF or
665    PostScript) for which mutt-ng doesn't have a built-in filter can be
666    rendered by arbitrary tools and so forth. Although mutt-ng has an alias
667    mechanism built-in, it features using external tools to query for nearly
668    every type of addresses from sources like LDAP, databases or just the list
669    of locally known users.
670
671   1.6. Patterns
672
673    Mutt-ng has a built-in pattern matching ``language'' which is as widely
674    used as possible to present a consistent interface to users. The same
675    ``pattern terms'' can be used for searching, scoring, message selection
676    and much more.
677
678 2. Screens and Menus
679
680   2.1. Index
681
682    The index is the screen that you usually see first when you start mutt-ng.
683    It gives an overview over your emails in the currently opened mailbox. By
684    default, this is your system mailbox. The information you see in the index
685    is a list of emails, each with its number on the left, its flags (new
686    email, important email, email that has been forwarded or replied to,
687    tagged email, ...), the date when email was sent, its sender, the email
688    size, and the subject. Additionally, the index also shows thread
689    hierarchies: when you reply to an email, and the other person replies
690    back, you can see the other's person email in a "sub-tree" below. This is
691    especially useful for personal email between a group of people or when
692    you've subscribed to mailing lists.
693
694   2.2. Pager
695
696    The pager is responsible for showing the email content. On the top of the
697    pager you have an overview over the most important email headers like the
698    sender, the recipient, the subject, and much more information. How much
699    information you actually see depends on your configuration, which we'll
700    describe below.
701
702    Below the headers, you see the email body which usually contains the
703    message. If the email contains any attachments, you will see more
704    information about them below the email body, or, if the attachments are
705    text files, you can view them directly in the pager.
706
707    To give the user a good overview, it is possible to configure mutt-ng to
708    show different things in the pager with different colors. Virtually
709    everything that can be described with a regular expression can be colored,
710    e.g. URLs, email addresses or smileys.
711
712   2.3. File Browser
713
714    The file browser is the interface to the local or remote file system. When
715    selecting a mailbox to open, the browser allows custom sorting of items,
716    limiting the items shown by a regular expression and a freely adjustable
717    format of what to display in which way. It also allows for easy navigation
718    through the file system when selecting file(s) to attach to a message,
719    select multiple files to attach and many more.
720
721   2.4. Sidebar
722
723    The sidebar comes in handy to manage mails which are spread over different
724    folders. All folders users setup mutt-ng to watch for new mail will be
725    listed. The listing includes not only the name but also the number of
726    total messages, the number of new and flagged messages. Items with new
727    mail may be colored different from those with flagged mail, items may be
728    shortened or compress if they're they to long to be printed in full form
729    so that by abbreviated names, user still now what the name stands for.
730
731   2.5. Help
732
733    The help screen is meant to offer a quick help to the user. It lists the
734    current configuration of key bindings and their associated commands
735    including a short description, and currently unbound functions that still
736    need to be associated with a key binding (or alternatively, they can be
737    called via the mutt-ng command prompt).
738
739   2.6. Compose Menu
740
741    The compose menu features a split screen containing the information which
742    really matter before actually sending a message by mail or posting an
743    article to a newsgroup: who gets the message as what (recipient,
744    newsgroup, who gets what kind of copy). Additionally, users may set
745    security options like deciding whether to sign, encrypt or sign and
746    encrypt a message with/for what keys.
747
748    Also, it's used to attach messages, news articles or files to a message,
749    to re-edit any attachment including the message itself.
750
751   2.7. Alias Menu
752
753    The alias menu is used to help users finding the recipients of messages.
754    For users who need to contact many people, there's no need to remember
755    addresses or names completely because it allows for searching, too. The
756    alias mechanism and thus the alias menu also features grouping several
757    addresses by a shorter nickname, the actual alias, so that users don't
758    have to select each single recipient manually.
759
760   2.8. Attachment Menu
761
762    As will be later discussed in detail, mutt-ng features a good and stable
763    MIME implementation, that is, is greatly supports sending and receiving
764    messages of arbitrary type. The attachment menu displays a message's
765    structure in detail: what content parts are attached to which parent part
766    (which gives a true tree structure), which type is of what type and what
767    size. Single parts may saved, deleted or modified to offer great and easy
768    access to message's internals.
769
770   2.9. Key Menu
771
772    FIXME
773
774 3. Moving Around in Menus
775
776    Information is presented in menus, very similar to ELM. Here is a
777    tableshowing the common keys used to navigate menus in Mutt-ng.
778
779    Table 2.1. Most commonly used movement bindings
780
781    Key         Function         Description
782    j or Down   <next-entry>     move to the next entry
783    k or Up     <previous-entry> move to the previous entry
784    z or PageDn <page-down>      go to the next page
785    Z or PageUp <page-up>        go to the previous page
786    = or Home   <first-entry>    jump to the first entry
787    * or End    <last-entry>     jump to the last entry
788    q           <quit>           exit the current menu
789    ?           <help>           list all key bindings for the current menu
790
791 4. Editing Input Fields
792
793    Mutt-ng has a builtin line editor which is used as the primary way to
794    input textual data such as email addresses or filenames. The keys used to
795    move around while editing are very similar to those of Emacs.
796
797    Table 2.2. Line Editor Functions
798
799    Key            Function          Description
800    ^A or <Home>   <bol>             move to the start of the line
801    ^B or <Left>   <backward-char>   move back one char
802    Esc B          <backward-word>   move back one word
803    ^D or <Delete> <delete-char>     delete the char under the cursor
804    ^E or <End>    <eol>             move to the end of the line
805    ^F or <Right>  <forward-char>    move forward one char
806    Esc F          <forward-word>    move forward one word
807    <Tab>          <complete>        complete filename or alias
808    ^T             <complete-query>  complete address with query
809    ^K             <kill-eol>        delete to the end of the line
810    ESC d          <kill-eow>        delete to the end of the word
811    ^W             <kill-word>       kill the word in front of the cursor
812    ^U             <kill-line>       delete entire line
813    ^V             <quote-char>      quote the next typed key
814    <Up>           <history-up>      recall previous string from history
815    <Down>         <history-down>    recall next string from history
816    <BackSpace>    <backspace>       kill the char in front of the cursor
817    Esc u          <upcase-word>     convert word to upper case
818    Esc l          <downcase-word>   convert word to lower case
819    Esc c          <capitalize-word> capitalize the word
820    ^G             n/a               abort
821    <Return>       n/a               finish editing
822
823    You can remap the editor functions using the bind command. For example, to
824    make the Delete key delete the character in front of the cursor rather
825    than under, you could use
826
827    bind editor <delete> backspace
828
829 5. Reading Mail - The Index and Pager
830
831    Similar to many other mail clients, there are two modes in which mail
832    isread in Mutt-ng. The first is the index of messages in the mailbox,
833    which is called the ``index'' in Mutt-ng. The second mode is the display
834    of the message contents. This is called the ``pager.''
835
836    The next few sections describe the functions provided in each of these
837    modes.
838
839   5.1. The Message Index
840
841    Table 2.3. Most commonly used Index Bindings
842
843    Key      Function Description
844    c                 change to a different mailbox
845    ESC c             change to a folder in read-only mode
846    C                 copy the current message to another mailbox
847    ESC C             decode a message and copy it to a folder
848    ESC s             decode a message and save it to a folder
849    D                 delete messages matching a pattern
850    d                 delete the current message
851    F                 mark as important
852    l                 show messages matching a pattern
853    N                 mark message as new
854    o                 change the current sort method
855    O                 reverse sort the mailbox
856    q                 save changes and exit
857    s                 save-message
858    T                 tag messages matching a pattern
859    t                 toggle the tag on a message
860    ESC t             toggle tag on entire message thread
861    U                 undelete messages matching a pattern
862    u                 undelete-message
863    v                 view-attachments
864    x                 abort changes and exit
865    <Return>          display-message
866    <Tab>             jump to the next new or unread message
867    @                 show the author's full e-mail address
868    $                 save changes to mailbox
869    /                 search
870    ESC /             search-reverse
871    ^L                clear and redraw the screen
872    ^T                untag messages matching a pattern
873
874     5.1.1. Status Flags
875
876    In addition to who sent the message and the subject, a short summary of
877    the disposition of each message is printed beside the message number. Zero
878    or more of the following ``flags'' may appear, which mean:
879
880    D
881
882            message is deleted (is marked for deletion)
883
884    d
885
886            message have attachments marked for deletion
887
888    K
889
890            contains a PGP public key
891
892    N
893
894            message is new
895
896    O
897
898            message is old
899
900    P
901
902            message is PGP encrypted
903
904    r
905
906            message has been replied to
907
908    S
909
910            message is signed, and the signature is succesfully verified
911
912    s
913
914            message is signed
915
916    !
917
918            message is flagged
919
920    *
921
922            message is tagged
923
924    Some of the status flags can be turned on or off using
925
926      o set-flag (default: w)
927
928      o clear-flag (default: W)
929
930    Furthermore, the following flags reflect who the message is addressed to.
931    They can be customized with the $to_chars variable.
932
933    +
934
935            message is to you and you only
936
937    T
938
939            message is to you, but also to or cc'ed to others
940
941    C
942
943            message is cc'ed to you
944
945    F
946
947            message is from you
948
949    L
950
951            message is sent to a subscribed mailing list
952
953   5.2. The Pager
954
955    By default, Mutt-ng uses its builtin pager to display the body of
956    messages. The pager is very similar to the Unix program less though not
957    nearly as featureful.
958
959    Table 2.4. Most commonly used Pager Bindings
960
961    Key      Function Description
962    <Return>          go down one line
963    <Space>           display the next page (or next message if at the end of
964                      a message)
965    -                 go back to the previous page
966    n                 search for next match
967    S                 skip beyond quoted text
968    T                 toggle display of quoted text
969    ?                 show key bindings
970    /                 search for a regular expression (pattern)
971    ESC /             search backwards for a regular expression
972    \                 toggle search pattern coloring
973    ^                 jump to the top of the message
974
975    In addition, many of the functions from the index are available in the
976    pager, such as delete-message or copy-message (this is one advantage over
977    using an external pager to view messages).
978
979    Also, the internal pager supports a couple other advanced features. For
980    one, it will accept and translate the ``standard'' nroff sequences forbold
981    and underline. These sequences are a series of either the letter,
982    backspace (^H), the letter again for bold or the letter, backspace, ``_''
983    for denoting underline. Mutt-ng will attempt to display these in bold and
984    underline respectively if your terminal supports them. If not, you can use
985    the bold and underline color objects to specify a color or mono attribute
986    for them.
987
988    Additionally, the internal pager supports the ANSI escape sequences for
989    character attributes. Mutt-ng translates them into the correct color and
990    character settings. The sequences Mutt-ng supports are: ESC [
991    Ps;Ps;Ps;...;Ps m (see table below for possible values for Ps).
992
993    Table 2.5. ANSI Escape Sequences
994
995    Value Attribute
996    0     All Attributes Off
997    1     Bold on
998    4     Underline on
999    5     Blink on
1000    7     Reverse video on
1001    3x    Foreground color is x (see table below)
1002    4x    Background color is x (see table below)
1003
1004    Table 2.6. ANSI Colors
1005
1006    Number Color
1007    0      black
1008    1      red
1009    2      green
1010    3      yellow
1011    4      blue
1012    5      magenta
1013    6      cyan
1014    7      white
1015
1016    Mutt-ng uses these attributes for handling text/enriched messages, and
1017    they can also be used by an external auto_view script for highlighting
1018    purposes. Note: If you change the colors for your display, for example by
1019    changing the color associated with color2 for your xterm, then that color
1020    will be used instead of green.
1021
1022   5.3. Threaded Mode
1023
1024    When the mailbox is sorted by threads ,there are a few additional
1025    functions available in the index and pager modes.
1026
1027    Table 2.7. Most commonly used thread-related bindings
1028
1029    Key   Function             Description
1030    ^D    <delete-thread>      delete all messages in the current thread
1031    ^U    <undelete-thread>    undelete all messages in the current thread
1032    ^N    <next-thread>        jump to the start of the next thread
1033    ^P    <previous-thread>    jump to the start of the previous thread
1034    ^R    <read-thread>        mark the current thread as read
1035    ESC d <delete-subthread>   delete all messages in the current subthread
1036    ESC u <undelete-subthread> undelete all messages in the current subthread
1037    ESC n <next-subthread>     jump to the start of the next subthread
1038    ESC p <previous-subthread> jump to the start of the previous subthread
1039    ESC r <read-subthread>     mark the current subthread as read
1040    ESC t <tag-thread>         toggle the tag on the current thread
1041    ESC v <collapse-thread>    toggle collapse for the current thread
1042    ESC V <collapse-all>       toggle collapse for all threads
1043    P     <parent-message>     jump to parent message in thread
1044
1045    Note: Collapsing a thread displays only the first message in the thread
1046    and hides the others. This is useful when threads contain so many messages
1047    that you can only see a handful of threads onthe screen. See %M in
1048    $index_format.
1049
1050    For example, you could use %?M?(#%03M)&(%4l)? in $index_format to
1051    optionally display the number of hidden messages if the thread is
1052    collapsed.
1053
1054    See also the $strict_threads variable.
1055
1056   5.4. Miscellaneous Functions
1057
1058    <create-alias> (default: a)
1059
1060    Creates a new alias based upon the current message (or prompts for a new
1061    one). Once editing is complete, an alias command is added to the file
1062    specified by the $alias_file variable for future use. Note: Specifying an
1063    $alias_file does not add the aliases specified there-in, you must also
1064    source the file.
1065
1066    <check-traditional-pgp> (default: ESC P)
1067
1068    This function will search the current message for content signed or
1069    encrypted with PGP the "traditional" way, that is, without proper MIME
1070    tagging. Technically, this function will temporarily change the MIME
1071    content types of the body parts containing PGP data; this is similar to
1072    the <edit-type> function's effect.
1073
1074    <display-toggle-weed> (default: h)
1075
1076    Toggles the weeding of message header fields specified by ignore commands.
1077
1078    <edit> (default: e)
1079
1080    This command (available in the ``index'' and ``pager'') allows you to edit
1081    the raw current message as it's present in the mail folder. After you have
1082    finished editing, the changed message will be appended to the current
1083    folder, and the original message will be marked for deletion.
1084
1085    <edit-type> (default: ) (default: ^E on the attachment menu, and in the
1086    pager and index menus; ^T on the compose menu)
1087
1088    This command is used to temporarily edit an attachment's content type to
1089    fix, for instance, bogus character set parameters. When invoked from the
1090    index or from the pager, you'll have the opportunity to edit the top-level
1091    attachment's content type. On the attach-menu, you can change any
1092    attachment's content type. These changes are not persistent, and get lost
1093    upon changing folders.
1094
1095    Note that this command is also available on the compose-menu .There, it's
1096    used to fine-tune the properties of attachments you are going to send.
1097
1098    <enter-command> (default: :)
1099
1100    This command is used to execute any command you would normally put in a
1101    configuration file. A common use is to check the settings of variables, or
1102    in conjunction with macro to change settings on the fly.
1103
1104    <extract-keys> (default: ^K)
1105
1106    This command extracts PGP public keys from the current or tagged
1107    message(s) and adds them to your PGP public key ring.
1108
1109    <forget-passphrase> (default: ^F)
1110
1111    This command wipes the passphrase(s) from memory. It is useful, if you
1112    misspelled the passphrase.
1113
1114    <list-reply> (default: L)
1115
1116    Reply to the current or tagged message(s) by extracting any addresses
1117    which match the regular expressions given by the lists commands, but also
1118    honor any Mail-Followup-To header(s) if the $honor_followup_to
1119    configuration variable is set. Using this when replying to messages posted
1120    to mailing lists helps avoid duplicate copies being sent to the author of
1121    the message you are replying to.
1122
1123    <pipe-message> (default: )
1124
1125    Asks for an external Unix command and pipes the current or tagged
1126    message(s) to it. The variables $pipe_decode, $pipe_split, $pipe_decode
1127    and $wait_key control the exact behavior of this function.
1128
1129    <resend-message> (default: ESC e)
1130
1131    With resend-message, mutt takes the current message as a template for a
1132    new message. This function is best described as "recall from arbitrary
1133    folders". It can conveniently be used to forward MIME messages while
1134    preserving the original mail structure. Note that the amount of headers
1135    included here depends on the value of the $weed variable.
1136
1137    This function is also available from the attachment menu. You can use this
1138    to easily resend a message which was included with a bounce message as a
1139    message/rfc822 body part.
1140
1141    <shell-escape> (default: !)
1142
1143    Asks for an external Unix command and executes it. The $wait_key can be
1144    used to control whether Mutt-ng will wait for a key to be pressed when the
1145    command returns (presumably to let the user read the output of the
1146    command), based on the return status of the named command.
1147
1148    <toggle-quoted> (default: T)
1149
1150    The pager uses the $quote_regexp variable to detect quoted text when
1151    displaying the body of the message. This function toggles the displayof
1152    the quoted material in the message. It is particularly useful when are
1153    interested in just the response and there is a large amount of quoted text
1154    in the way.
1155
1156    <skip-quoted> (default: S)
1157
1158    This function will go to the next line of non-quoted text which come after
1159    a line of quoted text in the internal pager.
1160
1161 6. Sending Mail
1162
1163    The following bindings are available in the index for sending messages.
1164
1165    Table 2.8. Most commonly used Mail Composition Bindings
1166
1167    Key   Function      Description
1168    m     <compose>     compose a new message
1169    r     <reply>       reply to sender
1170    g     <group-reply> reply to all recipients
1171    L     <list-reply>  reply to mailing list address
1172    f     <forward>     forward message
1173    b     <bounce>      bounce (remail) message
1174    ESC k <mail-key>    mail a PGP public key to someone
1175
1176    Bouncing a message sends the message as is to the recipient you specify.
1177    Forwarding a message allows you to add comments or modify the message you
1178    are forwarding. These items are discussed in greater detail in the next
1179    chapter forwarding-mail.
1180
1181   6.1. Composing new messages
1182
1183    When you want to send an email using mutt-ng, simply press m on your
1184    keyboard. Then, mutt-ng asks for the recipient via a prompt in the last
1185    line:
1186
1187  To:
1188
1189    After you've finished entering the recipient(s), press return. If you want
1190    to send an email to more than one recipient, separate the email addresses
1191    using the comma ",". Mutt-ng then asks you for the email subject. Again,
1192    press return after you've entered it. After that, mutt-ng got the most
1193    important information from you, and starts up an editor where you can then
1194    enter your email.
1195
1196    The editor that is called is selected in the following way: you can e.g.
1197    set it in the mutt-ng configuration:
1198
1199  set editor = "vim +/^$/ -c ':set tw=72'"
1200  set editor = "nano"
1201  set editor = "emacs"
1202
1203    If you don't set your preferred editor in your configuration, mutt-ng
1204    first looks whether the environment variable $VISUAL is set, and if so, it
1205    takes its value as editor command. Otherwise, it has a look at $EDITOR and
1206    takes its value if it is set. If no editor command can be found, mutt-ng
1207    simply assumes vi(1) to be the default editor, since it's the most
1208    widespread editor in the Unix world and it's pretty safe to assume that it
1209    is installed and available.
1210
1211    When you've finished entering your message, save it and quit your editor.
1212    Mutt-ng will then present you with a summary screen, the compose menu. On
1213    the top, you see a summary of the most important available key commands.
1214    Below that, you see the sender, the recipient(s), Cc and/or Bcc
1215    recipient(s), the subject, the reply-to address, and optionally
1216    information where the sent email will be stored and whether it should be
1217    digitally signed and/or encrypted.
1218
1219    Below that, you see a list of "attachments". The mail you've just entered
1220    before is also an attachment, but due to its special type (it's plain
1221    text), it will be displayed as the normal message on the receiver's side.
1222
1223    At this point, you can add more attachments, pressing a, you can edit the
1224    recipient addresses, pressing t for the "To:" field, c for the "Cc:"
1225    field, and b for the "Bcc: field. You can also edit the subject the
1226    subject by simply pressing s or the email message that you've entered
1227    before by pressing e. You will then again return to the editor. You can
1228    even edit the sender, by pressing <esc>f, but this shall only be used with
1229    caution.
1230
1231    Alternatively, you can configure mutt-ng in a way that most of the above
1232    settings can be edited using the editor. Therefore, you only need to add
1233    the following to your configuration:
1234
1235  set edit_headers
1236
1237    Once you have finished editing the body of your mail message, you are
1238    returned to the compose menu. The following options are available:
1239
1240    Table 2.9. Most commonly used Compose Menu Bindings
1241
1242    Key   Function            Description
1243    a     <attach-file>       attach a file
1244    A     <attach-message>    attach message(s) to the message
1245    ESC k <attach-key>        attach a PGP public key
1246    d     <edit-description>  edit description on attachment
1247    D     <detach-file>       detach a file
1248    t     <edit-to>           edit the To field
1249    ESC f <edit-from>         edit the From field
1250    r     <edit-reply-to>     edit the Reply-To field
1251    c     <edit-cc>           edit the Cc field
1252    b     <edit-bcc>          edit the Bcc field
1253    y     <send-message>      send the message
1254    s     <edit-subject>      edit the Subject
1255    S     <smime-menu>        select S/MIME options
1256    f     <edit-fcc>          specify an ``Fcc'' mailbox
1257    p     <pgp-menu>          select PGP options
1258    P     <postpone-message>  postpone this message until later
1259    q     <quit>              quit (abort) sending the message
1260    w     <write-fcc>         write the message to a folder
1261    i     <ispell>            check spelling (if available on your system)
1262    ^F    <forget-passphrase> wipe passphrase(s) from memory
1263
1264    Note: The attach-message function will prompt you for a folder to attach
1265    messages from. You can now tag messages in that folder and theywill be
1266    attached to the message you are sending. Note that certainoperations like
1267    composing a new mail, replying, forwarding, etc. are not permitted when
1268    you are in that folder. The %r in $status_format will change to a 'A' to
1269    indicate that you are in attach-message mode.
1270
1271   6.2. Replying
1272
1273     6.2.1. Simple Replies
1274
1275    When you want to reply to an email message, select it in the index menu
1276    and then press r. Mutt-ng's behaviour is then similar to the behaviour
1277    when you compose a message: first, you will be asked for the recipient,
1278    then for the subject, and then, mutt-ng will start the editor with the
1279    quote attribution and the quoted message. This can e.g. look like the
1280    example below.
1281
1282  On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
1283  > Bill, can you please send last month's progress report to Mr.
1284  > Morgan? We also urgently need the cost estimation for the new
1285  > production server that we want to set up before our customer's
1286  > project will go live.
1287
1288    You can start editing the email message. It is strongly recommended to put
1289    your answer below the quoted text and to only quote what is really
1290    necessary and that you refer to. Putting your answer on top of the quoted
1291    message, is, although very widespread, very often not considered to be a
1292    polite way to answer emails.
1293
1294    The quote attribution is configurable, by default it is set to
1295
1296  set attribution = "On %d, %n wrote:"
1297
1298    It can also be set to something more compact, e.g.
1299
1300  set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"
1301
1302    The example above results in the following attribution:
1303
1304  * Michael Svensson <svensson@foobar.com> [05-03-06 17:02]:
1305  > Bill, can you please send last month's progress report to Mr.
1306  > Morgan? We also urgently need the cost estimation for the new
1307  > production server that we want to set up before our customer's
1308  > project will go live.
1309
1310    Generally, try to keep your attribution short yet information-rich. It is
1311    not the right place for witty quotes, long "attribution" novels or
1312    anything like that: the right place for such things is - if at all - the
1313    email signature at the very bottom of the message.
1314
1315    When you're done with writing your message, save and quit the editor. As
1316    before, you will return to the compose menu, which is used in the same way
1317    as before.
1318
1319     6.2.2. Group Replies
1320
1321    In the situation where a group of people uses email as a discussion, most
1322    of the emails will have one or more recipients, and probably several "Cc:"
1323    recipients. The group reply functionalityensures that when you press g
1324    instead of r to do a reply, each and every recipient that is contained in
1325    the original message will receive a copy of the message, either as normal
1326    recipient or as "Cc:" recipient.
1327
1328     6.2.3. List Replies
1329
1330    When you use mailing lists, it's generally better to send your reply to a
1331    message only to the list instead of the list and the original author. To
1332    make this easy to use, mutt-ng features list replies.
1333
1334    To do a list reply, simply press L. If the email contains a
1335    Mail-Followup-To: header, its value will be used as reply address.
1336    Otherwise, mutt-ng searches through all mail addresses in the original
1337    message and tries to match them a list of regular expressions which can be
1338    specified using the lists command. If any of the regular expression
1339    matches, a mailing list address has been found, and it will be used as
1340    reply address.
1341
1342  lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
1343
1344    Nowadays, most mailing list software like GNU Mailman adds a
1345    Mail-Followup-To: header to their emails anyway, so setting lists is
1346    hardly ever necessary in practice.
1347
1348   6.3. Editing the message header
1349
1350    When editing the header of your outgoing message, there are a couple of
1351    special features available.
1352
1353    If you specify Fcc:filename Mutt-ng will pick up filename just as if you
1354    had used the edit-fcc function in the compose menu.
1355
1356    You can also attach files to your message by specifying
1357
1358  Attach: filename [description]
1359
1360    where filename is the file to attach and description is an optional string
1361    to use as the description of the attached file.
1362
1363    When replying to messages, if you remove the In-Reply-To: field from the
1364    header field, Mutt-ng will not generate a References: field, which allows
1365    you to create a new message thread.
1366
1367    Also see the $edit_headers and $editor_headers variables
1368
1369   6.4. Using Mutt-ng with PGP
1370
1371    If you want to use PGP, you can specify
1372
1373  Pgp: [E | S | S id]
1374
1375    ``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key,
1376    setting $pgp_sign_as permanently.
1377
1378    If you have told mutt to PGP encrypt a message, it will guide you through
1379    a key selection process when you try to send the message. Mutt-ng will not
1380    ask you any questions about keys which have a certified user ID matching
1381    one of the message recipients' mail addresses. However, there may be
1382    situations in which there are several keys, weakly certified user ID
1383    fields, or where no matching keys can be found.
1384
1385    In these cases, you are dropped into a menu with a list of keys from which
1386    you can select one. When you quit this menu, or mutt can't find any
1387    matching keys, you are prompted for a user ID. You can, as usually, abort
1388    this prompt using ^G. When you do so, mutt will return to the compose
1389    screen.
1390
1391    Once you have successfully finished the key selection, the message will be
1392    encrypted using the selected public keys, and sent out.
1393
1394    Most fields of the entries in the key selection menu (see also
1395    $pgp_entry_format) have obvious meanings. But some explanations on the
1396    capabilities, flags, and validity fields are in order.
1397
1398    The flags sequence (%f) will expand to one of the following flags:
1399
1400    Table 2.10. PGP Key Menu Flags
1401
1402    Flag Description
1403    R    The key has been revoked and can't be used.
1404    X    The key is expired and can't be used.
1405    d    You have marked the key as disabled.
1406    c    There are unknown critical self-signature packets.
1407
1408    The capabilities field (%c) expands to a two-character
1409    sequencerepresenting a key's capabilities. The first character gives the
1410    key's encryption capabilities: A minus sign (- )means that the key cannot
1411    be used for encryption. A dot (. )means that it's marked as a signature
1412    key in one of the user IDs, but may also be used for encryption. The
1413    letter e indicates that this key can be used for encryption.
1414
1415    The second character indicates the key's signing capabilities. Once again,
1416    a ``-'' implies ``not for signing'', ``.'' implies that the key is marked
1417    as an encryption key in one of the user-ids, and ``s'' denotes a key which
1418    can be used for signing.
1419
1420    Finally, the validity field (%t) indicates how well-certified a user-id
1421    is. A question mark (?) indicates undefined validity, a minus character
1422    (-) marks an untrusted association, a space character means a partially
1423    trusted association, and a plus character (+ ) indicates complete
1424    validity.
1425
1426   6.5. Sending anonymous messages via mixmaster
1427
1428    You may also have configured mutt to co-operate with Mixmaster, an
1429    anonymous remailer. Mixmaster permits you to send your messages
1430    anonymously using a chain of remailers. Mixmaster support in mutt is for
1431    mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. It
1432    does not support earlier versions or the later so-called version 3 betas,
1433    of which the latest appears to be called 2.9b23.
1434
1435    To use it, you'll have to obey certain restrictions. Most important, you
1436    cannot use the Cc and Bcc headers. To tell Mutt-ng to use mixmaster, you
1437    have to select a remailer chain, using the mix function on the compose
1438    menu.
1439
1440    The chain selection screen is divided into two parts. In the (larger)
1441    upper part, you get a list of remailers you may use. In the lower part,
1442    you see the currently selected chain of remailers.
1443
1444    You can navigate in the chain using the chain-prev and chain-next
1445    functions, which are by default bound to the left and right arrows and to
1446    the h and l keys (think vi keyboard bindings). To insert a remailer at the
1447    current chain position, use the insert function. To append a remailer
1448    behind the current chain position, use select-entry or append . You can
1449    also delete entries from the chain, using the corresponding function.
1450    Finally, to abandon your changes, leave the menu, or accept them pressing
1451    (by default) the Return key.
1452
1453    Note that different remailers do have different capabilities, indicated in
1454    the %c entry of the remailer menu lines (see $mix_entry_format). Most
1455    important is the ``middleman'' capability, indicated by a capital ``M'':
1456    This means that the remailer in question cannot be used as the final
1457    element of a chain, but will only forward messages to other mixmaster
1458    remailers. For details on the other capabilities, please have a look at
1459    the mixmaster documentation.
1460
1461 7. Forwarding and Bouncing Mail
1462
1463    Often, it is necessary to forward mails to other people. Therefore,
1464    mutt-ng supports forwarding messages in two different ways.
1465
1466    The first one is regular forwarding, as you probably know it from other
1467    mail clients. You simply press f, enter the recipient email address, the
1468    subject of the forwarded email, and then you can edit the message to be
1469    forwarded in the editor. The forwarded message is separated from the rest
1470    of the message via the two following markers:
1471
1472  ----- Forwarded message from Lucas User <luser@example.com> -----
1473
1474  From: Lucas User <luser@example.com>
1475  Date: Thu, 02 Dec 2004 03:08:34 +0100
1476  To: Michael Random <mrandom@example.com>
1477  Subject: Re: blackmail
1478
1479  Pay me EUR 50,000.- cash or your favorite stuffed animal will die
1480  a horrible death.
1481
1482  ----- End forwarded message -----
1483
1484    When you're done with editing the mail, save and quit the editor, and you
1485    will return to the compose menu, the same menu you also encounter when
1486    composing or replying to mails.
1487
1488    The second mode of forwarding emails with mutt-ng is the so-called
1489    bouncing: when you bounce an email to another address, it will be sent in
1490    practically the same format you send it (except for headers that are
1491    created during transporting the message). To bounce a message, press b and
1492    enter the recipient email address. By default, you are then asked whether
1493    you really want to bounce the message to the specified recipient. If you
1494    answer with yes, the message will then be bounced.
1495
1496    To the recipient, the bounced email will look as if he got it like a
1497    regular email where he was Bcc: recipient. The only possibility to find
1498    out whether it was a bounced email is to carefully study the email headers
1499    and to find out which host really sent the email.
1500
1501 8. Postponing Mail
1502
1503    At times it is desirable to delay sending a message that you have already
1504    begun to compose. When the postpone-message function is used in the
1505    compose menu, the body of your message and attachments are stored in the
1506    mailbox specified by the $postponed variable. This means that you can
1507    recall the message even if you exit Mutt-ng and then restart it at a later
1508    time.
1509
1510    Once a message is postponed, there are several ways to resume it. From the
1511    command line you can use the ``-p'' option, or if you compose a new
1512    message from the index or pager you will be prompted if postponed messages
1513    exist. If multiple messages are currently postponed, the postponed menu
1514    will pop up and you can select which message you would like to resume.
1515
1516    Note: If you postpone a reply to a message, the reply setting of the
1517    message is only updated when you actually finish the message and send it.
1518    Also, you must be in the same folder with the message you replied to for
1519    the status of the message to be updated.
1520
1521    See also the $postpone quad-option.
1522
1523 Chapter 3. Configuration
1524
1525    Table of Contents
1526
1527    1. Locations of Configuration Files
1528
1529    2. Basic Syntax of Initialization Files
1530
1531    3. Expansion within variables
1532
1533                 3.1. Commands' Output
1534
1535                 3.2. Environment Variables
1536
1537                 3.3. Configuration Variables
1538
1539                 3.4. Self-Defined Variables
1540
1541                 3.5. Pre-Defined Variables
1542
1543                 3.6. Type Conversions
1544
1545    4. Defining/Using aliases
1546
1547    5. Changing the default key bindings
1548
1549    6. Defining aliases for character sets
1550
1551    7. Setting variables based upon mailbox
1552
1553    8. Keyboard macros
1554
1555    9. Using color and mono video attributes
1556
1557    10. Ignoring (weeding) unwanted message headers
1558
1559    11. Alternative addresses
1560
1561    12. Format = Flowed
1562
1563                 12.1. Introduction
1564
1565                 12.2. Receiving: Display Setup
1566
1567                 12.3. Sending
1568
1569                 12.4. Additional Notes
1570
1571    13. Mailing lists
1572
1573    14. Using Multiple spool mailboxes
1574
1575    15. Defining mailboxes which receive mail
1576
1577    16. User defined headers
1578
1579    17. Defining the order of headers when viewing messages
1580
1581    18. Specify default save filename
1582
1583    19. Specify default Fcc: mailbox when composing
1584
1585    20. Specify default save filename and default Fcc: mailbox at once
1586
1587    21. Change settings based upon message recipients
1588
1589    22. Change settings before formatting a message
1590
1591    23. Choosing the cryptographic key of the recipient
1592
1593    24. Adding key sequences to the keyboard buffer
1594
1595    25. Executing functions
1596
1597    26. Message Scoring
1598
1599    27. Spam detection
1600
1601    28. Setting variables
1602
1603    29. Reading initialization commands from another file
1604
1605    30. Removing hooks
1606
1607    31. Sharing Setups
1608
1609                 31.1. Character Sets
1610
1611                 31.2. Modularization
1612
1613                 31.3. Conditional parts
1614
1615    32. Obsolete Variables
1616
1617 1. Locations of Configuration Files
1618
1619    While the default configuration (or ``preferences'') make Mutt-ng usable
1620    right out of the box, it is often desirable to tailor Mutt-ng to suit your
1621    own tastes. When Mutt-ng is first invoked, it will attempt to read the
1622    ``system'' configuration file (defaults set by your local system
1623    administrator), unless the ``-n'' commandline option is specified. This
1624    file is typically /usr/local/share/muttng/Muttngrc or /etc/Muttngrc ,
1625    Mutt-ng users will find this file in /usr/local/share/muttng/Muttrc or
1626    /etc/Muttngrc. Mutt will next look for a file named .muttrc in your home
1627    directory, Mutt-ng will look for .muttngrc. If this file does not exist
1628    and your home directory has a subdirectory named .mutt , mutt try to load
1629    a file named .muttng/muttngrc.
1630
1631    .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
1632    place your commands to configure Mutt-ng.
1633
1634 2. Basic Syntax of Initialization Files
1635
1636    An initialization file consists of a series of commands. Each line of the
1637    file may contain one or more commands. When multiple commands are used,
1638    they must be separated by a semicolon (;).
1639
1640  set realname='Mutt-ng user' ; ignore x-
1641
1642    The hash mark, or pound sign (``#''), is used as a ``comment'' character.
1643    You can use it to annotate your initialization file. All text after the
1644    comment character to the end of the line is ignored. For example,
1645
1646  my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
1647
1648    Single quotes (') and double quotes (") can be used to quote strings which
1649    contain spaces or other special characters. The difference between the two
1650    types of quotes is similar to that of many popular shell programs, namely
1651    that a single quote is used to specify a literal string (one that is not
1652    interpreted for shell variables or quoting with a backslash (see next
1653    paragraph), while double quotes indicate a string for which should be
1654    evaluated. For example, backtics are evaluated inside of double quotes,
1655    but not for single quotes.
1656
1657    \ quotes the next character, just as in shells such as bash and zsh. For
1658    example, if want to put quotes ``"'' inside of a string, you can use ``\''
1659    to force the next character to be a literal instead of interpreted
1660    character.
1661
1662  set realname="Michael \"MuttDude\" Elkins"
1663
1664    ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
1665    have their usual C meanings of linefeed and carriage-return, respectively.
1666
1667    A \ at the end of a line can be used to split commands over multiple
1668    lines, provided that the split points don't appear in the middle of
1669    command names.
1670
1671    Please note that, unlike the various shells, mutt-ng interprets a ``\'' at
1672    the end of a line also in comments. This allows you to disable a command
1673    split over multiple lines with only one ``#''.
1674
1675  # folder-hook . \
1676  set realname="Michael \"MuttDude\" Elkins"
1677
1678    When testing your config files, beware the following caveat. The backslash
1679    at the end of the commented line extends the current line with the next
1680    line - then referred to as a ``continuation line''. As the first line is
1681    commented with a hash (#) all following continuation lines are also part
1682    of a comment and therefore are ignored, too. So take care of comments when
1683    continuation lines are involved within your setup files!
1684
1685    Abstract example:
1686
1687  line1\
1688  line2a # line2b\
1689  line3\
1690  line4
1691  line5
1692
1693    line1 ``continues'' until line4. however, the part after the # is a
1694    comment which includes line3 and line4. line5 is a new line of its own and
1695    thus is interpreted again.
1696
1697    The commands understood by mutt are explained in the next paragraphs. For
1698    a complete list, see the commands.
1699
1700 3. Expansion within variables
1701
1702    Besides just assign static content to variables, there's plenty of ways of
1703    adding external and more or less dynamic content.
1704
1705   3.1. Commands' Output
1706
1707    It is possible to substitute the output of a Unix command in an
1708    initialization file. This is accomplished by enclosing the command in
1709    backquotes (``) as in, for example:
1710
1711  my_hdr X-Operating-System: `uname -a`
1712
1713    The output of the Unix command ``uname -a'' will be substituted before the
1714    line is parsed. Note that since initialization files are line oriented,
1715    only the first line of output from the Unix command will be substituted.
1716
1717   3.2. Environment Variables
1718
1719    UNIX environments can be accessed like the way it is done in shells like
1720    sh and bash: Prepend the name of the environment by a ``$'' sign. For
1721    example,
1722
1723  set record=+sent_on_$HOSTNAME
1724
1725    sets the $record variable to the string +sent_on_ and appends the value of
1726    the evironment variable $HOSTNAME.
1727
1728    Note: There will be no warning if an environment variable is not defined.
1729    The result will of the expansion will then be empty.
1730
1731   3.3. Configuration Variables
1732
1733    As for environment variables, the values of all configuration variables as
1734    string can be used in the same way, too. For example,
1735
1736  set imap_home_namespace = $folder
1737
1738    would set the value of $imap_home_namespace to the value to which $folder
1739    is currently set to.
1740
1741    Note: There're no logical links established in such cases so that the the
1742    value for $imap_home_namespace won't change even if $folder gets changed.
1743
1744    Note: There will be no warning if a configuration variable is not defined
1745    or is empty. The result will of the expansion will then be empty.
1746
1747   3.4. Self-Defined Variables
1748
1749    Mutt-ng flexibly allows users to define their own variables. To avoid
1750    conflicts with the standard set and to prevent misleading error messages,
1751    there's a reserved namespace for them: all user-defined variables must be
1752    prefixed with user_ and can be used just like any ordinary configuration
1753    or environment variable.
1754
1755    For example, to view the manual, users can either define two macros like
1756    the following
1757
1758  macro generic <F1> "!less -r /path/to/manual" "Show manual"
1759  macro pager <F1> "!less -r /path/to/manual" "Show manual"
1760
1761    for generic, pager and index .The alternative is to define a custom
1762    variable like so:
1763
1764  set user_manualcmd = "!less -r /path/to_manual"
1765  macro generic <F1> "$user_manualcmd<enter>" "Show manual"
1766  macro pager <F1> "$user_manualcmd<enter>" "Show manual"
1767  macro index <F1> "$user_manualcmd<enter>" "Show manual"
1768
1769    to re-use the command sequence as in:
1770
1771  macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
1772
1773    Using this feature, arbitrary sequences can be defined once and recalled
1774    and reused where necessary. More advanced scenarios could include to save
1775    a variable's value at the beginning of macro sequence and restore it at
1776    end.
1777
1778    When the variable is first defined, the first value it gets assigned is
1779    also the initial value to which it can be reset using the reset command.
1780
1781    The complete removal is done via the unset keyword.
1782
1783    After the following sequence:
1784
1785  set user_foo = 42
1786  set user_foo = 666
1787
1788    the variable $user_foo has a current value of 666 and an initial of 42.
1789    The query
1790
1791  set ?user_foo
1792
1793    will show 666. After doing the reset via
1794
1795  reset user_foo
1796
1797    a following query will give 42 as the result. After unsetting it via
1798
1799  unset user_foo
1800
1801    any query or operation (except the noted expansion within other
1802    statements) will lead to an error message.
1803
1804   3.5. Pre-Defined Variables
1805
1806    In order to allow users to share one setup over a number of different
1807    machines without having to change its contents, there's a number of
1808    pre-defined variables. These are prefixed with muttng_ and are read-only,
1809    i.e. they cannot be set, unset or reset. The reference chapter lists all
1810    available variables.
1811
1812    Please consult the local copy of your manual for their values as they may
1813    differ from different manual sources. Where the manual is installed in can
1814    be queried (already using such a variable) by running:
1815
1816  muttng -Q muttng_docdir
1817
1818    To extend the example for viewing the manual via self-defined variables,
1819    it can be made more readable and more portable by changing the real path
1820    in:
1821
1822  set user_manualcmd = '!less -r /path/to_manual'
1823
1824    to:
1825
1826  set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
1827
1828    which works everywhere if a manual is installed.
1829
1830    Please note that by the type of quoting, muttng determines when to expand
1831    these values: when it finds double quotes, the value will be expanded
1832    during reading the setup files but when it finds single quotes, it'll
1833    expand it at runtime as needed.
1834
1835    For example, the statement
1836
1837  folder-hook . "set user_current_folder = $muttng_folder_name"
1838
1839    will be already be translated to the following when reading the startup
1840    files:
1841
1842  folder-hook . "set user_current_folder = some_folder"
1843
1844    with some_folder being the name of the first folder muttng opens. On the
1845    contrary,
1846
1847  folder-hook . 'set user_current_folder = $muttng_folder_name'
1848
1849    will be executed at runtime because of the single quotes so that
1850    user_current_folder will always have the value of the currently opened
1851    folder.
1852
1853    A more practical example is:
1854
1855  folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
1856
1857    which can be used to source files containing score commands depending on
1858    the folder the user enters.
1859
1860   3.6. Type Conversions
1861
1862    A note about variable's types during conversion: internally values are
1863    stored in internal types but for any dump/query or set operation they're
1864    converted to and from string. That means that there's no need to worry
1865    about types when referencing any variable. As an example, the following
1866    can be used without harm (besides makeing muttng very likely behave
1867    strange):
1868
1869  set read_inc = 100
1870  set folder = $read_inc
1871  set read_inc = $folder
1872  set user_magic_number = 42
1873  set folder = $user_magic_number
1874
1875 4. Defining/Using aliases
1876
1877    Usage: aliaskeyaddress [, address,...]
1878
1879    It's usually very cumbersome to remember or type out the address of
1880    someone you are communicating with. Mutt-ng allows you to create
1881    ``aliases'' which map a short string to a full address.
1882
1883    Note: if you want to create an alias for a group (by specifying more than
1884    one address), you must separate the addresses with a comma (``,'').
1885
1886    To remove an alias or aliases (``*'' means all aliases):
1887
1888    unalias [* | key...]
1889
1890  alias muttdude me@cs.hmc.edu (Michael Elkins)
1891  alias theguys manny, moe, jack
1892
1893    Unlike other mailers, Mutt-ng doesn't require aliases to be defined in a
1894    special file. The alias command can appear anywhere in a configuration
1895    file, as long as this file is source. Consequently, you can have multiple
1896    alias files, or you can have all aliases defined in your muttrc.
1897
1898    On the other hand, the <create-alias> function can use only one file, the
1899    one pointed to by the $alias_file variable (which is ~/.muttrc by
1900    default). This file is not special either, in the sense that Mutt-ng will
1901    happily append aliases to any file, but in order for the new aliases to
1902    take effect you need to explicitly source this file too.
1903
1904    For example:
1905
1906  source /usr/local/share/Mutt-ng.aliases
1907  source ~/.mail_aliases
1908  set alias_file=~/.mail_aliases
1909
1910    To use aliases, you merely use the alias at any place in mutt where
1911    muttprompts for addresses, such as the To: or Cc: prompt. You can also
1912    enter aliases in your editor at the appropriate headers if you have the
1913    $editor_headers variable set.
1914
1915    In addition, at the various address prompts, you can use the tab character
1916    to expand a partial alias to the full alias. If there are multiple
1917    matches, mutt will bring up a menu with the matching aliases. In order to
1918    be presented with the full list of aliases, you must hit tab with out a
1919    partial alias, such as at the beginning of the prompt or after a comma
1920    denoting multiple addresses.
1921
1922    In the alias menu, you can select as many aliases as you want with the
1923    select-entry key (default: RET), and use the exit key (default: q) to
1924    return to the address prompt.
1925
1926 5. Changing the default key bindings
1927
1928    Usage: bindmapkeyfunction
1929
1930    This command allows you to change the default key bindings (operation
1931    invoked when pressing a key).
1932
1933    map specifies in which menu the binding belongs. Multiple maps may be
1934    specified by separating them with commas (no additional whitespace
1935    isallowed). The currently defined maps are:
1936
1937    generic
1938
1939            This is not a real menu, but is used as a fallback for all of the
1940            other menus except for the pager and editor modes. If a key is not
1941            defined in another menu, Mutt-ng will look for a binding to use in
1942            this menu. This allows you to bind a key to a certain function in
1943            multiple menus instead of having multiple bind statements to
1944            accomplish the same task.
1945
1946    alias
1947
1948            The alias menu is the list of your personal aliases as defined in
1949            your muttrc. It is the mapping from a short alias name to the full
1950            email address(es) of the recipient(s).
1951
1952    attach
1953
1954            The attachment menu is used to access the attachments on received
1955            messages.
1956
1957    browser
1958
1959            The browser is used for both browsing the local directory
1960            structure, and for listing all of your incoming mailboxes.
1961
1962    editor
1963
1964            The editor is the line-based editor the user enters text data.
1965
1966    index
1967
1968            The index is the list of messages contained in a mailbox.
1969
1970    compose
1971
1972            The compose menu is the screen used when sending a new message.
1973
1974    pager
1975
1976            The pager is the mode used to display message/attachment data, and
1977            help listings.
1978
1979    pgp
1980
1981            The pgp menu is used to select the OpenPGP keys used for
1982            encrypting outgoing messages.
1983
1984    postpone
1985
1986            The postpone menu is similar to the index menu, except is used
1987            when recalling a message the user was composing, but saved until
1988            later.
1989
1990    key is the key (or key sequence) you wish to bind. To specify a control
1991    character, use the sequence \Cx, where x is the letter of the control
1992    character (for example, to specify control-A use ``\Ca''). Note that the
1993    case of x as well as \C is ignored, so that \CA, \Ca, \cA and \ca are all
1994    equivalent. An alternative form is to specify the key as a three digit
1995    octal number prefixed with a ``\'' (for example \177 is equivalent to
1996    \c?).
1997
1998    In addition, key may consist of:
1999
2000    Table 3.1. Alternative Key Names
2001
2002    Sequence    Description
2003    \t          tab
2004    <tab>       tab
2005    <backtab>   backtab / shift-tab
2006    \r          carriage return
2007    \n          newline
2008    \e          escape
2009    <esc>       escape
2010    <up>        up arrow
2011    <down>      down arrow
2012    <left>      left arrow
2013    <right>     right arrow
2014    <pageup>    Page Up
2015    <pagedown>  Page Down
2016    <backspace> Backspace
2017    <delete>    Delete
2018    <insert>    Insert
2019    <enter>     Enter
2020    <return>    Return
2021    <home>      Home
2022    <end>       End
2023    <space>     Space bar
2024    <f1>        function key 1
2025    <f10>       function key 10
2026
2027    key does not need to be enclosed in quotes unless it contains a space (``
2028    '').
2029
2030    function specifies which action to take when key is pressed. For a
2031    complete list of functions, see the functions. The special function noop
2032    unbinds the specified key sequence.
2033
2034 6. Defining aliases for character sets
2035
2036    Usage: charset-hookaliascharset
2037
2038    Usage: iconv-hookcharsetlocal-charset
2039
2040    The charset-hook command defines an alias for a character set. This is
2041    useful to properly display messages which are tagged with a character set
2042    name not known to mutt.
2043
2044    The iconv-hook command defines a system-specific name for a character set.
2045    This is helpful when your systems character conversion library insists on
2046    using strange, system-specific names for character sets.
2047
2048 7. Setting variables based upon mailbox
2049
2050    Usage: folder-hook [!]regexpcommand
2051
2052    It is often desirable to change settings based on which mailbox you are
2053    reading. The folder-hook command provides a method by which you can
2054    execute any configuration command. regexp is a regular expression
2055    specifying in which mailboxes to execute command before loading. If a
2056    mailbox matches multiple folder-hook's, they are executed in the order
2057    given in the muttrc.
2058
2059    Note: if you use the ``!'' shortcut for $spoolfile at the beginning of the
2060    pattern, you must place it inside of double or single quotes in order to
2061    distinguish it from the logical not operator for the expression.
2062
2063    Note that the settings are not restored when you leave the mailbox. For
2064    example, a command action to perform is to change the sorting methodbased
2065    upon the mailbox being read:
2066
2067  folder-hook mutt set sort=threads
2068
2069    However, the sorting method is not restored to its previous value when
2070    reading a different mailbox. To specify a default command, use the pattern
2071    ``.'':
2072
2073  folder-hook . set sort=date-sent
2074
2075 8. Keyboard macros
2076
2077    Usage: macromenukeysequence [description]
2078
2079    Macros are useful when you would like a single key to perform a series of
2080    actions. When you press key in menu menu ,Mutt-ng will behave as if you
2081    had typed sequence. So if you have a common sequence of commands you type,
2082    you can create a macro to execute those commands with a singlekey.
2083
2084    menu is the maps which the macro will be bound. Multiple maps may be
2085    specified by separating multiple menu arguments by commas. Whitespace may
2086    not be used in between the menu arguments and thecommas separating them.
2087
2088    key and sequence are expanded by the same rules as the bind. There are
2089    some additions however. The first is that control characters in sequence
2090    can also be specified as ^x. In order to get a caret (`^'') you need to
2091    use ^^. Secondly, to specify a certain key such as up or to invoke a
2092    function directly, you can use the format <key name> and <function name>
2093    .For a listing of key names see the section on bind. Functions are listed
2094    in the functions.
2095
2096    The advantage with using function names directly is that the macros
2097    willwork regardless of the current key bindings, so they are not dependent
2098    on the user having particular key definitions. This makes them more
2099    robustand portable, and also facilitates defining of macros in files used
2100    by more than one user (eg. the system Muttngrc).
2101
2102    Optionally you can specify a descriptive text after sequence, which is
2103    shown in the help screens.
2104
2105    Note: Macro definitions (if any) listed in the help screen(s), are
2106    silently truncated at the screen width, and are not wrapped.
2107
2108 9. Using color and mono video attributes
2109
2110    Usage: colorobjectforegroundbackground [regexp]
2111
2112    Usage: color index foregroundbackgroundpattern
2113
2114    Usage: uncolor index pattern[pattern...]
2115
2116    If your terminal supports color, you can spice up Mutt-ng by creating your
2117    own color scheme. To define the color of an object (type of information),
2118    you must specify both a foreground color and a background color (it is not
2119    possible to only specify one or the other).
2120
2121    object can be one of:
2122
2123      o attachment
2124
2125      o body (match regexp in the body of messages)
2126
2127      o bold (highlighting bold patterns in the body of messages)
2128
2129      o error (error messages printed by Mutt-ng)
2130
2131      o header (match regexp in the message header)
2132
2133      o hdrdefault (default color of the message header in the pager)
2134
2135      o index (match pattern in the message index)
2136
2137      o indicator (arrow or bar used to indicate the current item in a menu)
2138
2139      o markers (the ``+'' markers at the beginning of wrapped lines in the
2140        pager)
2141
2142      o message (informational messages)
2143
2144      o normal
2145
2146      o quoted (text matching $quote_regexp in the body of a message)
2147
2148      o quoted1, quoted2, ..., quotedN (higher levels of quoting)
2149
2150      o search (highlighting of words in the pager)
2151
2152      o signature
2153
2154      o status (mode lines used to display info about the mailbox or message)
2155
2156      o tilde (the ``~'' used to pad blank lines in the pager)
2157
2158      o tree (thread tree drawn in the message index and attachment menu)
2159
2160      o underline (highlighting underlined patterns in the body of messages)
2161
2162    foreground and background can be one of the following:
2163
2164      o white
2165
2166      o black
2167
2168      o green
2169
2170      o magenta
2171
2172      o blue
2173
2174      o cyan
2175
2176      o yellow
2177
2178      o red
2179
2180      o default
2181
2182      o colorx
2183
2184    foreground can optionally be prefixed with the keyword bright to make the
2185    foreground color boldfaced (e.g., brightred).
2186
2187    If your terminal supports it, the special keyword default can be used as a
2188    transparent color. The value brightdefault is also valid. If Mutt-ng is
2189    linked against the S-Lang library, you also need to set the $COLORFGBG
2190    environment variable to the default colors of your terminal for this to
2191    work; for example (for Bourne-like shells):
2192
2193  set COLORFGBG="green;black"
2194  export COLORFGBG
2195
2196    Note: The S-Lang library requires you to use the lightgray and brown
2197    keywords instead of white and yellow when setting this variable.
2198
2199    Note: The uncolor command can be applied to the index object only. It
2200    removes entries from the list. You must specify the same pattern specified
2201    in the color command for it to be removed. The pattern ``*'' is a special
2202    token which means to clear the color index list of all entries.
2203
2204    Mutt-ng also recognizes the keywords color0, color1 ,..., colorN-1 (N
2205    being the number of colors supported by your terminal). This is useful
2206    when you remap the colors for your display (for example by changing the
2207    color associated with color2 for your xterm), since color names may then
2208    lose their normal meaning.
2209
2210    If your terminal does not support color, it is still possible change the
2211    video attributes through the use of the ``mono'' command:
2212
2213    Usage: mono<object> <attribute>[regexp]
2214
2215    Usage: mono index attributepattern
2216
2217    Usage: unmono index pattern [pattern...]
2218
2219    where attribute is one of the following:
2220
2221      o none
2222
2223      o bold
2224
2225      o underline
2226
2227      o reverse
2228
2229      o standout
2230
2231 10. Ignoring (weeding) unwanted message headers
2232
2233    Usage: ignorepattern [pattern...]
2234
2235    Usage: unignorepattern [pattern...]
2236
2237    Messages often have many header fields added by automatic processing
2238    systems, or which may not seem useful to display on the screen. This
2239    command allows you to specify header fields which you don't normally want
2240    to see.
2241
2242    You do not need to specify the full header field name. For example,
2243    ``ignore content-'' will ignore all header fields that begin with the
2244    pattern ``content-''. ``ignore *'' will ignore all headers.
2245
2246    To remove a previously added token from the list, use the ``unignore''
2247    command. The ``unignore'' command will make Mutt-ng display headers with
2248    the given pattern. For example, if you do ``ignore x-'' it is possible to
2249    ``unignore x-mailer''.
2250
2251    ``unignore *'' will remove all tokens from the ignore list.
2252
2253    For example:
2254
2255  # Sven's draconian header weeding
2256  ignore *
2257  unignore from date subject to cc
2258  unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2259  unignore posted-to:
2260
2261 11. Alternative addresses
2262
2263    Usage: alternatesregexp [regexp...]
2264
2265    Usage: unalternatesregexp [regexp...]
2266
2267    With various functions, mutt will treat messages differently, depending on
2268    whether you sent them or whether you received them from someone else. For
2269    instance, when replying to a message that you sent to a different party,
2270    mutt will automatically suggest to send the response to the original
2271    message's recipients--responding to yourself won't make much sense in many
2272    cases. (See $reply_to.)
2273
2274    Many users receive e-mail under a number of different addresses. To fully
2275    use mutt's features here, the program must be able to recognize what
2276    e-mail addresses you receive mail under. That's the purpose of the
2277    alternates command: It takes a list of regular expressions, each of which
2278    can identify an address under which you receive e-mail.
2279
2280    The unalternates command can be used to write exceptions to alternates
2281    patterns. If an address matches something in an alternates command, but
2282    you nonetheless do not think it is from you, you can list a more precise
2283    pattern under an unalternates command.
2284
2285    To remove a regular expression from the alternates list, use the
2286    unalternates command with exactly the same regexp . Likewise, if the
2287    regexp for a alternates command matches an entry on the unalternates list,
2288    that unalternates entry will be removed. If the regexp for unalternates is
2289    ``*'', all entries on alternates will be removed.
2290
2291 12. Format = Flowed
2292
2293   12.1. Introduction
2294
2295    Mutt-ng contains support for so-called format=flowed messages. In the
2296    beginning of email, each message had a fixed line width, and it was enough
2297    for displaying them on fixed-size terminals. But times changed, and
2298    nowadays hardly anybody still uses fixed-size terminals: more people
2299    nowaydays use graphical user interfaces, with dynamically resizable
2300    windows. This led to the demand of a new email format that makes it
2301    possible for the email client to make the email look nice in a resizable
2302    window without breaking quoting levels and creating an incompatible email
2303    format that can also be displayed nicely on old fixed-size terminals.
2304
2305    For introductory information on format=flowed messages, see
2306    <http://www.joeclark.org/ffaq.html>.
2307
2308   12.2. Receiving: Display Setup
2309
2310    When you receive emails that are marked as format=flowed messages, and is
2311    formatted correctly, mutt-ng will try to reformat the message to optimally
2312    fit on your terminal. If you want a fixed margin on the right side of your
2313    terminal, you can set the following:
2314
2315  set wrapmargin = 10
2316
2317    The code above makes the line break 10 columns before the right side of
2318    the terminal.
2319
2320    If your terminal is so wide that the lines are embarrassingly long, you
2321    can also set a maximum line length:
2322
2323  set max_line_length = 120
2324
2325    The example above will give you lines not longer than 120 characters.
2326
2327    When you view at format=flowed messages, you will often see the quoting
2328    hierarchy like in the following example:
2329
2330  >Bill, can you please send last month's progress report to Mr.
2331  >Morgan? We also urgently need the cost estimation for the new
2332  >production server that we want to set up before our customer's
2333  >project will go live.
2334
2335    This obviously doesn't look very nice, and it makes it very hard to
2336    differentiate between text and quoting character. The solution is to
2337    configure mutt-ng to "stuff" the quoting:
2338
2339  set stuff_quoted
2340
2341    This will lead to a nicer result that is easier to read:
2342
2343  > Bill, can you please send last month's progress report to Mr.
2344  > Morgan? We also urgently need the cost estimation for the new
2345  > production server that we want to set up before our customer's
2346  > project will go live.
2347
2348   12.3. Sending
2349
2350    If you want mutt-ng to send emails with format=flowed set, you need to
2351    explicitly set it:
2352
2353  set text_flowed
2354
2355    Additionally, you have to use an editor which supports writing
2356    format=flowed-conforming emails. For vim(1), this is done by adding w to
2357    the formatoptions (see :h formatoptions and :h fo-table) when writing
2358    emails.
2359
2360    Also note that format=flowed knows about ``space-stuffing'', that is, when
2361    sending messages, some kinds of lines have to be indented with a single
2362    space on the sending side. On the receiving side, the first space (if any)
2363    is removed. As a consequence and in addition to the above simple setting,
2364    please keep this in mind when making manual formattings within the editor.
2365    Also note that mutt-ng currently violates the standard (RfC 3676) as it
2366    does not space-stuff lines starting with:
2367
2368      o > This is not the quote character but a right angle used for other
2369        reasons
2370
2371    Please make sure that you manually prepend a space to each of them.
2372
2373   12.4. Additional Notes
2374
2375    For completeness, the $delete_space variable provides the mechanism to
2376    generate a DelSp=yes parameter on outgoing messages. According to the
2377    standard, clients receiving a format=flowed messages should delete the
2378    last space of a flowed line but still interpret the line as flowed.
2379    Because flowed lines usually contain only one space at the end, this
2380    parameter would make the receiving client concatenate the last word of the
2381    previous with the first of the current line without a space. This makes
2382    ordinary text unreadable and is intended for languages rarely using
2383    spaces. So please use this setting only if you're sure what you're doing.
2384
2385 13. Mailing lists
2386
2387    Usage: listsregexp [regexp...]
2388
2389    Usage: unlistsregexp [regexp...]
2390
2391    Usage: subscriberegexp [regexp...]
2392
2393    Usage: unsubscriberegexp [regexp...]
2394
2395    Mutt-ng has a few nice features for using-lists. In order to take
2396    advantage of them, you must specify which addresses belong to mailing
2397    lists, and which mailing lists you are subscribed to. Once you have done
2398    this, the list-reply function will work for all known lists. Additionally,
2399    when you send a message to a subscribed list, mutt will add a
2400    Mail-Followup-To header to tell other users' mail user agents not to send
2401    copies of replies to your personal address. Note that the Mail-Followup-To
2402    header is a non-standard extension which is not supported by all mail user
2403    agents. Adding it is not bullet-proof against receiving personal CCs of
2404    list messages. Also note that the generation of the Mail-Followup-To
2405    header is controlled by the $followup_to configuration variable.
2406
2407    More precisely, Mutt-ng maintains lists of patterns for the addresses of
2408    known and subscribed mailing lists. Every subscribed mailing list is
2409    known. To mark a mailing list as known, use the ``lists'' command. To mark
2410    it as subscribed, use ``subscribe''.
2411
2412    You can use regular expressions with both commands. To mark all messages
2413    sent to a specific bug report's address on mutt's bug tracking system as
2414    list mail, for instance, you could say ``subscribe [0-9]*@bugs.guug.de''.
2415    Often, it's sufficient to just give a portion of the list's e-mail
2416    address.
2417
2418    Specify as much of the address as you need to to remove ambiguity. For
2419    example, if you've subscribed to the Mutt-ng mailing list, you will
2420    receive mail addressed to mutt-users@mutt.org. So, to tell Mutt-ng that
2421    this is a mailing list, you could add ``lists mutt-users'' to your
2422    initialization file. To tell mutt that you are subscribed to it, add
2423    ``subscribe mutt-users'' to your initialization file instead. If you also
2424    happen to get mail from someone whose address is mutt-users@example.com,
2425    you could use ``lists mutt-users@mutt\\.org'' or ``subscribe
2426    mutt-users@mutt\\.org'' to match only mail from the actual list.
2427
2428    The ``unlists'' command is used to remove a token from the list of known
2429    and subscribed mailing-lists. Use ``unlists *'' to remove all tokens.
2430
2431    To remove a mailing list from the list of subscribed mailing lists, but
2432    keep it on the list of known mailing lists, use ``unsubscribe''.
2433
2434 14. Using Multiple spool mailboxes
2435
2436    Usage: mbox-hook [!]patternmailbox
2437
2438    This command is used to move read messages from a specified mailbox to
2439    adifferent mailbox automatically when you quit or change folders. pattern
2440    is a regular expression specifying the mailbox to treat as a ``spool''
2441    mailbox and mailbox specifies where mail should be saved when read.
2442
2443    Unlike some of the other hook commands, only the first matching pattern is
2444    used (it is not possible to save read mail in more than a single mailbox).
2445
2446 15. Defining mailboxes which receive mail
2447
2448    Usage: mailboxes [!]filename [filename...]
2449
2450    Usage: unmailboxes [!]filename [filename...]
2451
2452    This command specifies folders which can receive mail and which will be
2453    checked for new messages. By default, the main menu status bar displays
2454    how many of these folders have new messages.
2455
2456    When changing folders, pressing space will cycle through folders with new
2457    mail.
2458
2459    Pressing TAB in the directory browser will bring up a menu showing the
2460    files specified by the mailboxes command, and indicate which contain new
2461    messages. Mutt-ng will automatically enter this mode when invoked from the
2462    command line with the -y option.
2463
2464    The ``unmailboxes'' command is used to remove a token from the list of
2465    folders which receive mail. Use ``unmailboxes *'' to remove all tokens.
2466
2467    Note: new mail is detected by comparing the last modification time to the
2468    last access time. Utilities like biff or frm or any other program which
2469    accesses the mailbox might cause Mutt-ng to never detect new mail for that
2470    mailbox if they do not properly reset the access time. Backup tools are
2471    another common reason for updated access times.
2472
2473    Note: the filenames in the mailboxes command are resolved when the command
2474    is executed, so if these names contain shortcuts (such as ``='' and
2475    ``!''), any variable definition that affect these characters (like $folder
2476    and $spoolfile) should be executed before the mailboxes command.
2477
2478 16. User defined headers
2479
2480    Usage: my_hdrstring
2481
2482    Usage: unmy_hdrfield [field...]
2483
2484    The ``my_hdr'' command allows you to create your own header fields which
2485    will be added to every message you send.
2486
2487    For example, if you would like to add an ``Organization:'' header field to
2488    all of your outgoing messages, you can put the command
2489
2490  my_hdr Organization: A Really Big Company, Anytown, USA
2491
2492    in your .muttrc.
2493
2494    Note: space characters are not allowed between the keyword and the colon
2495    (``:''). The standard for electronic mail (RfC 822) says that space is
2496    illegal there, so Mutt-ng enforces the rule.
2497
2498    If you would like to add a header field to a single message, you should
2499    either set the $edit_headers variable, or use the edit-headers function
2500    (default: ``E'') in the send-menu so that you can edit the header of your
2501    message along with the body.
2502
2503    To remove user defined header fields, use the ``unmy_hdr'' command. You
2504    may specify an asterisk (``*'') to remove all header fields, or the fields
2505    to remove. For example, to remove all ``To'' and ``Cc'' header fields, you
2506    could use:
2507
2508  unmy_hdr to cc
2509
2510 17. Defining the order of headers when viewing messages
2511
2512    Usage: hdr_orderheader1header2header3
2513
2514    With this command, you can specify an order in which mutt will attempt to
2515    present headers to you when viewing messages.
2516
2517    ``unhdr_order *'' will clear all previous headers from the order list,
2518    thus removing the header order effects set by the system-wide startup
2519    file.
2520
2521  hdr_order From Date: From: To: Cc: Subject:
2522
2523 18. Specify default save filename
2524
2525    Usage: save-hook [!]patternfilename
2526
2527    This command is used to override the default filename used when saving
2528    messages. filename will be used as the default filename if the message is
2529    From: an address matching regexp or if you are the author and the message
2530    is addressed to: something matching regexp .
2531
2532    See pattern-hook for information on the exact format of pattern.
2533
2534    Examples:
2535
2536  save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
2537  save-hook aol\\.com$ +spam
2538
2539    Also see the fcc-save-hook command.
2540
2541 19. Specify default Fcc: mailbox when composing
2542
2543    Usage: fcc-hook [!]patternmailbox
2544
2545    This command is used to save outgoing mail in a mailbox other than
2546    $record. Mutt-ng searches the initial list of message recipients for the
2547    first matching regexp and uses mailbox as the default Fcc: mailbox. If no
2548    match is found the message will be saved to $record mailbox.
2549
2550    See pattern-hook for information on the exact format of pattern.
2551
2552    Example: fcc-hook [@.]aol\\.com$ +spammers
2553
2554    The above will save a copy of all messages going to the aol.com domain to
2555    the `+spammers' mailbox by default. Also see the fcc-save-hook command.
2556
2557 20. Specify default save filename and default Fcc: mailbox at once
2558
2559    Usage: fcc-save-hook [!]patternmailbox
2560
2561    This command is a shortcut, equivalent to doing both a fcc-hook and a
2562    save-hook with its arguments.
2563
2564 21. Change settings based upon message recipients
2565
2566    Usage: reply-hook [!]patterncommand
2567
2568    Usage: send-hook [!]patterncommand
2569
2570    Usage: send2-hook [!]patterncommand
2571
2572    These commands can be used to execute arbitrary configuration commands
2573    based upon recipients of the message. pattern is a regular expression
2574    matching the desired address. command is executed when regexp matches
2575    recipients of the message.
2576
2577    reply-hook is matched against the message you are replying to, instead of
2578    the message you are sending .send-hook is matched against all messages,
2579    both new and replies .Note:reply-hooks are matched before the send-hook,
2580    regardless of the order specified in the users's configuration file.
2581
2582    send2-hook is matched every time a message is changed, either by editing
2583    it, or by using the compose menu to change its recipients or subject.
2584    send2-hook is executed after send-hook ,and can, e.g., be used to set
2585    parameters such as the $sendmail variable depending on the message's
2586    sender address.
2587
2588    For each type of send-hook or reply-hook, when multiple matches occur,
2589    commands are executed in the order they are specified in the muttrc (for
2590    that type of hook).
2591
2592    See pattern-hook for information on the exact format of pattern.
2593
2594    Example: send-hook mutt "set mime_forward signature=''"
2595
2596    Another typical use for this command is to change the values of the
2597    $attribution, $signature and $locale variables in order to change the
2598    language of the attributions and signatures based upon the recipients.
2599
2600    Note: the send-hook's are only executed ONCE after getting the initial
2601    list of recipients. Adding a recipient after replying or editing the
2602    message will NOT cause any send-hook to be executed. Also note that my_hdr
2603    commands which modify recipient headers, or the message's subject, don't
2604    have any effect on the current message when executed from a send-hook.
2605
2606 22. Change settings before formatting a message
2607
2608    Usage: message-hook [!]patterncommand
2609
2610    This command can be used to execute arbitrary configuration commands
2611    before viewing or formatting a message based upon information about the
2612    message. command is executed if the pattern matches the message to be
2613    displayed. When multiple matches occur, commands are executed in the order
2614    they are specified in the muttrc.
2615
2616    See pattern-hook for information on the exact format of pattern.
2617
2618    Example:
2619
2620  message-hook ~A 'set pager=builtin'
2621  message-hook '~f freshmeat-news' 'set pager="less \"+/^  subject:.*\""'
2622
2623 23. Choosing the cryptographic key of the recipient
2624
2625    Usage: crypt-hookpatternkeyid
2626
2627    When encrypting messages with PGP or OpenSSL, you may want to associate a
2628    certain key with a given e-mail address automatically, either because the
2629    recipient's public key can't be deduced from the destination address, or
2630    because, for some reasons, you need to override the key Mutt-ng
2631    wouldnormally use. The crypt-hook command provides a method by which you
2632    can specify the ID of the public key to be used when encrypting messages
2633    to a certain recipient.
2634
2635    The meaning of "key id" is to be taken broadly in this context: You can
2636    either put a numerical key ID here, an e-mail address, or even just a real
2637    name.
2638
2639 24. Adding key sequences to the keyboard buffer
2640
2641    Usage: pushstring
2642
2643    This command adds the named string to the keyboard buffer. The string may
2644    contain control characters, key names and function names like the sequence
2645    string in the macro command. You may use it to automatically run a
2646    sequence of commands at startup, or when entering certain folders. For
2647    example, the following command will automatically collapse all threads
2648    when entering a folder:
2649
2650  folder-hook . 'push <collapse-all>'
2651
2652
2653 25. Executing functions
2654
2655    Usage: execfunction [function...]
2656
2657    This command can be used to execute any function. Functions are listed in
2658    the functions. ``exec function'' is equivalent to ``push <function>''.
2659
2660 26. Message Scoring
2661
2662    Usage: scorepatternvalue
2663
2664    Usage: unscorepattern [pattern...]
2665
2666    In situations where you have to cope with a lot of emails, e.g. when you
2667    read many different mailing lists, and take part in discussions, it is
2668    always useful to have the important messages marked and the annoying
2669    messages or the ones that you aren't interested in deleted. For this
2670    purpose, mutt-ng features a mechanism called ``scoring''.
2671
2672    When you use scoring, every message has a base score of 0. You can then
2673    use the score command to define patterns and a positive or negative value
2674    associated with it. When a pattern matches a message, the message's score
2675    will be raised or lowered by the amount of the value associated with the
2676    pattern.
2677
2678  score "~f nion@muttng\.org" 50
2679  score "~f @sco\.com" -100
2680
2681    If the pattern matches, it is also possible to set the score value of the
2682    current message to a certain value and then stop evaluation:
2683
2684  score "~f santaclaus@northpole\.int" =666
2685
2686    What is important to note is that negative score values will be rounded up
2687    to 0.
2688
2689    To make scoring actually useful, the score must be applied in some way.
2690    That's what the score thresholds are for. Currently, there are three score
2691    thresholds:
2692
2693      o flag threshold: when a message has a score value equal or higher than
2694        the flag threshold, it will be flagged.
2695
2696      o read threshold: when a message has a score value equal or lower than
2697        the read threshold, it will be marked as read.
2698
2699      o delete threshold: when a message has a score value equal or lower than
2700        the delete threshold, it will be marked as deleted.
2701
2702    These three thresholds can be set via the variables $score_threshold_read,
2703    $score_threshold_flag and $score_threshold_delete.
2704
2705    By default, $score_threshold_read and $score_threshold_delete are set to
2706    -1, which means that in the default threshold configuration no message
2707    will ever get marked as read or deleted.
2708
2709    Scoring gets especially interesting when combined with the color command
2710    and the ~n pattern:
2711
2712  color index  black   yellow  "~n 10-"
2713  color index  red     yellow  "~n 100-"
2714
2715    The rules above mark all messages with a score between 10 and 99 with
2716    black and yellow, and messages with a score greater or equal 100 with red
2717    and yellow. This might be unusual to you if you're used to e.g. slrn's
2718    scoring mechanism, but it is more flexible, as it visually marks different
2719    scores.
2720
2721 27. Spam detection
2722
2723    Usage: spampatternformat
2724
2725    Usage: nospampattern
2726
2727    Mutt-ng has generalized support for external spam-scoring filters. By
2728    defining your spam patterns with the spam and nospam commands, you can
2729    limit, search, and sort your mail based on its spam attributes, as
2730    determined by the external filter. You also can display the spam
2731    attributes in your index display using the %H selector in the
2732    $index_format variable. (Tip: try %?H?[%H] ? to display spam tags only
2733    when they are defined for a given message.)
2734
2735    Your first step is to define your external filter's spam patterns using
2736    the spam command. pattern should be a regular expression that matches a
2737    header in a mail message. If any message in the mailbox matches this
2738    regular expression, it will receive a ``spam tag'' or ``spam attribute''
2739    (unless it also matches a nospam pattern -- see below.) The appearance of
2740    this attribute is entirely up to you, and is governed by the format
2741    parameter. format can be any static text, but it also can include
2742    back-references from the pattern expression. (A regular expression
2743    ``back-reference'' refers to a sub-expression contained within
2744    parentheses.) %1 is replaced with the first back-reference in the regex,
2745    %2 with the second, etc.
2746
2747    If you're using multiple spam filters, a message can have more than one
2748    spam-related header. You can define spam patterns for each filter you use.
2749    If a message matches two or more of these patterns, and the
2750    $spam_separator variable is set to a string, then the message's spam tag
2751    will consist of all the format strings joined together, with the value of
2752    $spam_separator separating them.
2753
2754    For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
2755    define these spam settings:
2756
2757  spam "X-DCC-.*-Metrics:.*(....)=many"         "90+/DCC-%1"
2758  spam "X-Spam-Status: Yes"                     "90+/SA"
2759  spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
2760  set spam_separator=", "
2761
2762    If I then received a message that DCC registered with ``many'' hits under
2763    the ``Fuz2'' checksum, and that PureMessage registered with a 97%
2764    probability of being spam, that message's spam tag would read90+/DCC-Fuz2,
2765    97/PM. (The four characters before ``=many'' in a DCC report indicate the
2766    checksum used -- in this case, ``Fuz2''.)
2767
2768    If the $spam_separator variable is unset, then each spam pattern match
2769    supersedes the previous one. Instead of getting joined format strings,
2770    you'll get only the last one to match.
2771
2772    The spam tag is what will be displayed in the index when you use %H in the
2773    $index_format variable. It's also the string that the ~H pattern-matching
2774    expression matches against for search and limit functions. And it's what
2775    sorting by spam attribute will use as a sort key.
2776
2777    That's a pretty complicated example, and most people's actual environments
2778    will have only one spam filter. The simpler your configuration, the more
2779    effective mutt can be, especially when it comes to sorting.
2780
2781    Generally, when you sort by spam tag, mutt will sort lexically -- that is,
2782    by ordering strings alphnumerically. However, if a spam tag begins with a
2783    number, mutt will sort numerically first, and lexically only when two
2784    numbers are equal in value. (This is like UNIX's sort -n.) A message with
2785    no spam attributes at all -- that is, one that didn't match any of your
2786    spam patterns -- is sorted at lowest priority. Numbers are sorted next,
2787    beginning with 0 and ranging upward. Finally, non-numeric strings are
2788    sorted, with ``a'' taking lowerpriority than ``z''. Clearly, in general,
2789    sorting by spam tags is most effective when you can coerce your filter to
2790    give you a raw number. But in case you can't, mutt can still do something
2791    useful.
2792
2793    The nospam command can be used to write exceptions to spam patterns. If a
2794    header pattern matches something in a spam command, but you nonetheless do
2795    not want it to receive a spam tag, you can list amore precise pattern
2796    under a nospam command.
2797
2798    If the pattern given to nospam is exactly the same as the pattern on an
2799    existing spam list entry, the effect will be to remove the entry from the
2800    spam list, instead of adding an exception. Likewise, if the pattern for a
2801    spam command matches an entry on the nospam list, that nospam entry will
2802    be removed. If the pattern for nospam is ``*'', all entries on both lists
2803    will be removed. This might be the default action if you use spam and
2804    nospam in conjunction with a folder-hook.
2805
2806    You can have as many spam or nospam commands as you like. You can even do
2807    your own primitive spam detection within mutt -- for example, if you
2808    consider all mail from MAILER-DAEMON to be spam, you can use a spam
2809    command like this:
2810
2811  spam "^From: .*MAILER-DAEMON"       "999"
2812
2813 28. Setting variables
2814
2815    Usage: set [no|inv]variable[=value] [variable...]
2816
2817    Usage: togglevariable [variable...]
2818
2819    Usage: unsetvariable [variable...]
2820
2821    Usage: resetvariable [variable...]
2822
2823    This command is used to set (and unset) variables. There are four basic
2824    types of variables: boolean, number, string and quadoption. boolean
2825    variables can be set (true) or unset (false). number variables can be
2826    assigned a positive integer value.
2827
2828    string variables consist of any number of printable characters. strings
2829    must be enclosed in quotes if they contain spaces or tabs. You may also
2830    use the ``C'' escape sequences \n and \t for newline and tab,
2831    respectively.
2832
2833    quadoption variables are used to control whether or not to be prompted for
2834    certain actions, or to specify a default action. A value of yes will cause
2835    the action to be carried out automatically as if you had answered yes to
2836    the question. Similarly, a value of no will cause the the action to be
2837    carried out as if you had answered ``no.'' A value of ask-yes will cause a
2838    prompt with a default answer of ``yes'' and ask-no will provide a default
2839    answer of ``no.''
2840
2841    Prefixing a variable with ``no'' will unset it. Example: set noaskbcc .
2842
2843    For boolean variables, you may optionally prefix the variable name with
2844    inv to toggle the value (on or off). This is useful when writing macros.
2845    Example: set invsmart_wrap.
2846
2847    The toggle command automatically prepends the inv prefix to all specified
2848    variables.
2849
2850    The unset command automatically prepends the no prefix to all specified
2851    variables.
2852
2853    Using the enter-command function in the index menu, you can query the
2854    value of a variable by prefixing the name of the variable with a question
2855    mark:
2856
2857  set ?allow_8bit
2858
2859    The question mark is actually only required for boolean and quadoption
2860    variables.
2861
2862    The reset command resets all given variables to the compile time defaults
2863    (hopefully mentioned in this manual). If you use the command set and
2864    prefix the variable with ``&'' this has the same behavior as the reset
2865    command.
2866
2867    With the reset command there exists the special variable ``all'', which
2868    allows you to reset all variables to their system defaults.
2869
2870 29. Reading initialization commands from another file
2871
2872    Usage: sourcefilename [filename...]
2873
2874    This command allows the inclusion of initialization commands from other
2875    files. For example, I place all of my aliases in ~/.mail_aliases so that I
2876    can make my ~/.muttrc readable and keep my aliases private.
2877
2878    If the filename begins with a tilde (``~''), it will be expanded to the
2879    path of your home directory.
2880
2881    If the filename ends with a vertical bar (|), then filename is considered
2882    to be an executable program from which to read input (eg. source
2883    ~/bin/myscript|).
2884
2885 30. Removing hooks
2886
2887    Usage: unhook [* | hook-type]
2888
2889    This command permits you to flush hooks you have previously defined. You
2890    can either remove all hooks by giving the ``*'' character as an argument,
2891    or you can remove all hooks of a specific type by saying something like
2892    unhook send.
2893
2894 31. Sharing Setups
2895
2896   31.1. Character Sets
2897
2898    As users may run mutt-ng on different systems, the configuration must be
2899    maintained because it's likely that people want to use the setup
2900    everywhere they use mutt-ng. And mutt-ng tries to help where it can.
2901
2902    To not produce conflicts with different character sets, mutt-ng allows
2903    users to specify in which character set their configuration files are
2904    encoded. Please note that while reading the configuration files, this is
2905    only respected after the corresponding declaration appears. It's advised
2906    to put the following at the very beginning of a users muttngrc:
2907
2908  set config_charset = "..."
2909
2910    and replacing the dots with the actual character set. To avoid problems
2911    while maintaining the setup, vim(1) user's may want to use modelines as
2912    show in:
2913
2914  # vim:fileencoding=...:
2915
2916    while, again, replacing the dots with the appropriate name. This tells
2917    vim(1) as which character set to read and save the file.
2918
2919   31.2. Modularization
2920
2921    ``Modularization'' means to divide the setup into several files while
2922    sorting the options or commands by topic. Especially for longer setups
2923    (e.g. with many hooks), this helps maintaining it and solving trouble.
2924
2925    When using separation, setups may be, as a whole or in fractions, shared
2926    over different systems.
2927
2928   31.3. Conditional parts
2929
2930    When using a configuration on different systems, the user may not always
2931    have influence on how mutt-ng is installed and which features it includes.
2932
2933    To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
2934    written for mutt. Its basic syntax is:
2935
2936  ifdef <item> <command>
2937  ifndef <item> <command>
2938
2939    ...whereby <item> can be one of:
2940
2941      o a function name
2942
2943      o a variable name
2944
2945      o a menu name
2946
2947      o a feature name
2948
2949    All available functions, variables and menus are documented elsewhere in
2950    this manual but ``features'' is specific to these two commands. To test
2951    for one, prefix one of the following keywords with feature_: ncurses,
2952    slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl, gnutls,
2953    sasl, sasl2, libesmtp, compressed, color, classic_pgp, classic_smime,
2954    gpgme, header_cache
2955
2956    As an example, one can use the following in ~/.muttngrc:
2957
2958  ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
2959  ifdef feature_pop  'source ~/.mutt-ng/setup-pop'
2960  ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
2961
2962    ...to only source ~/.mutt-ng/setup-imap if IMAP support is built in, only
2963    source ~/.mutt-ng/setup-pop if POP support is built in and only source
2964    ~/.mutt-ng/setup-nntp if NNTP support is built in.
2965
2966    An example for testing for variable names can be used if users use
2967    different revisions of mutt-ng whereby the older one may not have a
2968    certain variable. To test for the availability of $imap_mail_check use:
2969
2970  ifdef imap_mail_check 'set imap_mail_check = 300'
2971
2972    Provided for completeness is the test for menu names. To set
2973    $pager_index_lines only if the pager menu is available, use:
2974
2975  ifdef pager 'set pager_index_lines = 10'
2976
2977    For completeness, too, the opposite of ifdef is provided: ifndef which
2978    only executes the command if the test fails. For example, the following
2979    two examples are equivalent:
2980
2981  ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
2982  ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
2983
2984    ...and...
2985
2986  ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
2987  ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
2988
2989 32. Obsolete Variables
2990
2991    In the process of ensuring and creating more consistency, many variables
2992    have been renamed and some of the old names were already removed. Please
2993    see sect-obsolete for a complete list.
2994
2995 Chapter 4. Advanced Usage
2996
2997    Table of Contents
2998
2999    1. Regular Expressions
3000
3001    2. Patterns
3002
3003                 2.1. Complex Patterns
3004
3005                 2.2. Patterns and Dates
3006
3007    3. Format Strings
3008
3009                 3.1. Introduction
3010
3011                 3.2. Conditional Expansion
3012
3013                 3.3. Modifications and Padding
3014
3015    4. Using Tags
3016
3017    5. Using Hooks
3018
3019                 5.1. Message Matching in Hooks
3020
3021    6. Using the sidebar
3022
3023    7. External Address Queries
3024
3025    8. Mailbox Formats
3026
3027    9. Mailbox Shortcuts
3028
3029    10. Handling Mailing Lists
3030
3031    11. Editing threads
3032
3033                 11.1. Linking threads
3034
3035                 11.2. Breaking threads
3036
3037    12. Delivery Status Notification (DSN) Support
3038
3039    13. POP3 Support (OPTIONAL)
3040
3041    14. IMAP Support (OPTIONAL)
3042
3043                 14.1. The Folder Browser
3044
3045                 14.2. Authentication
3046
3047    15. NNTP Support (OPTIONAL)
3048
3049                 15.1. Again: Scoring
3050
3051    16. SMTP Support (OPTIONAL)
3052
3053    17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
3054
3055    18. Start a WWW Browser on URLs (EXTERNAL)
3056
3057    19. Compressed folders Support (OPTIONAL)
3058
3059                 19.1. Open a compressed mailbox for reading
3060
3061                 19.2. Write a compressed mailbox
3062
3063                 19.3. Append a message to a compressed mailbox
3064
3065                 19.4. Encrypted folders
3066
3067 1. Regular Expressions
3068
3069    All string patterns in Mutt-ng including those in more complex patterns
3070    must be specified using regular expressions (regexp) in the ``POSIX
3071    extended'' syntax (which is more or less the syntax used by egrep and GNU
3072    awk). For your convenience, we have included below a brief description of
3073    this syntax.
3074
3075    The search is case sensitive if the pattern contains at least one upper
3076    case letter, and case insensitive otherwise. Note that ``\'' must be
3077    quoted if used for a regular expression in an initialization command:
3078    ``\\''.
3079
3080    A regular expression is a pattern that describes a set of strings. Regular
3081    expressions are constructed analogously to arithmetic expressions, by
3082    using various operators to combine smaller expressions.
3083
3084    Note that the regular expression can be enclosed/delimited by either " or
3085    ' which is useful if the regular expression includes a white-space
3086    character. See muttrc-syntax for more information on " and ' delimiter
3087    processing. To match a literal " or ' you must preface it with \
3088    (backslash).
3089
3090    The fundamental building blocks are the regular expressions that match a
3091    single character. Most characters, including all letters and digits, are
3092    regular expressions that match themselves. Any metacharacter with special
3093    meaning may be quoted by preceding it with a backslash.
3094
3095    The period ``.'' matches any single character. The caret ``^'' andthe
3096    dollar sign ``$'' are metacharacters that respectively match the empty
3097    string at the beginning and end of a line.
3098
3099    A list of characters enclosed by ``]'' and ``]'' matches any single
3100    character in that list; if the first character of the list is a caret
3101    ``^'' then it matches any character not in the list. For example, the
3102    regular expression ]0123456789] matches any single digit. A range of ASCII
3103    characters may be specified by giving the first and last characters,
3104    separated by a hyphen ``-''. Most metacharacters lose their special
3105    meaning inside lists. To include a literal ``]'' place it first in the
3106    list. Similarly, to include a literal ``^'' place it anywhere but first.
3107    Finally, to include a literal hyphen ``-'' place it last.
3108
3109    Certain named classes of characters are predefined. Character classes
3110    consist of ``[:'', a keyword denoting the class, and ``:]''. The following
3111    classes are defined by the POSIX standard:
3112
3113    [:alnum:]
3114
3115            Alphanumeric characters.
3116
3117    [:alpha:]
3118
3119            Alphabetic characters.
3120
3121    [:blank:]
3122
3123            Space or tab characters.
3124
3125    [:cntrl:]
3126
3127            Control characters.
3128
3129    [:digit:]
3130
3131            Numeric characters.
3132
3133    [:graph:]
3134
3135            Characters that are both printable and visible. (A space is
3136            printable, but not visible, while an ``a'' is both.)
3137
3138    [:lower:]
3139
3140            Lower-case alphabetic characters.
3141
3142    [:print:]
3143
3144            Printable characters (characters that are not control characters.)
3145
3146    [:punct:]
3147
3148            Punctuation characters (characters that are not letter, digits,
3149            control characters, or space characters).
3150
3151    [:space:]
3152
3153            Space characters (such as space, tab and formfeed, to name a few).
3154
3155    [:upper:]
3156
3157            Upper-case alphabetic characters.
3158
3159    [:xdigit:]
3160
3161            Characters that are hexadecimal digits.
3162
3163    A character class is only valid in a regular expression inside the
3164    brackets of a character list. Note that the brackets in these class names
3165    are part of the symbolic names, and must be included in addition to the
3166    brackets delimiting the bracket list. For example, [[:digit:]] is
3167    equivalent to [0-9].
3168
3169    Two additional special sequences can appear in character lists. These
3170    apply to non-ASCII character sets, which can have single symbols
3171    (calledcollating elements) that are represented with more than one
3172    character, as well as several characters that are equivalent for collating
3173    or sorting purposes:
3174
3175    Collating Symbols
3176
3177            A collating symbol is a multi-character collating element enclosed
3178            in ``[.'' and ``.]''. For example, if ``ch'' is a collating
3179            element, then [[.ch.]] is a regexp that matches this collating
3180            element, while [ch] is a regexp that matches either ``c'' or
3181            ``h''.
3182
3183    Equivalence Classes
3184
3185            An equivalence class is a locale-specific name for a list of
3186            characters that are equivalent. The name is enclosed in ``[='' and
3187            ``=]''. For example, the name ``e'' might be used to represent all
3188            of ``è'' ``é'' and ``e''. In this case, [[=e=]] is a regexp that
3189            matches any of ``è'', ``é'' and ``e''.
3190
3191    A regular expression matching a single character may be followed by one of
3192    several repetition operators:
3193
3194    ?
3195
3196            The preceding item is optional and matched at most once.
3197
3198    *
3199
3200            The preceding item will be matched zero or more times.
3201
3202    +
3203
3204            The preceding item will be matched one or more times.
3205
3206    {n}
3207
3208            The preceding item is matched exactly n times.
3209
3210    {n,}
3211
3212            The preceding item is matched n or more times.
3213
3214    {,m}
3215
3216            The preceding item is matched at most m times.
3217
3218    {n,m}
3219
3220            The preceding item is matched at least n times, but no more than m
3221            times.
3222
3223    Two regular expressions may be concatenated; the resulting regular
3224    expression matches any string formed by concatenating two substrings that
3225    respectively match the concatenated subexpressions.
3226
3227    Two regular expressions may be joined by the infix operator ``|''; the
3228    resulting regular expression matches any string matching either
3229    subexpression.
3230
3231    Repetition takes precedence over concatenation, which in turn takes
3232    precedence over alternation. A whole subexpression may be enclosed in
3233    parentheses to override these precedence rules.
3234
3235    Note: If you compile Mutt-ng with the GNU rx package, the following
3236    operators may also be used in regular expressions:
3237
3238    \\y
3239
3240            Matches the empty string at either the beginning or the end of a
3241            word.
3242
3243    \\B
3244
3245            Matches the empty string within a word.
3246
3247    \\<
3248
3249            Matches the empty string at the beginning of a word.
3250
3251    \\>
3252
3253            Matches the empty string at the end of a word.
3254
3255    \\w
3256
3257            Matches any word-constituent character (letter, digit, or
3258            underscore).
3259
3260    \\W
3261
3262            Matches any character that is not word-constituent.
3263
3264    \\`
3265
3266            Matches the empty string at the beginning of a buffer (string).
3267
3268    \\'
3269
3270            Matches the empty string at the end of a buffer.
3271
3272    Please note however that these operators are not defined by POSIX, so they
3273    may or may not be available in stock libraries on various systems.
3274
3275 2. Patterns
3276
3277    Mutt-ng's pattern language provides a simple yet effective way to set up
3278    rules to match messages, e.g. for operations like tagging and scoring. A
3279    pattern consists of one or more sub-pattern, which can be logically
3280    grouped, ORed, and negated. For a complete listing of these patterns,
3281    please refer to table patterns in the Reference chapter.
3282
3283    It must be noted that in this table, EXPR is a regular expression. For
3284    ranges, the forms <[MAX], >>[MIN], [MIN]- and -[MAX] are also possible.
3285
3286   2.1. Complex Patterns
3287
3288    It is possible to combine several sub-patterns to a more complex pattern.
3289    The most simple possibility is to logically AND several patterns by
3290    stringing them together:
3291
3292  ~s 'SPAM' ~U
3293
3294    The pattern above matches all messages that contain ``SPAM'' in the
3295    subject and are unread.
3296
3297    To logical OR patterns, simply use the | operator. This one especially
3298    useful when using local groups:
3299
3300  ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
3301  (~b mutt-ng|~s Mutt-ng)
3302  !~x '@synflood\.at'
3303
3304    The first pattern matches all messages that were sent by one of the
3305    mutt-ng maintainers, while the seconds pattern matches all messages that
3306    contain ``mutt-ng'' in the message body or ``Mutt-ng'' in the subject. The
3307    third pattern matches all messages that do not contain ``@synflood\.at''
3308    in the References: header, i.e. messages that are not an (indirect) reply
3309    to one of my messages. A pattern can be logicall negated using the !
3310    operator.
3311
3312   2.2. Patterns and Dates
3313
3314    When using dates in patterns, the dates must be specified in a special
3315    format, i.e. DD/MM/YYYY. If you don't specify month or year, they default
3316    to the current month or year. When using date ranges, and you specify only
3317    the minimum or the maximum, the specified date will be excluded, e.g.
3318    01/06/2005- matches against all messages after Juni 1st, 2005.
3319
3320    It is also possible to use so-called ``error margins'' when specifying
3321    date ranges. You simply specify a date, and then the error margin. This
3322    margin needs to contain the information whether it goes ``forth'' or
3323    ``back'' in time, by using + and -. Then follows a number and a unit, i.e.
3324    y for years, m for months, w for weeks and d for days. If you use the
3325    special * sign, it means that the error margin goes to both``directions''
3326    in time.
3327
3328  ~d 01/01/2005+1y
3329  ~d 18/10/2004-2w
3330  ~d 28/12/2004*1d
3331
3332    The first pattern matches all dates between January 1st, 2005 and January
3333    1st 2006. The second pattern matches all dates between October 18th, 2004
3334    and October 4th 2004 (2 weeks before 18/10/2004), while the third pattern
3335    matches all dates 1 day around December 28th, 2004 (i.e. Dec 27th, 28th
3336    and 29th).
3337
3338    Relative dates are also very important, as they make it possible to
3339    specify date ranges between a fixed number of units and the current date.
3340    How this works can be seen in the following example:
3341
3342  ~d >2w # messages older than two weeks
3343  ~d <3d # messages newer than 3 days
3344  ~d =1m # messages that are exactly one month old
3345
3346 3. Format Strings
3347
3348   3.1. Introduction
3349
3350    The so called Format Strings offer great flexibility when configuring
3351    mutt-ng. In short, they describe what items to print out how in menus and
3352    status messages.
3353
3354    Basically, they work as this: for different menus and bars, there's a
3355    variable specifying the layout. For every item available, there is a so
3356    called expando.
3357
3358    For example, when running mutt-ng on different machines or different
3359    versions for testing purposes, it may be interesting to have the following
3360    information always printed on screen when one is in the index:
3361
3362      o the current hostname
3363
3364      o the current mutt-ng version number
3365
3366    The setting for the status bar of the index is controlled via the
3367    $status_format variable. For the hostname and version string, there's an
3368    expando for $status_format: %h expands to the hostname and %v to the
3369    version string. When just configuring:
3370
3371  set status_format = "%v on %h: ..."
3372
3373    mutt-ng will replace the sequence %v with the version string and %h with
3374    the host's name. When you are, for example, running mutt-ng version 1.5.9i
3375    on host mailhost, you'll see the following when you're in the index:
3376
3377  Mutt-ng 1.5.9i on mailhost: ...
3378
3379    In the index, there're more useful information one could want to see:
3380
3381      o which mailbox is open
3382
3383      o how man new, flagged or postponed messages
3384
3385      o ...
3386
3387    To include the mailbox' name is as easy as:
3388
3389  set status_format = "%v on %h: %B: ...
3390
3391    When the currently opened mailbox is Inbox, this will be expanded to:
3392
3393  Mutt-ng 1.5.9i on mailhost: Inbox: ...
3394
3395    For the number of certain types of messages, one more feature of the
3396    format strings is extremely useful. If there aren't messages of a certain
3397    type, it may not be desired to print just that there aren't any but
3398    instead only print something if there are any.
3399
3400   3.2. Conditional Expansion
3401
3402    To only print the number of messages if there are new messages in the
3403    current mailbox, further extend $status_format to:
3404
3405  set status_format = "%v on %h: %B %?n?%n new? ...
3406
3407    This feature is called nonzero-printing and works as this: some expandos
3408    may be optionally printed nonzero, i.e. a portion of the format string is
3409    only evaluated if the value of the expando is different from zero. The
3410    basic syntax is:
3411
3412  %?<item>?<string if nonzero>?
3413
3414    which tells mutt-ng to only look at <string if nonzero> if the value of
3415    the %<item%gt; expando is different from zero. In our example, we used n
3416    as the expando to check for and %n new as the optional nonzero string.
3417
3418    But this is not all: this feature only offers one alternative: ``print
3419    something if not zero.'' Mutt-ng does, as you might guess, also provide a
3420    logically complete version: ``if zero, print something and else print
3421    something else.'' This is achieved by the following syntax for those
3422    expandos which may be printed nonzero:
3423
3424  %?<item>?<string if nonzero>&<string if zero>?
3425
3426    Using this we can make mutt-ng to do the following:
3427
3428      o make it print ``n new messages'' whereby n is the count but only if
3429        there new ones
3430
3431      o and make it print ``no new messages'' if there aren't any
3432
3433    The corresponding configuration is:
3434
3435  set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
3436
3437    This doubles the use of the ``new messages'' string because it'll get
3438    always printed. Thus, it can be shortened to:
3439
3440  set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
3441
3442    As you might see from this rather simple example, one can create very
3443    complex but fancy status messages. Please see the reference chapter for
3444    expandos and those which may be printed nonzero.
3445
3446   3.3. Modifications and Padding
3447
3448    Besides the information given so far, there're even more features of
3449    format strings:
3450
3451      o When specifying %_<item> instead of just %<item>, mutt-ng will convert
3452        all characters in the expansion of <item> to lowercase.
3453
3454      o When specifying %:<item> instead of just %<item>, mutt-ng will convert
3455        all dots in the expansion of <item> to underscores (_).
3456
3457    Also, there's a feature called Padding supplied by the following two
3458    expandos: %|X and %>X .
3459
3460    %|X
3461
3462            When this occurs, mutt-ng will fill the rest of the line with the
3463            character X. In our example, filling the rest of the line with
3464            dashes is done by setting:
3465
3466  set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
3467
3468    %>X
3469
3470            Since the previous expando stops at the end of line, there must be
3471            a way to fill the gap between two items via the %>X expando: it
3472            puts as many characters X in between two items so that the rest of
3473            the line will be right-justified. For example, to not put the
3474            version string and hostname of our example on the left but on the
3475            right and fill the gap with spaces, one might use (note the space
3476            after %>):
3477
3478  set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
3479
3480 4. Using Tags
3481
3482    Sometimes it is desirable to perform an operation on a group of messages
3483    all at once rather than one at a time. An example might be to save
3484    messages to a mailing list to a separate folder, or to delete all messages
3485    with a given subject. To tag all messages matching a pattern, use the
3486    tag-pattern function, which is bound to ``shift-T'' by default. Or you can
3487    select individual messages by hand using the ``tag-message'' function,
3488    which is bound to ``t'' by default. See patterns for Mutt-ng's pattern
3489    matching syntax.
3490
3491    Once you have tagged the desired messages, you can use the ``tag-prefix''
3492    operator, which is the ``;'' (semicolon) key by default. When the
3493    ``tag-prefix'' operator is used, the next operation will be applied to all
3494    tagged messages if that operation can be used in that manner. If the
3495    $auto_tag variable is set, the next operation applies to the tagged
3496    messages automatically, without requiring the ``tag-prefix''.
3497
3498    In macro or push commands, you can use the ``tag-prefix-cond'' operator.
3499    If there are no tagged messages, mutt will "eat" the rest of the macro to
3500    abort it's execution.Mutt-ng will stop "eating" the macro when it
3501    encounters the ``end-cond'' operator; after this operator the rest of the
3502    macro will be executed asnormal.
3503
3504 5. Using Hooks
3505
3506    A hook is a concept borrowed from the EMACS editor which allows you to
3507    execute arbitrary commands before performing some operation. For example,
3508    you may wish to tailor your configuration based upon which mailbox you are
3509    reading, or to whom you are sending mail. In the Mutt-ng world, a hook
3510    consists of a regexp or patterns along with a configuration
3511    option/command. See
3512
3513      o folder-hook
3514
3515      o send-hook
3516
3517      o message-hook
3518
3519      o save-hook
3520
3521      o mbox-hook
3522
3523      o fcc-hook
3524
3525      o fcc-save-hook
3526
3527    for specific details on each type of hook available.
3528
3529    Note: if a hook changes configuration settings, these changes remain
3530    effective until the end of the current mutt session. As this is generally
3531    not desired, a default hook needs to be added before all other hooks to
3532    restore configuration defaults. Here is an example with send-hook and the
3533    my_hdr directive:
3534
3535  send-hook . 'unmy_hdr From:'
3536  send-hook ~C'^b@b\.b$' my-hdr from: c@c.c
3537
3538   5.1. Message Matching in Hooks
3539
3540    Hooks that act upon messages (send-hook, save-hook, fcc-hook,message-hook
3541    )are evaluated in a slightly different manner. For the other types of
3542    hooks, a regexp is sufficient. But in dealing with messages a finer grain
3543    of control is needed for matching since for different purposes you want to
3544    match different criteria.
3545
3546    Mutt-ng allows the use of the patterns language for matching messages in
3547    hook commands. This works in exactly the same way as it would when
3548    limiting orsearching the mailbox, except that you are restricted to those
3549    operators which match information mutt extracts from the header of the
3550    message (i.e. from, to, cc, date, subject, etc.).
3551
3552    For example, if you wanted to set your return address based upon sending
3553    mail to a specific address, you could do something like:
3554
3555  send-hook '~t ^me@cs\.hmc\.edu$' 'my-hdr From: Mutt-ng User <user@host>'
3556
3557    which would execute the given command when sending mail to me@cs.hmc.edu.
3558
3559    However, it is not required that you write the pattern to match using the
3560    full searching language. You can still specify a simple regular expression
3561    like the other hooks, in which case Mutt-ng will translate your pattern
3562    into the full language, using the translation specified by the
3563    default-hook variable. The pattern is translated at the time the hook is
3564    declared, so the value of default-hook that is in effect at that time will
3565    be used.
3566
3567 6. Using the sidebar
3568
3569    The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
3570    listing which looks very similar to the ones you probably know from GUI
3571    mail clients. The sidebar lists all specified mailboxes, shows the number
3572    in each and highlights the ones with new email Use the following
3573    configuration commands:
3574
3575  set sidebar_visible="yes"
3576  set sidebar_width=25
3577
3578    If you want to specify the mailboxes you can do so with:
3579
3580  set mbox='=INBOX'
3581  mailboxes INBOX \
3582  MBOX1 \
3583  MBOX2 \
3584  ...
3585
3586    You can also specify the colors for mailboxes with new mails by using:
3587
3588  color sidebar_new red black
3589  color sidebar white black
3590
3591    Reasonable key bindings look e.g. like this:
3592
3593  bind index \Cp sidebar-prev
3594  bind index \Cn sidebar-next
3595  bind index \Cb sidebar-open
3596  bind pager \Cp sidebar-prev
3597  bind pager \Cn sidebar-next
3598  bind pager \Cb sidebar-open
3599
3600  macro index B ':toggle sidebar_visible^M'
3601  macro pager B ':toggle sidebar_visible^M'
3602
3603    You can then go up and down by pressing Ctrl-P and Ctrl-N, and switch on
3604    and off the sidebar simply by pressing 'B'.
3605
3606 7. External Address Queries
3607
3608    Mutt-ng supports connecting to external directory databases such as LDAP,
3609    ph/qi, bbdb, or NIS through a wrapper script which connects to mutt using
3610    a simple interface. Using the $query_command variable, you specify the
3611    wrapper command to use. For example:
3612
3613  set query_command = "mutt_ldap_query.pl '%s'"
3614
3615    The wrapper script should accept the query on the command-line. It should
3616    return a one line message, then each matching response on a single line,
3617    each line containing a tab separated address then name thensome other
3618    optional information. On error, or if there are no matching addresses,
3619    return a non-zero exit code and a one line error message.
3620
3621    An example multiple response output:
3622
3623  Searching database ... 20 entries ... 3 matching:
3624  me@cs.hmc.edu           Michael Elkins  mutt dude
3625  blong@fiction.net       Brandon Long    mutt and more
3626  roessler@guug.de        Thomas Roessler mutt pgp
3627
3628    There are two mechanisms for accessing the query function of mutt. One is
3629    to do a query from the index menu using the query function (default: Q).
3630    This will prompt for a query, then bring up the query menu which will list
3631    the matching responses. From the query menu, you can select addresses to
3632    create aliases, or to mail. You can tag multiple addressesto mail, start a
3633    new query, or have a new query appended to the current responses.
3634
3635    The other mechanism for accessing the query function is for address
3636    completion, similar to the alias completion. In any prompt for address
3637    entry, you can use the complete-query function (default: ^T) to run a
3638    query based on the current address you have typed. Like aliases, mutt will
3639    look for what you have typed back to the last space or comma. If there is
3640    a single response for that query, mutt will expand the address in place.
3641    If there are multiple responses, mutt will activate the querymenu. At the
3642    query menu, you can select one or more addresses to be added to the
3643    prompt.
3644
3645 8. Mailbox Formats
3646
3647    Mutt-ng supports reading and writing of four different mailbox formats:
3648    mbox, MMDF, MH and Maildir. The mailbox type is autodetected, so there is
3649    no need to use a flag for different mailbox types. When creating
3650    newmailboxes, Mutt-ng uses the default specified with the $mbox_type
3651    variable.
3652
3653    mbox. This is the most widely used mailbox format for UNIX. All messages
3654    are stored in a single file. Each message has a line of the form:
3655
3656  From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
3657
3658    to denote the start of a new message (this is often referred to as the
3659    ``From_'' line).
3660
3661    MMDF. This is a variant of the mbox format. Each message is surrounded by
3662    lines containing ``^A^A^A^A'' (four control-A's).
3663
3664    MH. A radical departure from mbox and MMDF, a mailbox consists of a
3665    directory and each message is stored in a separate file. The filename
3666    indicates the message number (however, this is may not correspond to the
3667    message number Mutt-ng displays). Deleted messages arerenamed with a comma
3668    (,) prepended to the filename. Note: Mutt detects this type of mailbox by
3669    looking for either .mh_sequences or .xmhcache (needed to distinguish
3670    normal directories from MH mailboxes).
3671
3672    Maildir. The newest of the mailbox formats, used by the Qmail MTA (a
3673    replacement for sendmail). Similar to MH, except that it adds three
3674    subdirectories of the mailbox: tmp, new and cur .Filenames for the
3675    messages are chosen in such a way they are unique, even when twoprograms
3676    are writing the mailbox over NFS, which means that no file locking is
3677    needed.
3678
3679 9. Mailbox Shortcuts
3680
3681    There are a number of built in shortcuts which refer to specific
3682    mailboxes. These shortcuts can be used anywhere you are prompted for a
3683    file or mailbox path.
3684
3685      o ! -- refers to your $spoolfile (incoming) mailbox
3686
3687      o > -- refers to your $mbox file
3688
3689      o < -- refers to your $record file
3690
3691      o ^ -- refers to the current mailbox
3692
3693      o - or !! -- refers to the file you've last visited
3694
3695      o ~ -- refers to your home directory
3696
3697      o = or + -- refers to your $folder directory
3698
3699      o @alias -- refers to the save-hook as determined by the address of the
3700        alias
3701
3702 10. Handling Mailing Lists
3703
3704    Mutt-ng has a few configuration options that make dealing with large
3705    amounts of mail easier. The first thing you must do is to let Mutt know
3706    what addresses you consider to be mailing lists (technically this does not
3707    have to be a mailing list, but that is what it is most often used for),
3708    and what lists you are subscribed to. This is accomplished through the use
3709    of the lists commands in your muttrc.
3710
3711    Now that Mutt-ng knows what your mailing lists are, it can do several
3712    things, the first of which is the ability to show the name of a list
3713    through which you received a message (i.e., of a subscribed list) in the
3714    index menu display. This is useful to distinguish between personal and
3715    list mail in the same mailbox. In the $index_format variable, the escape
3716    ``%L'' will return the string ``To <list>'' when ``list'' appears in the
3717    ``To'' field, and ``Cc <list>'' when it appears in the ``Cc'' field
3718    (otherwise it returns the name of the author).
3719
3720    Often times the ``To'' and ``Cc'' fields in mailing list messages tend to
3721    get quite large. Most people do not bother to remove the author of the
3722    message they are reply to from the list, resulting in two or more copies
3723    being sent to that person. The ``list-reply'' function, which by default
3724    is bound to ``L'' in the index menu and pager, helps reduce the clutter by
3725    only replying to the known mailing list addresses instead of all
3726    recipients (except as specified by Mail-Followup-To, see below).
3727
3728    Mutt-ng also supports the Mail-Followup-To header. When you send a message
3729    to a list of recipients which includes one or several subscribed mailing
3730    lists, and if the $followup_to option is set, mutt will generate a
3731    Mail-Followup-To header which contains all the recipients to whom you send
3732    this message, but not your address. This indicates that group-replies or
3733    list-replies (also known as ``followups'') to this message should only be
3734    sent to the original recipients of the message, and not separately to you
3735    - you'll receive your copy through one of the mailing lists you are
3736    subscribed to.
3737
3738    Conversely, when group-replying or list-replying to a message which has a
3739    Mail-Followup-To header, mutt will respect this header if the
3740    $honor_followup_to configuration variable is set. Using list-reply will in
3741    this case also make sure that the reply goes to the mailing list, even if
3742    it's not specified in the list of recipients in the Mail-Followup-To.
3743
3744    Note that, when header editing is enabled, you can create a
3745    Mail-Followup-To header manually. Mutt-ng will only auto-generate this
3746    header if it doesn't exist when you send the message.
3747
3748    The other method some mailing list admins use is to generate a
3749    ``Reply-To'' field which points back to the mailing list address rather
3750    than the author of the message. This can create problems when trying to
3751    reply directly to the author in private, since most mail clients will
3752    automatically reply to the address given in the ``Reply-To'' field.
3753    Mutt-ng uses the $reply_to variable to help decide which address to use.
3754    If set to ask-yes or ask-no, you will be prompted as to whether or not you
3755    would like to use the address given inthe ``Reply-To'' field, or reply
3756    directly to the address given in the ``From'' field. When set to yes, the
3757    ``Reply-To'' field will be used when present.
3758
3759    The ``X-Label:'' header field can be used to further identify mailing
3760    lists or list subject matter (or just to annotate messages individually).
3761    The $index_format variable's ``%y'' and ``%Y'' escapes can be used to
3762    expand ``X-Label:'' fields in the index, and Mutt-ng's pattern-matcher can
3763    match regular expressions to ``X-Label:'' fields with the ``~y'' selector.
3764    ``X-Label:'' is not a standard message header field, but it can easily be
3765    inserted by procmailand other mail filtering agents.
3766
3767    Lastly, Mutt-ng has the ability to sort the mailbox into threads. A thread
3768    is a group of messages which all relate to the same subject. This is
3769    usually organized into a tree-like structure where a message and all of
3770    its replies are represented graphically. If you've ever used a threaded
3771    news client, this is the same concept. It makes dealingwith large volume
3772    mailing lists easier because you can easily delete uninteresting threads
3773    and quickly find topics of value.
3774
3775 11. Editing threads
3776
3777    Mutt-ng has the ability to dynamically restructure threads that are broken
3778    either by misconfigured software or bad behavior from some correspondents.
3779    This allows to clean your mailboxes formats) from these annoyances which
3780    make it hard to follow a discussion.
3781
3782   11.1. Linking threads
3783
3784    Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
3785    "References:" headers when replying to a message. This results in broken
3786    discussions because Mutt-ng has not enough information to guess the
3787    correct threading. You can fix this by tagging the reply, then moving to
3788    the parent message and using the ``link-threads'' function (bound to & by
3789    default). The reply will then be connected to this "parent" message.
3790
3791    You can also connect multiple children at once, tagging them and using the
3792    tag-prefix command (';') or the auto_tag option.
3793
3794   11.2. Breaking threads
3795
3796    On mailing lists, some people are in the bad habit of starting a new
3797    discussion by hitting "reply" to any message from the list and changing
3798    the subject to a totally unrelated one. You can fix such threads by using
3799    the ``break-thread'' function (boundby default to #), which will turn the
3800    subthread starting from the current message into a whole different thread.
3801
3802 12. Delivery Status Notification (DSN) Support
3803
3804    RfC 1894 defines a set of MIME content types for relaying information
3805    about the status of electronic mail messages. These can be thought of as
3806    ``return receipts.''
3807
3808    Users can make use of it in one of the following two ways:
3809
3810      o Berkeley sendmail 8.8.x currently has some command line options in
3811        which the mail client can make requests as to what type of status
3812        messages should be returned.
3813
3814      o The SMTP support via libESMTP supports it, too.
3815
3816    To support this, there are two variables:
3817
3818      o $dsn_notify is used to request receipts for different results (such as
3819        failed message,message delivered, etc.).
3820
3821      o $dsn_return requests how much of your message should be returned with
3822        the receipt (headers or full message).
3823
3824    Please see the reference chapter for possible values.
3825
3826 13. POP3 Support (OPTIONAL)
3827
3828    If Mutt-ng was compiled with POP3 support (by running the configure script
3829    with the --enable-pop flag), it has the ability to work with mailboxes
3830    located on a remote POP3 server and fetch mail for local browsing.
3831
3832    You can access the remote POP3 mailbox by selecting the folder
3833    pop://popserver/.
3834
3835    You can select an alternative port by specifying it with the server, i.e.:
3836    pop://popserver:port/.
3837
3838    You can also specify different username for each folder, i.e.:
3839    pop://username@popserver[:port]/.
3840
3841    Polling for new mail is more expensive over POP3 than locally. For this
3842    reason the frequency at which Mutt-ng will check for mail remotely can be
3843    controlled by the $pop_mail_check variable, which defaults to every 60
3844    seconds.
3845
3846    If Mutt-ng was compiled with SSL support (by running the configure script
3847    with the --with-ssl flag), connections to POP3 servers can be encrypted.
3848    This naturally requires that the server supports SSL encrypted
3849    connections. To access a folder with POP3/SSL, you should use pops:
3850    prefix, ie: pops://[username@]popserver[:port]/.
3851
3852    Another way to access your POP3 mail is the fetch-mail function (default:
3853    G). It allows to connect to pop-host ,fetch all your new mail and place it
3854    in the local $spoolfile. After this point, Mutt-ng runs exactly as if the
3855    mail had always been local.
3856
3857    Note: If you only need to fetch all messages to local mailbox you should
3858    consider using a specialized program, such as fetchmail(1).
3859
3860 14. IMAP Support (OPTIONAL)
3861
3862    If Mutt-ng was compiled with IMAP support (by running the configure script
3863    with the --enable-imap flag), it has the ability to work with folders
3864    located on a remote IMAP server.
3865
3866    You can access the remote inbox by selecting the folder via its URL:
3867
3868  imap://imapserver/INBOX
3869
3870    where imapserver is the name of the IMAP server and INBOX is the special
3871    name for your spool mailbox on the IMAP server. If you want to access
3872    another mail folder at the IMAP server, you should use
3873
3874  imap://imapserver/path/to/folder
3875
3876    where path/to/folder is the path of the folder you want to access. You can
3877    select an alternative port by specifying it with the server, i.e.:
3878
3879  imap://imapserver:port/INBOX
3880
3881    You can also specify different username for each folder by prenpending
3882    your username and an @ symbol to the server's name.
3883
3884    If Mutt-ng was compiled with SSL support (by running the configure script
3885    with the --with-ssl flag), connections to IMAP servers can be encrypted.
3886    This naturally requires that the server supports SSL encrypted
3887    connections. To access a folder with IMAP/SSL, you only need to substitute
3888    the initial imap:// by imaps:// in the above examples.
3889
3890    Note that not all servers use / as the hierarchy separator. Mutt-ng should
3891    correctly notice which separator is being used by the server and
3892    convertpaths accordingly.
3893
3894    When browsing folders on an IMAP server, you can toggle whether to look at
3895    only the folders you are subscribed to, or all folders with the
3896    toggle-subscribed command. See also the $imap_list_subscribed variable.
3897
3898    Polling for new mail on an IMAP server can cause noticeable delays. So,
3899    you'll want to carefully tune the $imap_mail_check and $timeout variables.
3900
3901    Note that if you are using mbox as the mail store on UW servers prior
3902    tov12.250, the server has been reported to disconnect a client if another
3903    client selects the same folder.
3904
3905   14.1. The Folder Browser
3906
3907    As of version 1.2, mutt supports browsing mailboxes on an IMAP server.
3908    This is mostly the same as the local file browser, with the following
3909    differences:
3910
3911      o Instead of file permissions, mutt displays the string "IMAP", possibly
3912        followed by the symbol "+", indicating that the entry contains both
3913        messages and subfolders. On Cyrus-like servers folders will often
3914        contain both messages and subfolders.
3915
3916      o For the case where an entry can contain both messages and subfolders,
3917        the selection key (bound to enter by default) will choose to descend
3918        into the subfolder view. If you wish to view the messages in that
3919        folder, you must use view-file instead (bound to space by default).
3920
3921      o You can create, delete and rename mailboxes with the create-mailbox,
3922        delete-mailbox, and rename-mailbox commands (default bindings: C , d
3923        and r, respectively). You may also subscribe and unsubscribe to
3924        mailboxes (normally these are bound to s and u, respectively).
3925
3926   14.2. Authentication
3927
3928    Mutt-ng supports four authentication methods with IMAP servers: SASL,
3929    GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM
3930    authentication for you poor exchange users out there, but it has yet to be
3931    integrated into the main tree). There is also support for the
3932    pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
3933    server without having an account. To use ANONYMOUS, simply make your
3934    username blank or "anonymous".
3935
3936    SASL is a special super-authenticator, which selects among several
3937    protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
3938    secure method available on your host and the server. Using some of these
3939    methods (including DIGEST-MD5 and possibly GSSAPI), your entire session
3940    will be encrypted and invisible to those teeming network snoops. It is the
3941    best option if you have it. To use it, you must have the Cyrus SASL
3942    libraryinstalled on your system and compile mutt with the --with-sasl
3943    flag.
3944
3945    Mutt-ng will try whichever methods are compiled in and available on the
3946    server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
3947
3948    There are a few variables which control authentication:
3949
3950      o $imap_user - controls the username under which you request
3951        authentication on the IMAP server, for all authenticators. This is
3952        overridden by an explicit username in the mailbox path (i.e. by using
3953        a mailbox name of the form {user@host}).
3954
3955      o $imap_pass - a password which you may preset, used by all
3956        authentication methods where a password is needed.
3957
3958      o $imap_authenticators - a colon-delimited list of IMAP authentication
3959        methods to try, in the order you wish to try them. If specified, this
3960        overrides mutt's default (attempt everything, in the order listed
3961        above).
3962
3963 15. NNTP Support (OPTIONAL)
3964
3965    If compiled with ``--enable-nntp'' option, Mutt-ng can read news from a
3966    newsserver via NNTP. You can open a newsgroup with the
3967    ``change-newsgroup'' function from the index/pager which is by default
3968    bound to i.
3969
3970    The Default newsserver can be obtained from the $NNTPSERVER environment
3971    variable. Like other news readers, info about subscribed newsgroups is
3972    saved in a file as specified by the $nntp_newsrc variable. Article headers
3973    are cached and can be loaded from a file when a newsgroup is entered
3974    instead loading from newsserver; currently, this caching mechanism still
3975    is different from the header caching for maildir/IMAP.
3976
3977   15.1. Again: Scoring
3978
3979    Especially for Usenet, people often ask for advanced filtering and scoring
3980    functionality. Of course, mutt-ng has scoring and allows a killfile, too.
3981    How to use a killfile has been discussed in Message Scoring.
3982
3983    What has not been discusses in detail is mutt-ng's built-in realname
3984    filter. For may newsreaders including those for ``advanced users'' like
3985    slrn or tin, there are frequent request for such functionality. The
3986    solutions offered often are complicated regular expressions.
3987
3988    In mutt-ng this is as easy as
3989
3990  score ~* =42
3991
3992    This tells mutt-ng to apply a score of 42 to all messages whose sender
3993    specified a valid realname and a valid email address. Using
3994
3995  score !~* =42
3996
3997    on the contrary applies a score of 42 to all messages not matching those
3998    criteria which are very strict:
3999
4000      o Email addresses must be valid according to RfC 2822
4001
4002      o the name must consist of at least 2 fields whereby a field must not
4003        end in a dot. This means that ``Joe User'' and ``Joe A.User'' are
4004        valid while ``J. User'' and ``J. A. User'' aren't.
4005
4006      o it's assumed that users are interested in reading their own mail and
4007        mail from people who they have defined an alias forso that those 2
4008        groups of messages are excluded from the strict rules.
4009
4010 16. SMTP Support (OPTIONAL)
4011
4012    Mutt-ng can be built using a library called ``libESMTP'' which provides
4013    SMTP functionality. When configure was called with --with-libesmtp or the
4014    output muttng -v contains +USE_LIBESMTP, this will be or is the case
4015    already. The SMTP support includes support for Delivery Status
4016    Notification (see dsn section) as well as handling the 8BITMIME flag
4017    controlled via $use_8bitmime.
4018
4019    To enable sending mail directly via SMTP without an MTA such as Postfix or
4020    SSMTP and the like, simply set the $smtp_host variable pointing to your
4021    SMTP server.
4022
4023    Authentication mechanisms are available via the $smtp_user and $smtp_pass
4024    variables.
4025
4026    Transport Encryption via the StartTLS command is also available. For this
4027    to work, first of all Mutt-ng must be built with SSL or GNUTLS. Secondly,
4028    the $smtp_use_tls variable must be either set to ``enabled'' or
4029    ``required.'' In both cases, StartTLS will be used if the server supports
4030    it: for the second case, the connection will fail ifit doesn't while
4031    switching back to unencrypted communication for the first one.
4032
4033    Some mail providers require user's to set a particular envelope sender,
4034    i.e. they allow for only one value which may not be what the user wants to
4035    send as the From: header. In this case, the variable $smtp_envelope may be
4036    used to set the envelope different from the From: header.
4037
4038 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
4039
4040    If you happen to have accounts on multiple IMAP and/or POP servers, you
4041    may find managing all the authentication settings inconvenient and
4042    error-prone. The account-hook command may help. This hook works like
4043    folder-hook but is invoked whenever you access a remote mailbox (including
4044    inside the folder browser), not just when you open the mailbox.
4045
4046    Some examples:
4047
4048  account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
4049  account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
4050  account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
4051
4052 18. Start a WWW Browser on URLs (EXTERNAL)
4053
4054    If a message contains URLs (unified resource locator = address in the WWW
4055    space like http://www.mutt.org/), it is efficient to get a menu with all
4056    the URLs and start a WWW browser on one of them. This functionality is
4057    provided by the external urlview program which can be retrieved at
4058    <ftp://ftp.mutt.org/mutt/contrib/> and the configuration commands:
4059
4060  macro index \cb |urlview\n
4061  macro pager \cb |urlview\n
4062
4063 19. Compressed folders Support (OPTIONAL)
4064
4065    If Mutt-ng was compiled with compressed folders support (by running the
4066    configure script with the --enable-compressed flag), Mutt can open folders
4067    stored in an arbitrary format, provided that the user has a script to
4068    convert from/to this format to one of the accepted.
4069
4070    The most common use is to open compressed archived folders e.g. with gzip.
4071
4072    In addition, the user can provide a script that gets a folder in an
4073    accepted format and appends its context to the folder in the user-defined
4074    format, which may be faster than converting the entire folder to the
4075    accepted format, appending to it and converting back to the user-defined
4076    format.
4077
4078    There are three hooks defined (open-hook, close-hook and append-hook
4079    )which define commands to uncompress and compress a folder and to append
4080    messages to an existing compressed folder respectively.
4081
4082    For example:
4083
4084  open-hook \\.gz$ "gzip -cd %f > %t"
4085  close-hook \\.gz$ "gzip -c %t > %f"
4086  append-hook \\.gz$ "gzip -c %t >> %f"
4087
4088    You do not have to specify all of the commands. If you omit append-hook
4089    ,the folder will be open and closed again each time you will add to it. If
4090    you omit close-hook (or give empty command) , the folder will be open in
4091    the mode. If you specify append-hook though you'll be able to append to
4092    the folder.
4093
4094    Note that Mutt-ng will only try to use hooks if the file is not in one of
4095    the accepted formats. In particular, if the file is empty, mutt supposes
4096    it is not compressed. This is important because it allows the use of
4097    programs that do not have well defined extensions. Just use "." as a
4098    regexp. But this may be surprising if your compressing script produces
4099    empty files. In this situation, unset $save_empty ,so that the compressed
4100    file will be removed if you delete all of the messages.
4101
4102   19.1. Open a compressed mailbox for reading
4103
4104    Usage: open-hookregexp "command"
4105
4106    The command is the command that can be used for opening the folders whose
4107    names match regexp.
4108
4109    The command string is the printf-like format string, and it should accept
4110    two parameters: %f, which is replaced with the (compressed) folder name,
4111    and %t which is replaced with the name of the temporary folder to which to
4112    write.
4113
4114    %f and %t can be repeated any number of times in the command string, and
4115    all of the entries are replaced with the appropriate folder name. In
4116    addition, %% is replaced by %, as in printf, and any other %anything is
4117    left as is.
4118
4119    The command should not remove the original compressed file. The command
4120    should return non-zero exit status if it fails, so mutt knows something's
4121    wrong.
4122
4123    Example:
4124
4125  open-hook \\.gz$ "gzip -cd %f > %t"
4126
4127    If the command is empty, this operation is disabled for this file type.
4128
4129   19.2. Write a compressed mailbox
4130
4131    Usage: close-hookregexp"command"
4132
4133    This is used to close the folder that was open with the open-hook command
4134    after some changes were made to it.
4135
4136    The command string is the command that can be used for closing the folders
4137    whose names match regexp. It has the same format as in the open-hook
4138    command. Temporary folder in this case is the folder previously produced
4139    by the open-hook command.
4140
4141    The command should not remove the decompressed file. The command should
4142    return non-zero exit status if it fails, so mutt knows something's wrong.
4143
4144    Example:
4145
4146  close-hook \\.gz$ "gzip -c %t > %f"
4147
4148    If the command is empty, this operation is disabled for this file type,
4149    and the file can only be open in the readonly mode.
4150
4151    close-hook is not called when you exit from the folder if the folder was
4152    not changed.
4153
4154   19.3. Append a message to a compressed mailbox
4155
4156    Usage: append-hookregexp"command"
4157
4158    This command is used for saving to an existing compressed folder. The
4159    command is the command that can be used for appending to the folders whose
4160    names match regexp. It has the same format as in the open-hook command.
4161    The temporary folder in this case contains the messages that are
4162    beingappended.
4163
4164    The command should not remove the decompressed file. The command should
4165    return non-zero exit status if it fails, so mutt knows something's wrong.
4166
4167    Example:
4168
4169  append-hook \\.gz$ "gzip -c %t >> %f"
4170
4171    When append-hook is used, the folder is not opened, which saves time, but
4172    this means that we can not find out what the folder type is. Thus the
4173    default ($mbox_type )type is always supposed (i.e. this is the format used
4174    for the temporary folder).
4175
4176    If the file does not exist when you save to it, close-hook is called, and
4177    not append-hook. append-hook is only for appending to existing folders.
4178
4179    If the command is empty, this operation is disabled for this file type. In
4180    this case, the folder will be open and closed again (using open-hook and
4181    close-hook respectively) each time you will add to it.
4182
4183   19.4. Encrypted folders
4184
4185    The compressed folders support can also be used to handle encrypted
4186    folders. If you want to encrypt a folder with PGP, you may want to usethe
4187    following hooks:
4188
4189  open-hook  \\.pgp$ "pgp -f < %f > %t"
4190  close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
4191
4192    Please note, that PGP does not support appending to an encrypted folder,
4193    so there is no append-hook defined.
4194
4195    Note: the folder is temporary stored decrypted in the /tmp directory,
4196    where it can be read by your system administrator. So thinkabout the
4197    security aspects of this.
4198
4199 Chapter 5. Mutt-ng's MIME Support
4200
4201    Table of Contents
4202
4203    1. Using MIME in Mutt
4204
4205                 1.1. Viewing MIME messages in the pager
4206
4207                 1.2. The Attachment Menu
4208
4209                 1.3. The Compose Menu
4210
4211    2. MIME Type configuration with mime.types
4212
4213    3. MIME Viewer configuration with mailcap
4214
4215                 3.1. The Basics of the mailcap file
4216
4217                 3.2. Secure use of mailcap
4218
4219                 3.3. Advanced mailcap Usage
4220
4221                 3.4. Example mailcap files
4222
4223    4. MIME Autoview
4224
4225    5. MIME Multipart/Alternative
4226
4227    6. MIME Lookup
4228
4229    Quite a bit of effort has been made to make Mutt-ng the premier text-mode
4230    MIME MUA. Every effort has been made to provide the functionality that the
4231    discerning MIME user requires, and the conformance to the standards
4232    wherever possible. When configuring Mutt-ng for MIME, there are two
4233    extratypes of configuration files which Mutt-ng uses. One is the
4234    mime.types file, which contains the mapping of file extensions to IANA
4235    MIME types. The other is the mailcap file, which specifies the external
4236    commands to use for handling specific MIME types.
4237
4238 1. Using MIME in Mutt
4239
4240    There are three areas/menus in Mutt-ng which deal with MIME, they are the
4241    pager (while viewing a message), the attachment menu and the compose menu.
4242
4243   1.1. Viewing MIME messages in the pager
4244
4245    When you select a message from the index and view it in the pager, Mutt
4246    decodes the message to a text representation. Mutt-ng internally supports
4247    a number of MIME types, including text/plain, text/enriched,
4248    message/rfc822, and message/news .In addition, the export controlled
4249    version of Mutt-ng recognizes a variety of PGP MIME types, including
4250    PGP/MIME and application/pgp.
4251
4252    Mutt-ng will denote attachments with a couple lines describing them. These
4253    lines are of the form:
4254
4255  [-- Attachment #1: Description --]
4256  [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
4257
4258    Where the Description is the description or filename given for the
4259    attachment, and the Encoding is one of
4260    7bit/8bit/quoted-printable/base64/binary.
4261
4262    If Mutt-ng cannot deal with a MIME type, it will display a message like:
4263
4264  [-- image/gif is unsupported (use 'v' to view this part) --]
4265
4266   1.2. The Attachment Menu
4267
4268    The default binding for view-attachments is `v', which displays the
4269    attachment menu for a message. The attachment menu displays a list ofthe
4270    attachments in a message. From the attachment menu, you can save, print,
4271    pipe, delete, and view attachments. You can apply these operations to a
4272    group of attachments at once, by tagging the attachments and by using the
4273    ``tag-prefix'' operator. You can also reply to the current message from
4274    this menu, and only the current attachment (or the attachments tagged)
4275    will be quoted in your reply. You can view attachments as text, or view
4276    them using the mailcap viewer definition.
4277
4278    Finally, you can apply the usual message-related functions (like
4279    <resend-message>, and the reply and forward functions) to attachments of
4280    type message/rfc822.
4281
4282    See the help on the attachment menu for more information.
4283
4284   1.3. The Compose Menu
4285
4286    The compose menu is the menu you see before you send a message. It allows
4287    you to edit the recipient list, the subject, and other aspects of your
4288    message. It also contains a list of the attachments of your message,
4289    including the main body. From this menu, you can print, copy, filter,
4290    pipe, edit, compose, review, and rename an attachment or a list of tagged
4291    attachments. You can also modifying the attachment information, notably
4292    the type, encoding and description.
4293
4294    Attachments appear as follows:
4295
4296  1 [text/plain, 7bit, 1K]             /tmp/mutt-euler-8082-0 <no description>
4297  2 [applica/x-gunzip, base64, 422K]   ~/src/mutt-0.85.tar.gz <no description>
4298
4299    The '-' denotes that Mutt-ng will delete the file after sending (or
4300    postponing, or canceling) the message. It can be toggled with the
4301    toggle-unlink command (default: u). The next field is the MIME
4302    content-type, and can be changed with the edit-type command (default: ^T).
4303    The next field is the encoding for the attachment, which allows a binary
4304    message to be encoded for transmission on 7bit links. It can be changed
4305    with the edit-encoding command (default: ^E). The next field is the size
4306    of the attachment, rounded to kilobytes or megabytes. The next field is
4307    the filename, which can be changed with the rename-file command (default:
4308    R). The final field is the description of the attachment, and can be
4309    changed with the edit-description command (default: d).
4310
4311 2.  MIME Type configuration with mime.types
4312
4313    When you add an attachment to your mail message, Mutt-ng searches your
4314    personal mime.types file within $HOME and then the system mime.types file
4315    at /usr/local/share/mutt/mime.types or /etc/mime.types
4316
4317    The mime.types file consist of lines containing a MIME type and a space
4318    separated list of extensions. For example:
4319
4320  application/postscript          ps eps
4321  application/pgp                 pgp
4322  audio/x-aiff                    aif aifc aiff
4323
4324    A sample mime.types file comes with the Mutt-ng distribution, and should
4325    contain most of the MIME types you are likely to use.
4326
4327    If Mutt-ng can not determine the mime type by the extension of the file
4328    you attach, it will look at the file. If the file is free of binary
4329    information, Mutt-ng will assume that the file is plain text, and mark it
4330    as text/plain. If the file contains binary information, then Mutt-ng will
4331    mark it as application/octet-stream. You can change the MIME type that
4332    Mutt-ng assigns to an attachment by using the edit-type command from the
4333    compose menu (default: ^T). The MIME type is actually a major mime type
4334    followed by the sub-type, separated by a '/'. 6 major types: application,
4335    text, image, video, audio, and model have been approved after various
4336    internet discussions. Mutt-ng recognises all of these if the appropriate
4337    entry is found in the mime.types file. It also recognises other major mime
4338    types, such as the chemical type that is widely used in the molecular
4339    modelling community to pass molecular data in various forms to various
4340    molecular viewers. Non-recognised mime types should only be used if the
4341    recipient of the message is likely to be expecting such attachments.
4342
4343 3.  MIME Viewer configuration with mailcap
4344
4345    Mutt-ng supports RfC 1524 MIME Configuration, in particular the Unix
4346    specific format specified in Appendix A of the RfC. This file format is
4347    commonly referred to as the mailcap format. Many MIME compliant programs
4348    utilize the mailcap format, allowing you to specify handling for all MIME
4349    types in one place for all programs. Programs known to use this format
4350    include Netscape, XMosaic, lynx and metamail.
4351
4352    In order to handle various MIME types that Mutt-ng can not handle
4353    internally, Mutt-ng parses a series of external configuration files to
4354    find an external handler. The default search string for these files is a
4355    colon delimited list set to
4356
4357  ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
4358
4359    where $HOME is your home directory.
4360
4361    In particular, the metamail distribution will install a mailcap file,
4362    usually as /usr/local/etc/mailcap, which contains some baseline entries.
4363
4364   3.1. The Basics of the mailcap file
4365
4366    A mailcap file consists of a series of lines which are comments, blank, or
4367    definitions.
4368
4369    A comment line consists of a # character followed by anything you want.
4370
4371    A blank line is blank.
4372
4373    A definition line consists of a content type, a view command, and any
4374    number of optional fields. Each field of a definition line is dividedby a
4375    semicolon ';' character.
4376
4377    The content type is specified in the MIME standard type/subtype method.
4378    For example, text/plain, text/html, image/gif, etc. In addition, the
4379    mailcap format includes two formats for wildcards, one using the special
4380    '*' subtype, the other is the implicit wild, where you only include the
4381    major type. For example, image/* ,or video, will match all image types and
4382    video types, respectively.
4383
4384    The view command is a Unix command for viewing the type specified. There
4385    are two different types of commands supported. The default is to send the
4386    body of the MIME message to the command on stdin. You can change this
4387    behavior by using %s as a parameter to your view command. This will cause
4388    Mutt-ng to save the body of the MIME message to a temporary file, and then
4389    call the view command with the %s replaced by the name of the temporary
4390    file. In both cases, Mutt-ng will turn over the terminal to the view
4391    program until the program quits, at which time Mutt will remove the
4392    temporary file if it exists.
4393
4394    So, in the simplest form, you can send a text/plain message to the
4395    external pager more on stdin:
4396
4397  text/plain; more
4398
4399    Or, you could send the message as a file:
4400
4401  text/plain; more %s
4402
4403    Perhaps you would like to use lynx to interactively view a text/html
4404    message:
4405
4406  text/html; lynx %s
4407
4408    In this case, lynx does not support viewing a file from stdin, so you must
4409    use the %s syntax. Note:Some older versions of lynx contain a bug where
4410    they will check the mailcap file for a viewer for text/html. They will
4411    find the line which calls lynx, and run it. This causes lynx to
4412    continuously spawn itself to view the object.
4413
4414    On the other hand, maybe you don't want to use lynx interactively, youjust
4415    want to have it convert the text/html to text/plain, then you can use:
4416
4417  text/html; lynx -dump %s | more
4418
4419    Perhaps you wish to use lynx to view text/html files, and a pager on all
4420    other text formats, then you would use the following:
4421
4422  text/html; lynx %s
4423  text/*; more
4424
4425    This is the simplest form of a mailcap file.
4426
4427   3.2. Secure use of mailcap
4428
4429    The interpretation of shell meta-characters embedded in MIME parameters
4430    can lead to security problems in general. Mutt-ng tries to quote
4431    parameters in expansion of %s syntaxes properly, and avoids risky
4432    characters by substituting them, see the $mailcap_sanitize variable.
4433
4434    Although mutt's procedures to invoke programs with mailcap seem to be
4435    safe, there are other applications parsing mailcap, maybe taking less care
4436    of it. Therefore you should pay attention to the following rules:
4437
4438    Keep the %-expandos away from shell quoting. Don't quote them with single
4439    or double quotes. Mutt-ng does this for you, the right way, as should any
4440    other program which interprets mailcap. Don't put them into backtick
4441    expansions. Be highly careful with eval statements, and avoid them if
4442    possible at all. Trying to fix broken behaviour with quotes introduces new
4443    leaks - there is no alternative to correct quoting in the first place.
4444
4445    If you have to use the %-expandos' values in context where you need
4446    quoting or backtick expansions, put that value into a shell variable and
4447    reference the shell variable where necessary, as in the following example
4448    (using $charset inside the backtick expansion is safe, since it is not
4449    itself subject to any further expansion):
4450
4451  text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
4452  && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
4453
4454   3.3. Advanced mailcap Usage
4455
4456     3.3.1. Optional Fields
4457
4458    In addition to the required content-type and view command fields, you can
4459    add semi-colon ';' separated fields to set flags and other options.
4460    Mutt-ng recognizes the following optional fields:
4461
4462    copiousoutput
4463
4464            This flag tells Mutt-ng that the command passes possibly large
4465            amounts of text on stdout. This causes Mutt-ng to invoke a pager
4466            (either the internal pager or the external pager defined by the
4467            pager variable) on the output of the view command. Without this
4468            flag, Mutt-ng assumes that the command is interactive. One could
4469            use this to replace the pipe to more in the lynx -dump example in
4470            the Basic section:
4471
4472  text/html; lynx -dump %s ; copiousoutput
4473
4474            This will cause lynx to format the text/html output as text/plain
4475            and Mutt-ng will use your standard pager to display the results.
4476
4477    needsterminal
4478
4479            Mutt-ng uses this flag when viewing attachments with auto_view, in
4480            order to decide whether it should honor the setting of the
4481            $wait_key variable or not. When an attachment is viewed using an
4482            interactive program, and the corresponding mailcap entry has a
4483            needsterminal flag, Mutt-ng will use $wait_key and the exit
4484            statusof the program to decide if it will ask you to press a key
4485            after the external program has exited. In all other situations it
4486            will not prompt you for a key.
4487
4488    compose=<command>
4489
4490            This flag specifies the command to use to create a new attachment
4491            of a specific MIME type. Mutt-ng supports this from the compose
4492            menu.
4493
4494    composetyped=<command>
4495
4496            This flag specifies the command to use to create a new attachment
4497            of a specific MIME type. This command differs from the compose
4498            command in that mutt will expect standard MIME headers on the
4499            data. This can be used to specify parameters, filename,
4500            description, etc. for a new attachment. Mutt-ng supports this from
4501            the compose menu.
4502
4503    print=<command>
4504
4505            This flag specifies the command to use to print a specific MIME
4506            type. Mutt-ng supports this from the attachment and compose menus.
4507
4508    edit=<command>
4509
4510            This flag specifies the command to use to edit a specific MIME
4511            type. Mutt-ng supports this from the compose menu, and also uses
4512            it to compose new attachments. Mutt-ng will default to the defined
4513            editor for text attachments.
4514
4515    nametemplate=<template>
4516
4517            This field specifies the format for the file denoted by %s in the
4518            command fields. Certain programs will require a certain file
4519            extension, for instance, to correctly view a file. For instance,
4520            lynx will only interpret a file as text/html if the file ends in
4521            .html. So, you would specify lynx as a text/html viewer with a
4522            line in the mailcap file like:
4523
4524  text/html; lynx %s; nametemplate=%s.html
4525
4526    test=<command>
4527
4528            This field specifies a command to run to test whether this mailcap
4529            entry should be used. The command is defined with the command
4530            expansion rules defined in the next section. If the command
4531            returns 0, then the test passed, and Mutt-ng uses this entry. If
4532            the command returns non-zero, then the test failed, and Mutt-ng
4533            continues searching for the right entry. Note:the content-type
4534            must match before Mutt-ng performs the test. For example:
4535
4536  text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4537  text/html; lynx %s
4538
4539            In this example, Mutt-ng will run the program RunningX which will
4540            return 0 if the X Window manager is running, and non-zero if it
4541            isn't. If RunningX returns 0, then Mutt-ng will call netscape to
4542            display the text/html object. If RunningX doesn't return 0, then
4543            Mutt-ng will go on to the next entry and use lynx to display the
4544            text/html object.
4545
4546     3.3.2. Search Order
4547
4548    When searching for an entry in the mailcap file, Mutt-ng will search for
4549    the most useful entry for its purpose. For instance, if you are attempting
4550    to print an image/gif, and you have the following entries in your mailcap
4551    file, Mutt-ng will search for an entry with the print command:
4552
4553  image/*;        xv %s
4554  image/gif;      ; print= anytopnm %s | pnmtops | lpr; \
4555  nametemplate=%s.gif
4556
4557    Mutt-ng will skip the image/* entry and use the image/gif entry with the
4558    print command.
4559
4560    In addition, you can use this with auto_view to denote two commands for
4561    viewing an attachment, one to be viewed automatically, the other to be
4562    viewed interactively from the attachment menu. In addition, you can then
4563    use the test feature to determine which viewer to use interactively
4564    depending on your environment.
4565
4566  text/html;      netscape -remote 'openURL(%s)' ; test=RunningX
4567  text/html;      lynx %s; nametemplate=%s.html
4568  text/html;      lynx -dump %s; nametemplate=%s.html; copiousoutput
4569
4570    For auto_view, Mutt-ng will choose the third entry because of the
4571    copiousoutput tag. For interactive viewing, Mutt will run the program
4572    RunningX to determine if it should use the first entry. If the program
4573    returns non-zero, Mutt-ng will use the second entry for interactive
4574    viewing.
4575
4576     3.3.3. Command Expansion
4577
4578    The various commands defined in the mailcap files are passed to the
4579    /bin/sh shell using the system() function. Before the command is passed to
4580    /bin/sh -c, it is parsed to expand various special parameters with
4581    information from Mutt-ng. The keywords Mutt-ng expands are:
4582
4583    %s
4584
4585            As seen in the basic mailcap section, this variable is expanded to
4586            a filename specified by the calling program. This file contains
4587            the body of the message to view/print/edit or where the composing
4588            program should place the results of composition. In addition, the
4589            use of this keyword causes Mutt-ng to not pass the body of the
4590            message to the view/print/edit program on stdin.
4591
4592    %t
4593
4594            Mutt-ng will expand %t to the text representation of the content
4595            type of the message in the same form as the first parameter of the
4596            mailcap definition line, ie text/html or image/gif.
4597
4598    %{<parameter>}
4599
4600            Mutt-ng will expand this to the value of the specified parameter
4601            from the Content-Type: line of the mail message. For instance, if
4602            Your mail message contains:
4603
4604  Content-Type: text/plain; charset=iso-8859-1
4605
4606            then Mutt-ng will expand %{charset} to iso-8859-1. The default
4607            metamail mailcap file uses this feature to test the charset to
4608            spawn an xterm using the right charset to view the message.
4609
4610    \%
4611
4612            This will be replaced by a %
4613
4614    Mutt-ng does not currently support the %F and %n keywords specified in RfC
4615    1524. The main purpose of these parameters is for multipart messages,
4616    which is handled internally by Mutt-ng.
4617
4618   3.4. Example mailcap files
4619
4620    This mailcap file is fairly simple and standard:
4621
4622  >
4623  # I'm always running X :)
4624  video/*;        xanim %s > /dev/null
4625  image/*;        xv %s > /dev/null
4626
4627  # I'm always running netscape (if my computer had more memory, maybe)
4628  text/html;      netscape -remote 'openURL(%s)'
4629
4630    This mailcap file shows quite a number of examples:
4631
4632  # Use xanim to view all videos   Xanim produces a header on startup,
4633  # send that to /dev/null so I don't see it
4634  video/*;        xanim %s > /dev/null
4635
4636  # Send html to a running netscape by remote
4637  text/html;      netscape -remote 'openURL(%s)'; test=RunningNetscape
4638  # If I'm not running netscape but I am running X, start netscape on the
4639  # object
4640  text/html;      netscape %s; test=RunningX
4641
4642  # Else use lynx to view it as text
4643  text/html;      lynx %s
4644
4645  # This version would convert the text/html to text/plain
4646  text/html;      lynx -dump %s; copiousoutput
4647
4648  # I use enscript to print text in two columns to a page
4649  text/*;         more %s; print=enscript -2Gr %s
4650
4651  # Netscape adds a flag to tell itself to view jpegs internally
4652  image/jpeg;xv %s; x-mozilla-flags=internal
4653
4654  # Use xv to view images if I'm running X
4655  # In addition, this uses the \ to extend the line and set my editor
4656  # for images
4657  image/*;xv %s; test=RunningX; edit=xpaint %s
4658
4659  # Convert images to text using the netpbm tools
4660  image/*;  (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
4661  pbmtoascii -1x2 ) 2>&1 ; copiousoutput
4662
4663  # Send excel spreadsheets to my NT box
4664  application/ms-excel; open.pl %s
4665
4666 4. MIME Autoview
4667
4668    In addition to explicitly telling Mutt-ng to view an attachment with
4669    theMIME viewer defined in the mailcap file, Mutt-ng has support for
4670    automatically viewing MIME attachments while in the pager.
4671
4672    To work, you must define a viewer in the mailcap file which uses the
4673    copiousoutput option to denote that it is non-interactive. Usually, you
4674    also use the entry to convert the attachment to a text representation
4675    which you can view in the pager.
4676
4677    You then use the auto_view muttrc command to list the content-types that
4678    you wish to view automatically.
4679
4680    For instance, if you set auto_view to:
4681
4682  auto_view text/html application/x-gunzip application/postscript
4683  image/gif application/x-tar-gz
4684
4685    Mutt-ng could use the following mailcap entries to automatically view
4686    attachments of these types.
4687
4688  text/html;      lynx -dump %s; copiousoutput; nametemplate=%s.html
4689  image/*;        anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
4690  application/x-gunzip;   gzcat; copiousoutput
4691  application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
4692  application/postscript; ps2ascii %s; copiousoutput
4693
4694    ``unauto_view'' can be used to remove previous entries from the autoview
4695    list. This can be used with message-hook to autoview messages based on
4696    size, etc. ``unauto_view *'' will remove all previous entries.
4697
4698 5. MIME Multipart/Alternative
4699
4700    Mutt-ng has some heuristics for determining which attachment of a
4701    multipart/alternative type to display. First, mutt will check the
4702    alternative_order list to determine if one of the available typesis
4703    preferred. The alternative_order list consists of a number of MIME types
4704    in order, including support for implicit and explicit wildcards, for
4705    example:
4706
4707  alternative_order text/enriched text/plain text
4708  application/postscript image/*
4709
4710    Next, mutt will check if any of the types have a defined auto_view, and
4711    use that. Failing that, Mutt-ng will look for any text type. As a last
4712    attempt, mutt willlook for any type it knows how to handle.
4713
4714    To remove a MIME type from the alternative_order list, use the
4715    unalternative_order command.
4716
4717 6. MIME Lookup
4718
4719    Mutt-ng's mime_lookup list specifies a list of mime-types that should not
4720    be treated according to their mailcap entry. This option is designed
4721    todeal with binary types such as application/octet-stream. When an
4722    attachment's mime-type is listed in mime_lookup, then the extension of the
4723    filename will be compared to the list of extensions in the mime.types
4724    file. The mime-type associated with this extension will then be used to
4725    process the attachment according to the rules in the mailcap file and
4726    according to any other configuration options (such as auto_view)
4727    specified. Common usage would be:
4728
4729  mime_lookup application/octet-stream application/X-Lotus-Manuscript
4730
4731    In addition, the unmime_lookup command may be used to disable this feature
4732    for any particular mime-type if it had been set, for example, in a global
4733    muttrc.
4734
4735 Chapter 6. Security Considerations
4736
4737    Table of Contents
4738
4739    1. Passwords
4740
4741    2. Temporary Files
4742
4743    3. Information Leaks
4744
4745                 3.1. Message-ID: headers
4746
4747                 3.2. mailto:-style links
4748
4749    4. External applications
4750
4751                 4.1. mailcap
4752
4753                 4.2. Other
4754
4755    First of all, mutt-ng contains no security holes included by intention but
4756    may contain unknown security holes. As a consequence, please run mutt-ng
4757    only with as few permissions as possible.
4758
4759    Please do not run mutt-ng as the super user.
4760
4761    When configuring mutt-ng, there're some points to note about secure
4762    setups.
4763
4764    In practice, mutt-ng can be easily made as vulnerable as even the most
4765    insecure mail user agents (in their default configuration) just by
4766    changing mutt-ng's configuration files: it then can execute arbitrary
4767    programs and scripts attached to messages, send out private data on its
4768    own, etc. Although this is not believed to the common type of setup,
4769    please read this chapter carefully.
4770
4771 1. Passwords
4772
4773    Although mutt-ng can be told the various passwords for accounts, please
4774    never store passwords in configuration files. Besides the fact that the
4775    system's operator can always read them, you could forget to replace the
4776    actual password with asterisks when reporting a bug or asking for help
4777    via, for example, a mailing list so that your mail including your password
4778    could be archived by internet search engines, etc. Please never store
4779    passwords on disk.
4780
4781 2. Temporary Files
4782
4783    Mutt-ng uses many temporary files for viewing messages, verifying digital
4784    signatures, etc. The $umask variable can be used to change the default
4785    permissions of these files. Please only change it if you really know what
4786    you are doing. Also, a different location for these files may be desired
4787    which can be changed via the $tmpdir variable.
4788
4789 3. Information Leaks
4790
4791   3.1. Message-ID: headers
4792
4793    In the default configuration, mutt-ng will leak some information to the
4794    outside world when sending messages: the generation of Message-ID: headers
4795    includes a step counter which is increased (and rotated) with every
4796    message sent. If you'd like to hide this information probably telling
4797    others how many mail you sent in which time, you at least need to remove
4798    the %P expando from the default setting of the $msgid_format variable.
4799    Please make sure that you really know how local parts of these Message-ID:
4800    headers are composed.
4801
4802   3.2. mailto:-style links
4803
4804    As mutt-ng be can be set up to be the mail client to handle mailto: style
4805    links in websites, there're security considerations, too. To keep the old
4806    behavior by default, mutt-ng will be strict in interpreting them which
4807    means that arbitrary header fields can be embedded in these links which
4808    could override existing header fields or attach arbitrary files. This may
4809    be problematic if the $edit_headers variable is unset, i.e. the user
4810    doesn't want to see header fields while editing the message.
4811
4812    For example, following a link like
4813
4814  mailto:joe@host?Attach=~/.gnupg/secring.gpg
4815
4816    will send out the user's private gnupg keyring to joe@host if the user
4817    doesn't follow the information on screen carefully enough.
4818
4819    When unsetting the $strict_mailto variable, mutt-ng will
4820
4821      o be less strict when interpreting these links by prepending a X-Mailto-
4822        string to all header fields embedded in such a link and
4823
4824      o turn on the $edit_headers variable by force to let the user see all
4825        the headers (because they still may leak information.)
4826
4827 4. External applications
4828
4829    Mutt-ng in many places has to rely on external applications or for
4830    convenience supports mechanisms involving external applications.
4831
4832   4.1. mailcap
4833
4834    One of these is the mailcap mechanism as defined by RfC 1524. Mutt-ng can
4835    be set up to automatically execute any given utility as listed in one of
4836    the mailcap files (see the $mailcap_path variable for details.)
4837
4838    These utilities may have a variety of security vulnerabilities, including
4839    overwriting of arbitrary files, information leaks or other exploitable
4840    bugs. These vulnerabilities may go unnoticed by the user, especially when
4841    they are called automatically (and without interactive prompting) from the
4842    mailcap file(s). When using mutt-ng's autoview mechanism in combination
4843    with mailcap files, please be sure to...
4844
4845      o manually select trustworth applications with a reasonable calling
4846        sequence
4847
4848      o periodically check the contents of mailcap files, especially after
4849        software installations or upgrades
4850
4851      o keep the software packages referenced in the mailcap file up to date
4852
4853      o leave the $mailcap_sanitize variable in its default state to restrict
4854        mailcap expandos to a safe set of characters
4855
4856   4.2. Other
4857
4858    Besides the mailcap mechanism, mutt-ng uses a number of other external
4859    utilities for operation.
4860
4861    The same security considerations apply for these as for tools involved via
4862    mailcap (for example, mutt-ng is vulnerable to Denial of Service Attacks
4863    with compressed folders support if the uncompressed mailbox is too large
4864    for the disk it is saved to.)
4865
4866    As already noted, most of these problems are not built in but caused by
4867    wrong configuration, so please check your configuration.
4868
4869 Chapter 7. Reference
4870
4871    Table of Contents
4872
4873    1. Command line options
4874
4875    2. Patterns
4876
4877    3. Configuration Commands
4878
4879    4. Configuration variables
4880
4881    5. Functions
4882
4883                 5.1. generic
4884
4885                 5.2. index
4886
4887                 5.3. pager
4888
4889                 5.4. alias
4890
4891                 5.5. query
4892
4893                 5.6. attach
4894
4895                 5.7. compose
4896
4897                 5.8. postpone
4898
4899                 5.9. browser
4900
4901                 5.10. pgp
4902
4903                 5.11. editor
4904
4905                 5.12. sidebar
4906
4907 1. Command line options
4908
4909    Running mutt with no arguments will make Mutt-ng attempt to read your
4910    spool mailbox. However, it is possible to read other mailboxes and to send
4911    messages from the command line as well.
4912
4913    Table 7.1. Reference: Command Line Options
4914
4915    Option Description
4916    -A     expand an alias
4917    -a     attach a file to a message
4918    -b     specify a blind carbon-copy (BCC) address
4919    -c     specify a carbon-copy (Cc) address
4920    -e     specify a config command to be run after initialization files are
4921           read
4922    -f     specify a mailbox to load
4923    -F     specify an alternate file to read initialization commands
4924    -h     print help on command line options
4925    -H     specify a draft file from which to read a header and body
4926    -i     specify a file to include in a message composition
4927    -m     specify a default mailbox type
4928    -n     do not read the system Muttngrc
4929    -p     recall a postponed message
4930    -Q     query a configuration variable
4931    -R     open mailbox in read-only mode
4932    -s     specify a subject (enclose in quotes if it contains spaces)
4933    -t     dump the value of all variables to stdout
4934    -T     dump the value of all changed variables to stdout
4935    -v     show version number and compile-time definitions
4936    -x     simulate the mailx(1) compose mode
4937    -y     show a menu containing the files specified by the mailboxes command
4938    -z     exit immediately if there are no messages in the mailbox
4939    -Z     open the first folder with new message,exit immediately if none
4940
4941    To read messages in a mailbox
4942
4943    mutt ] -nz ] ] -F muttrc ] ] -m type ] ] -f mailbox ]
4944
4945    To compose a new message
4946
4947    mutt ] -n ] ] -F muttrc ] ] -a file ] ] -c address ] ] -i filename ] ] -s
4948    subject ] address ] address ... ]
4949
4950    Mutt-ng also supports a ``batch'' mode to send prepared messages. Simply
4951    redirect input from the file you wish to send. For example,
4952
4953    mutt -s "data set for run #2" professor@bigschool.edu < ~/run2.dat
4954
4955    This command will send a message to ``professor@bigschool.edu'' with a
4956    subject of ``data set for run #2''. In the body of the message will be the
4957    contents of the file ``~/run2.dat''.
4958
4959 2. Patterns
4960
4961    Table 7.2. Reference: Patterns
4962
4963    Pattern Modifier Argument    Description
4964    ~A/=A                        all messages
4965    ~b/=b            EXPR        messages which contain EXPR in the message
4966                                 body
4967    ~B/=B            EXPR        messages which contain EXPR in the whole
4968                                 message
4969    ~c/=c            EXPR        messages carbon-copied to EXPR
4970    ~C/=C            EXPR        message is either to: or cc: EXPR
4971    ~D/=D                        deleted messages
4972    ~d/=d            [MIN]-[MAX] messages with ``date-sent'' in a Date range
4973    ~E/=E                        expired messages
4974    ~e/=e            EXPR        message which contains EXPR in the ``Sender''
4975                                 field
4976    ~F/=F                        flagged messages
4977    ~f/=f            EXPR        messages originating from EXPR
4978    ~g/=g                        cryptographically signed messages
4979    ~G/=G                        cryptographically encrypted messages
4980    ~H/=H            EXPR        messages with a spam attribute matching EXPR
4981    ~h/=h            EXPR        messages which contain EXPR in the message
4982                                 header
4983    ~k/=k                        message contains PGP key material
4984    ~i/=i            EXPR        message which match ID in the ``Message-ID''
4985                                 field
4986    ~L/=L            EXPR        message is either originated or received by
4987                                 EXPR
4988    ~l/=l                        message is addressed to a known mailing list
4989    ~m/=m            [MIN]-[MAX] message in the range MIN to MAX *)
4990    ~M/=M                        multipart messages
4991    ~n/=n            [MIN]-[MAX] messages with a score in the range MIN to MAX
4992                                 *)
4993    ~N/=N                        new messages
4994    ~O/=O                        old messages
4995    ~p/=p                        message is addressed to you (consults
4996                                 alternates)
4997    ~P/=P                        message is from you (consults alternates)
4998    ~Q/=Q                        messages which have been replied to
4999    ~R/=R                        read messages
5000    ~r/=r            [MIN]-[MAX] messages with ``date-received'' in a Date
5001                                 range
5002    ~S/=S                        superseded messages
5003    ~s/=s            EXPR        messages having EXPR in the ``Subject''
5004                                 field.
5005    ~T/=T                        tagged messages
5006    ~t/=t            EXPR        messages addressed to EXPR
5007    ~U/=U                        unread messages
5008    ~u/=u                        message is addressed to a subscribed mailing
5009                                 list
5010    ~v/=v                        message is part of a collapsed thread.
5011    ~V/=V                        cryptographically verified messages
5012                                 messages which contain EXPR in the
5013    ~w/=w            EXPR        `Newsgroups' field (if compiled with NNTP
5014                                 support)
5015    ~x/=x            EXPR        messages which contain EXPR in the
5016                                 `References' field
5017    ~y/=y            EXPR        messages which contain EXPR in the `X-Label'
5018                                 field
5019    ~z/=z            [MIN]-[MAX] messages with a size in the range MIN to MAX
5020                                 *)
5021    ~=/==                        duplicated messages (see $duplicate_threads)
5022    ~$/=$                        unreferenced messages (requires threaded
5023                                 view)
5024                                 ``From'' contains realname and
5025    ~*/=*                        (syntactically) valid address (excluded are
5026                                 addresses matching against alternates or any
5027                                 alias)
5028
5029    Where EXPR are regexp. Special attention has to be made when using regular
5030    expressions inside of patterns. Specifically, Mutt-ng's parser for these
5031    patterns will strip one level of backslash (\), which is normally used for
5032    quoting. If it is your intention to use a backslash in the regular
5033    expression, you will need to use two backslashes instead (\\).
5034
5035    *) The forms <[MAX], >[MIN], [MIN]- and -[MAX] are allowed, too.
5036
5037 3. Configuration Commands
5038
5039    The following are the commands understood by mutt.
5040
5041      o account-hook pattern command
5042
5043      o aliaskeyaddress [, address, ... ]
5044
5045      o unalias [ * | key ... ]
5046
5047      o alternatesregexp [ regexp ... ]
5048
5049      o unalternates [ * | regexp ... ]
5050
5051      o alternative_ordermimetype [ mimetype ... ]
5052
5053      o unalternative_ordermimetype [ mimetype ... ]
5054
5055      o append-hook regexp command
5056
5057      o auto_viewmimetype [ mimetype ... ]
5058
5059      o unauto_viewmimetype [ mimetype ... ]
5060
5061      o bind map key function
5062
5063      o charset-hook alias charset
5064
5065      o close-hook regexp command
5066
5067      o colorobjectforegroundbackground [ regexp ]
5068
5069      o uncolorindexpattern [ pattern ... ]
5070
5071      o execfunction [ function ... ]
5072
5073      o fcc-hook pattern mailbox
5074
5075      o fcc-save-hook pattern mailbox
5076
5077      o folder-hook pattern command
5078
5079      o hdr_orderheader [ header ... ]
5080
5081      o unhdr_orderheader [ header ... ]
5082
5083      o charset-hook charset local-charset
5084
5085      o ignorepattern [ pattern ... ]
5086
5087      o unignorepattern [ pattern ... ]
5088
5089      o listsregexp [ regexp ... ]
5090
5091      o unlistsregexp [ regexp ... ]
5092
5093      o macromenukeysequence [ description ]
5094
5095      o mailboxesfilename [ filename ... ]
5096
5097      o mbox-hook pattern mailbox
5098
5099      o message-hook pattern command
5100
5101      o mime_lookupmimetype [ mimetype ... ]
5102
5103      o unmime_lookupmimetype [ mimetype ... ]
5104
5105      o monoobject attribute [ regexp ]
5106
5107      o unmonoindexpattern [ pattern ... ]
5108
5109      o my_hdr string
5110
5111      o unmy_hdrfield [ field ... ]
5112
5113      o open-hook regexp command
5114
5115      o crypt-hook pattern key-id
5116
5117      o push string
5118
5119      o resetvariable [ variable ... ]
5120
5121      o save-hook regexp filename
5122
5123      o score pattern value
5124
5125      o unscorepattern [ pattern ... ]
5126
5127      o send-hook regexp command
5128
5129      o reply-hook regexp command
5130
5131      o set [no|inv]variable[ =value ] [ variable ... ]
5132
5133      o unsetvariable [ variable ... ]
5134
5135      o source filename
5136
5137      o spam pattern format
5138
5139      o nospam pattern
5140
5141      o subscriberegexp [ regexp ... ]
5142
5143      o unsubscriberegexp [ regexp ... ]
5144
5145      o togglevariable [ variable ... ]
5146
5147      o unhook hook-type
5148
5149 4. Configuration variables
5150
5151    The following list contains all variables which, in the process of
5152    providing more consistency, have been renamed and are partially even
5153    removed already. The left column contains the old synonym variables, the
5154    right column the full/new name:
5155
5156    Table 7.3. Reference: Obsolete Variables
5157
5158    Old Name               New Name
5159    edit_hdrs              $edit_headers
5160    forw_decode            $forward_decode
5161    forw_format            $forward_format
5162    forw_quote             $forward_quote
5163    hdr_format             $index_format
5164    indent_str             $indent_string
5165    mime_fwd               $mime_forward
5166    msg_format             $message_format
5167    pgp_autosign           $crypt_autosign
5168    pgp_autoencrypt        $crypt_autoencrypt
5169    pgp_replyencrypt       $crypt_replyencrypt
5170    pgp_replysign          $crypt_replysign
5171    pgp_replysignencrypted $crypt_replysignencrypted
5172    pgp_verify_sig         $crypt_verify_sig
5173    pgp_create_traditional $pgp_autoinline
5174    pgp_auto_traditional   $pgp_replyinline
5175    forw_decrypt           $forward_decrypt
5176    smime_sign_as          $smime_default_key
5177    post_indent_str        $post_indent_string
5178    print_cmd              $print_command
5179    shorten_hierarchy      $sidebar_shorten_hierarchy
5180    ask_followup_to        $nntp_ask_followup_to
5181    ask_x_comment_to       $nntp_ask_x_comment_to
5182    catchup_newsgroup      $nntp_catchup
5183    followup_to_poster     $nntp_followup_to_poster
5184    group_index_format     $nntp_group_index_format
5185    inews                  $nntp_inews
5186    mime_subject           $nntp_mime_subject
5187    news_cache_dir         $nntp_cache_dir
5188    news_server            $nntp_host
5189    newsrc                 $nntp_newsrc
5190    nntp_poll              $nntp_mail_check
5191    pop_checkinterval      $pop_mail_check
5192    post_moderated         $nntp_post_moderated
5193    save_unsubscribed      $nntp_save_unsubscribed
5194    show_new_news          $nntp_show_new_news
5195    show_only_unread       $nntp_show_only_unread
5196    x_comment_to           $nntp_x_comment_to
5197    smtp_auth_username     $smtp_user
5198    smtp_auth_password     $smtp_pass
5199    user_agent             $agent_string
5200
5201    The contrib subdirectory contains a script named update-config.pl which
5202    eases migration.
5203
5204    A complete list of current variables follows.
5205
5206 1. $abort_noattach
5207
5208    Type: quadoption
5209
5210    Default: no
5211
5212    This variable specifies whether to abort sending if no attachment was made
5213    but the content references them, i.e. the content matches the regular
5214    expression given in $attach_remind_regexp. If a match was found and this
5215    variable is set to yes, message sending will be aborted but the mail will
5216    be send nevertheless if set to no.
5217
5218    This variable and $attach_remind_regexp are intended to remind the user to
5219    attach files if the message's text references them.
5220
5221    See also the $attach_remind_regexp variable.
5222
5223 2. $abort_nosubject
5224
5225    Type: quadoption
5226
5227    Default: ask-yes
5228
5229    If set to yes, when composing messages and no subject is given at the
5230    subject prompt, composition will be aborted. If set to no, composing
5231    messages with no subject given at the subject prompt will never be
5232    aborted.
5233
5234 3. $abort_unmodified
5235
5236    Type: quadoption
5237
5238    Default: yes
5239
5240    If set to yes, composition will automatically abort after editing the
5241    message body if no changes are made to the file (this check only happens
5242    after the first edit of the file). When set to no, composition will never
5243    be aborted.
5244
5245 4. $agent_string
5246
5247    Type: boolean
5248
5249    Default: yes
5250
5251    When set, Mutt-ng will add a ``User-Agent:'' header to outgoing messages,
5252    indicating which version of Mutt-ng was used for composing them.
5253
5254 5. $alias_file
5255
5256    Type: path
5257
5258    Default: "~/.muttngrc"
5259
5260    The default file in which to save aliases created by the ``create-alias''
5261    function.
5262
5263    Note: Mutt-ng will not automatically source this file; you must explicitly
5264    use the ``source'' command for it to be executed.
5265
5266 6. $alias_format
5267
5268    Type: string
5269
5270    Default: "%4n %2f %t %-10a %r"
5271
5272    Specifies the format of the data displayed for the ``alias'' menu. The
5273    following printf(3)-style sequences are available:
5274
5275    %a
5276
5277            alias name
5278
5279    %f
5280
5281            flags - currently, a "d" for an alias marked for deletion
5282
5283    %n
5284
5285            index number
5286
5287    %r
5288
5289            address which alias expands to
5290
5291    %t
5292
5293            character which indicates if the alias is tagged for inclusion
5294
5295 7. $allow_8bit
5296
5297    Type: boolean
5298
5299    Default: yes
5300
5301    Controls whether 8-bit data is converted to 7-bit using either
5302    quoted-printable or base64 encoding when sending mail.
5303
5304 8. $allow_ansi
5305
5306    Type: boolean
5307
5308    Default: no
5309
5310    Controls whether ANSI color codes in messages (and color tags in rich text
5311    messages) are to be interpreted. Messages containing these codes are rare,
5312    but if this option is set, their text will be colored accordingly. Note
5313    that this may override your color choices, and even present a security
5314    problem, since a message could include a line like ``[-- PGP output
5315    follows ..." and give it the same color as your attachment color.
5316
5317 9. $arrow_cursor
5318
5319    Type: boolean
5320
5321    Default: no
5322
5323    When set, an arrow (``->'') will be used to indicate the current entry in
5324    menus instead of highlighting the whole line. On slow network or modem
5325    links this will make response faster because there is less that has to be
5326    redrawn on the screen when moving to the next or previous entries in the
5327    menu.
5328
5329 10. $ascii_chars
5330
5331    Type: boolean
5332
5333    Default: no
5334
5335    If set, Mutt-ng will use plain ASCII characters when displaying thread and
5336    attachment trees, instead of the default ACS characters.
5337
5338 11. $askbcc
5339
5340    Type: boolean
5341
5342    Default: no
5343
5344    If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
5345    before editing an outgoing message.
5346
5347 12. $askcc
5348
5349    Type: boolean
5350
5351    Default: no
5352
5353    If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
5354    editing the body of an outgoing message.
5355
5356 13. $assumed_charset
5357
5358    Type: string
5359
5360    Default: "us-ascii"
5361
5362    This variable is a colon-separated list of character encoding schemes for
5363    messages without character encoding indication. Header field values and
5364    message body content without character encoding indication would be
5365    assumed that they are written in one of this list. By default, all the
5366    header fields and message body without any charset indication are assumed
5367    to be in us-ascii.
5368
5369    For example, Japanese users might prefer this:
5370
5371    set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5372
5373    However, only the first content is valid for the message body. This
5374    variable is valid only if $strict_mime is unset.
5375
5376 14. $attach_format
5377
5378    Type: string
5379
5380    Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
5381
5382    This variable describes the format of the ``attachment'' menu. The
5383    following printf(3)-style sequences are understood:
5384
5385    %C
5386
5387            charset
5388
5389    %c
5390
5391            requires charset conversion (n or c)
5392
5393    %D
5394
5395            deleted flag
5396
5397    %d
5398
5399            description
5400
5401    %e
5402
5403            MIME Content-Transfer-Encoding: header field
5404
5405    %f
5406
5407            filename
5408
5409    %I
5410
5411            MIME Content-Disposition: header field (I=inline, A=attachment)
5412
5413    %m
5414
5415            major MIME type
5416
5417    %M
5418
5419            MIME subtype
5420
5421    %n
5422
5423            attachment number
5424
5425    %s
5426
5427            size
5428
5429    %t
5430
5431            tagged flag
5432
5433    %T
5434
5435            graphic tree characters
5436
5437    %u
5438
5439            unlink (=to delete) flag
5440
5441    %>X
5442
5443            right justify the rest of the string and pad with character "X"
5444
5445    %|X
5446
5447            pad to the end of the line with character "X"
5448
5449 15. $attach_remind_regexp
5450
5451    Type: regular expression
5452
5453    Default: "attach"
5454
5455    If this variable is non-empty, muttng will scan a message's contents
5456    before sending for this regular expression. If it is found, it will ask
5457    for what to do depending on the setting of $abort_noattach.
5458
5459    This variable and $abort_noattach are intended to remind the user to
5460    attach files if the message's text references them.
5461
5462 16. $attach_sep
5463
5464    Type: string
5465
5466    Default: "\n"
5467
5468    The separator to add between attachments when operating (saving, printing,
5469    piping, etc) on a list of tagged attachments.
5470
5471 17. $attach_split
5472
5473    Type: boolean
5474
5475    Default: yes
5476
5477    If this variable is unset, when operating (saving, printing, piping, etc)
5478    on a list of tagged attachments, Mutt-ng will concatenate the attachments
5479    and will operate on them as a single attachment. The ``$attach_sep''
5480    separator is added after each attachment. When set, Mutt-ng will operate
5481    on the attachments one by one.
5482
5483 18. $attribution
5484
5485    Type: string
5486
5487    Default: "On %d, %n wrote:"
5488
5489    This is the string that will precede a message which has been included in
5490    a reply. For a full listing of defined printf(3)-like sequences see the
5491    section on ``$index_format''.
5492
5493 19. $auto_tag
5494
5495    Type: boolean
5496
5497    Default: no
5498
5499    When set, functions in the index menu which affect a message will be
5500    applied to all tagged messages (if there are any). When unset, you must
5501    first use the ``tag-prefix'' function (default: ";") to make the next
5502    function apply to all tagged messages.
5503
5504 20. $autoedit
5505
5506    Type: boolean
5507
5508    Default: no
5509
5510    When set along with ``$edit_headers'', Mutt-ng will skip the initial
5511    send-menu and allow you to immediately begin editing the body of your
5512    message. The send-menu may still be accessed once you have finished
5513    editing the body of your message.
5514
5515    Also see ``$fast_reply''.
5516
5517 21. $beep
5518
5519    Type: boolean
5520
5521    Default: yes
5522
5523    When this variable is set, Mutt-ng will beep when an error occurs.
5524
5525 22. $beep_new
5526
5527    Type: boolean
5528
5529    Default: no
5530
5531    When this variable is set, Mutt-ng will beep whenever it prints a message
5532    notifying you of new mail. This is independent of the setting of the
5533    ``$beep'' variable.
5534
5535 23. $bounce
5536
5537    Type: quadoption
5538
5539    Default: ask-yes
5540
5541    Controls whether you will be asked to confirm bouncing messages. If set to
5542    yes you don't get asked if you want to bounce a message. Setting this
5543    variable to no is not generally useful, and thus not recommended, because
5544    you are unable to bounce messages.
5545
5546 24. $bounce_delivered
5547
5548    Type: boolean
5549
5550    Default: yes
5551
5552    When this variable is set, Mutt-ng will include Delivered-To: header
5553    fields when bouncing messages. Postfix users may wish to unset this
5554    variable.
5555
5556 25. $braille_friendly
5557
5558    Type: boolean
5559
5560    Default: no
5561
5562    When this variable is set, mutt will place the cursor at the beginning of
5563    the current line in menus, even when the arrow_cursor variable is unset,
5564    making it easier for blind persons using Braille displays to follow these
5565    menus. The option is disabled by default because many visual terminals
5566    don't permit making the cursor invisible.
5567
5568 26. $certificate_file
5569
5570    Type: path
5571
5572    Default: "~/.mutt_certificates"
5573
5574    Availability: SSL or GNUTLS
5575
5576    This variable specifies the file where the certificates you trust are
5577    saved. When an unknown certificate is encountered, you are asked if you
5578    accept it or not. If you accept it, the certificate can also be saved in
5579    this file and further connections are automatically accepted.
5580
5581    You can also manually add CA certificates in this file. Any server
5582    certificate that is signed with one of these CA certificates are also
5583    automatically accepted.
5584
5585    Example: set certificate_file=~/.muttng/certificates
5586
5587 27. $charset
5588
5589    Type: string
5590
5591    Default: ""
5592
5593    Character set your terminal uses to display and enter textual data.
5594
5595 28. $check_new
5596
5597    Type: boolean
5598
5599    Default: yes
5600
5601    Note: this option only affects maildir and MH style mailboxes.
5602
5603    When set, Mutt-ng will check for new mail delivered while the mailbox is
5604    open. Especially with MH mailboxes, this operation can take quite some
5605    time since it involves scanning the directory and checking each file to
5606    see if it has already been looked at. If it's unset, no check for new mail
5607    is performed while the mailbox is open.
5608
5609 29. $collapse_unread
5610
5611    Type: boolean
5612
5613    Default: yes
5614
5615    When unset, Mutt-ng will not collapse a thread if it contains any unread
5616    messages.
5617
5618 30. $compose_format
5619
5620    Type: string
5621
5622    Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
5623
5624    Controls the format of the status line displayed in the ``compose'' menu.
5625    This string is similar to ``$status_format'', but has its own set of
5626    printf(3)-like sequences:
5627
5628    %a
5629
5630            total number of attachments
5631
5632    %h
5633
5634            local hostname
5635
5636    %l
5637
5638            approximate size (in bytes) of the current message
5639
5640    %v
5641
5642            Mutt-ng version string
5643
5644    See the text describing the ``$status_format'' option for more information
5645    on how to set ``$compose_format''.
5646
5647 31. $config_charset
5648
5649    Type: string
5650
5651    Default: ""
5652
5653    When defined, Mutt-ng will recode commands in rc files from this encoding.
5654
5655 32. $confirmappend
5656
5657    Type: boolean
5658
5659    Default: yes
5660
5661    When set, Mutt-ng will prompt for confirmation when appending messages to
5662    an existing mailbox.
5663
5664 33. $confirmcreate
5665
5666    Type: boolean
5667
5668    Default: yes
5669
5670    When set, Mutt-ng will prompt for confirmation when saving messages to a
5671    mailbox which does not yet exist before creating it.
5672
5673 34. $connect_timeout
5674
5675    Type: number
5676
5677    Default: 30
5678
5679    Causes Mutt-ng to timeout a network connection (for IMAP or POP) after
5680    this many seconds if the connection is not able to be established. A
5681    negative value causes Mutt-ng to wait indefinitely for the connection to
5682    succeed.
5683
5684 35. $content_type
5685
5686    Type: string
5687
5688    Default: "text/plain"
5689
5690    Sets the default Content-Type: header field for the body of newly composed
5691    messages.
5692
5693 36. $copy
5694
5695    Type: quadoption
5696
5697    Default: yes
5698
5699    This variable controls whether or not copies of your outgoing messages
5700    will be saved for later references. Also see ``$record'', ``$save_name'',
5701    ``$force_name'' and ``fcc-hook''.
5702
5703 37. $crypt_autoencrypt
5704
5705    Type: boolean
5706
5707    Default: no
5708
5709    Setting this variable will cause Mutt-ng to always attempt to PGP encrypt
5710    outgoing messages. This is probably only useful in connection to the
5711    send-hook command. It can be overridden by use of the pgp-menu, when
5712    encryption is not required or signing is requested as well. If
5713    ``$smime_is_default'' is set, then OpenSSL is used instead to create
5714    S/MIME messages and settings can be overridden by use of the smime-menu.
5715    (Crypto only)
5716
5717 38. $crypt_autopgp
5718
5719    Type: boolean
5720
5721    Default: yes
5722
5723    This variable controls whether or not Mutt-ng may automatically enable PGP
5724    encryption/signing for messages. See also ``$crypt_autoencrypt'',
5725    ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5726    ``$smime_is_default''.
5727
5728 39. $crypt_autosign
5729
5730    Type: boolean
5731
5732    Default: no
5733
5734    Setting this variable will cause Mutt-ng to always attempt to
5735    cryptographically sign outgoing messages. This can be overridden by use of
5736    the pgp-menu, when signing is not required or encryption is requested as
5737    well. If ``$smime_is_default'' is set, then OpenSSL is used instead to
5738    create S/MIME messages and settings can be overridden by use of the
5739    smime-menu. (Crypto only)
5740
5741 40. $crypt_autosmime
5742
5743    Type: boolean
5744
5745    Default: yes
5746
5747    This variable controls whether or not Mutt-ng may automatically enable
5748    S/MIME encryption/signing for messages. See also ``$crypt_autoencrypt'',
5749    ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5750    ``$smime_is_default''.
5751
5752 41. $crypt_replyencrypt
5753
5754    Type: boolean
5755
5756    Default: yes
5757
5758    If set, automatically PGP or OpenSSL encrypt replies to messages which are
5759    encrypted. (Crypto only)
5760
5761 42. $crypt_replysign
5762
5763    Type: boolean
5764
5765    Default: no
5766
5767    If set, automatically PGP or OpenSSL sign replies to messages which are
5768    signed.
5769
5770    Note: this does not work on messages that are encrypted and signed!
5771    (Crypto only)
5772
5773 43. $crypt_replysignencrypted
5774
5775    Type: boolean
5776
5777    Default: no
5778
5779    If set, automatically PGP or OpenSSL sign replies to messages which are
5780    encrypted. This makes sense in combination with ``$crypt_replyencrypt'',
5781    because it allows you to sign all messages which are automatically
5782    encrypted. This works around the problem noted in ``$crypt_replysign'',
5783    that Mutt-ng is not able to find out whether an encrypted message is also
5784    signed. (Crypto only)
5785
5786 44. $crypt_timestamp
5787
5788    Type: boolean
5789
5790    Default: yes
5791
5792    If set, Mutt-ng will include a time stamp in the lines surrounding PGP or
5793    S/MIME output, so spoofing such lines is more difficult. If you are using
5794    colors to mark these lines, and rely on these, you may unset this setting.
5795    (Crypto only)
5796
5797 45. $crypt_use_gpgme
5798
5799    Type: boolean
5800
5801    Default: no
5802
5803    This variable controls the use the GPGME enabled crypto backends. If it is
5804    set and Mutt-ng was build with gpgme support, the gpgme code for S/MIME
5805    and PGP will be used instead of the classic code.
5806
5807    Note: You need to use this option in your .muttngrc configuration file as
5808    it won't have any effect when used interactively.
5809
5810 46. $crypt_verify_sig
5811
5812    Type: quadoption
5813
5814    Default: yes
5815
5816    If ``yes'', always attempt to verify PGP or S/MIME signatures. If ``ask'',
5817    ask whether or not to verify the signature. If ``no'', never attempt to
5818    verify cryptographic signatures. (Crypto only)
5819
5820 47. $date_format
5821
5822    Type: string
5823
5824    Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
5825
5826    This variable controls the format of the date printed by the ``%d''
5827    sequence in ``$index_format''. This is passed to strftime(3) to process
5828    the date.
5829
5830    Unless the first character in the string is a bang (``!''), the month and
5831    week day names are expanded according to the locale specified in the
5832    variable ``$locale''. If the first character in the string is a bang, the
5833    bang is discarded, and the month and week day names in the rest of the
5834    string are expanded in the C locale (that is in US English).
5835
5836 48. $debug_level
5837
5838    Type: number
5839
5840    Default: 1
5841
5842    Availability: debug
5843
5844    This variable specifies the current debug level and may be used to
5845    increase or decrease the verbosity level during runtime. It overrides the
5846    level given with the -d command line option.
5847
5848    Currently, this number must be >= 0 and <= 5 and muttng must be started
5849    with -d to enable debugging at all; enabling at runtime is not possible.
5850
5851 49. $default_hook
5852
5853    Type: string
5854
5855    Default: "~f %s !~P | (~P ~C %s)"
5856
5857    This variable controls how send-hooks, message-hooks, save-hooks, and
5858    fcc-hooks will be interpreted if they are specified with only a simple
5859    regexp, instead of a matching pattern. The hooks are expanded when they
5860    are declared, so a hook will be interpreted according to the value of this
5861    variable at the time the hook is declared. The default value matches if
5862    the message is either from a user matching the regular expression given,
5863    or if it is from you (if the from address matches ``alternates'') and is
5864    to or cc'ed to a user matching the given regular expression.
5865
5866 50. $delete
5867
5868    Type: quadoption
5869
5870    Default: ask-yes
5871
5872    Controls whether or not messages are really deleted when closing or
5873    synchronizing a mailbox. If set to yes, messages marked for deleting will
5874    automatically be purged without prompting. If set to no, messages marked
5875    for deletion will be kept in the mailbox.
5876
5877 51. $delete_space
5878
5879    Type: boolean
5880
5881    Default: no
5882
5883    When sending messages with format=flowed by setting the $text_flowed
5884    variable, this variable specifies whether to also set the DelSp parameter
5885    to yes. If this is unset, no additional parameter will be send as a value
5886    of no already is the default behavior.
5887
5888    Note: this variable only has an effect on outgoing messages (if
5889    $text_flowed is set) but not on incomming.
5890
5891 52. $delete_untag
5892
5893    Type: boolean
5894
5895    Default: yes
5896
5897    If this option is set, Mutt-ng will untag messages when marking them for
5898    deletion. This applies when you either explicitly delete a message, or
5899    when you save it to another folder.
5900
5901 53. $digest_collapse
5902
5903    Type: boolean
5904
5905    Default: yes
5906
5907    If this option is set, Mutt-ng's received-attachments menu will not show
5908    the subparts of individual messages in a multipart/digest. To see these
5909    subparts, press 'v' on that menu.
5910
5911 54. $display_filter
5912
5913    Type: path
5914
5915    Default: ""
5916
5917    When set, specifies a command used to filter messages. When a message is
5918    viewed it is passed as standard input to $display_filter, and the filtered
5919    message is read from the standard output.
5920
5921 55. $dotlock_program
5922
5923    Type: path
5924
5925    Default: "$muttng_bindir/muttng_dotlock"
5926
5927    Availability: Standalone and Dotlock
5928
5929    Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
5930
5931 56. $dsn_notify
5932
5933    Type: string
5934
5935    Default: ""
5936
5937    Note: you should not enable this unless you are using Sendmail 8.8.x or
5938    greater or in connection with the SMTP support via libESMTP.
5939
5940    This variable sets the request for when notification is returned. The
5941    string consists of a comma separated list (no spaces!) of one or more of
5942    the following: never, to never request notification, failure, to request
5943    notification on transmission failure, delay, to be notified of message
5944    delays, success, to be notified of successful transmission.
5945
5946    Example: set dsn_notify="failure,delay"
5947
5948 57. $dsn_return
5949
5950    Type: string
5951
5952    Default: ""
5953
5954    Note: you should not enable this unless you are using Sendmail 8.8.x or
5955    greater or in connection with the SMTP support via libESMTP.
5956
5957    This variable controls how much of your message is returned in DSN
5958    messages. It may be set to either hdrs to return just the message header,
5959    or full to return the full message.
5960
5961    Example: set dsn_return=hdrs
5962
5963 58. $duplicate_threads
5964
5965    Type: boolean
5966
5967    Default: yes
5968
5969    This variable controls whether Mutt-ng, when sorting by threads, threads
5970    messages with the same Message-Id: header field together. If it is set, it
5971    will indicate that it thinks they are duplicates of each other with an
5972    equals sign in the thread diagram.
5973
5974 59. $edit_headers
5975
5976    Type: boolean
5977
5978    Default: no
5979
5980    This option allows you to edit the header of your outgoing messages along
5981    with the body of your message.
5982
5983    Which empty header fields to show is controlled by the $editor_headers
5984    option.
5985
5986 60. $editor
5987
5988    Type: path
5989
5990    Default: ""
5991
5992    This variable specifies which editor is used by Mutt-ng. It defaults to
5993    the value of the $VISUAL, or $EDITOR, environment variable, or to the
5994    string "vi" if neither of those are set.
5995
5996 61. $editor_headers
5997
5998    Type: string
5999
6000    Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
6001    X-Comment-To:"
6002
6003    If $edit_headers is set, this space-separated list specifies which
6004    non-empty header fields to edit in addition to user-defined headers.
6005
6006    Note: if $edit_headers had to be turned on by force because $strict_mailto
6007    is unset, this option has no effect.
6008
6009 62. $encode_from
6010
6011    Type: boolean
6012
6013    Default: no
6014
6015    When set, Mutt-ng will quoted-printable encode messages when they contain
6016    the string ``From '' (note the trailing space) in the beginning of a line.
6017    Useful to avoid the tampering certain mail delivery and transport agents
6018    tend to do with messages.
6019
6020    Note: as mutt-ng currently violates RfC3676 defining format=flowed, it's
6021    <em/strongly/ advised to set this option although discouraged by the
6022    standard. Alternatively, you must take care of space-stuffing <tt/From /
6023    lines (with a trailing space) yourself.
6024
6025 63. $entropy_file
6026
6027    Type: path
6028
6029    Default: ""
6030
6031    Availability: SSL
6032
6033    The file which includes random data that is used to initialize SSL library
6034    functions.
6035
6036 64. $envelope_from
6037
6038    Type: boolean
6039
6040    Default: no
6041
6042    When set, Mutt-ng will try to derive the message's envelope sender from
6043    the ``From:'' header field. Note that this information is passed to the
6044    sendmail command using the ``-f" command line switch, so don't set this
6045    option if you are using that switch in $sendmail yourself, or if the
6046    sendmail on your machine doesn't support that command line switch.
6047
6048 65. $escape
6049
6050    Type: string
6051
6052    Default: "~"
6053
6054    Escape character to use for functions in the builtin editor.
6055
6056 66. $fast_reply
6057
6058    Type: boolean
6059
6060    Default: no
6061
6062    When set, the initial prompt for recipients and subject are skipped when
6063    replying to messages, and the initial prompt for subject is skipped when
6064    forwarding messages.
6065
6066    Note: this variable has no effect when the ``$autoedit'' variable is set.
6067
6068 67. $fcc_attach
6069
6070    Type: boolean
6071
6072    Default: yes
6073
6074    This variable controls whether or not attachments on outgoing messages are
6075    saved along with the main body of your message.
6076
6077 68. $fcc_clear
6078
6079    Type: boolean
6080
6081    Default: no
6082
6083    When this variable is set, FCCs will be stored unencrypted and unsigned,
6084    even when the actual message is encrypted and/or signed. (PGP only)
6085
6086 69. $file_charset
6087
6088    Type: string
6089
6090    Default: ""
6091
6092    This variable is a colon-separated list of character encoding schemes for
6093    text file attatchments. If unset, $charset value will be used instead. For
6094    example, the following configuration would work for Japanese text
6095    handling:
6096
6097    set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
6098
6099    Note: ``iso-2022-*'' must be put at the head of the value as shown above
6100    if included.
6101
6102 70. $folder
6103
6104    Type: path
6105
6106    Default: "~/Mail"
6107
6108    Specifies the default location of your mailboxes. A ``+'' or ``='' at the
6109    beginning of a pathname will be expanded to the value of this variable.
6110    Note that if you change this variable from the default value you need to
6111    make sure that the assignment occurs before you use ``+'' or ``='' for any
6112    other variables since expansion takes place during the ``set'' command.
6113
6114 71. $folder_format
6115
6116    Type: string
6117
6118    Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
6119
6120    This variable allows you to customize the file browser display to your
6121    personal taste. This string is similar to ``$index_format'', but has its
6122    own set of printf(3)-like sequences:
6123
6124    %C
6125
6126            current file number
6127
6128    %d
6129
6130            date/time folder was last modified
6131
6132    %f
6133
6134            filename
6135
6136    %F
6137
6138            file permissions
6139
6140    %g
6141
6142            group name (or numeric gid, if missing)
6143
6144    %l
6145
6146            number of hard links
6147
6148    %N
6149
6150            N if folder has new mail, blank otherwise
6151
6152    %s
6153
6154            size in bytes
6155
6156    %t
6157
6158            * if the file is tagged, blank otherwise
6159
6160    %u
6161
6162            owner name (or numeric uid, if missing)
6163
6164    %>X
6165
6166            right justify the rest of the string and pad with character "X"
6167
6168    %|X
6169
6170            pad to the end of the line with character "X"
6171
6172 72. $followup_to
6173
6174    Type: boolean
6175
6176    Default: yes
6177
6178    Controls whether or not the Mail-Followup-To: header field is generated
6179    when sending mail. When set, Mutt-ng will generate this field when you are
6180    replying to a known mailing list, specified with the ``subscribe'' or
6181    ``lists'' commands or detected by common mailing list headers.
6182
6183    This field has two purposes. First, preventing you from receiving
6184    duplicate copies of replies to messages which you send to mailing lists.
6185    Second, ensuring that you do get a reply separately for any messages sent
6186    to known lists to which you are not subscribed. The header will contain
6187    only the list's address for subscribed lists, and both the list address
6188    and your own email address for unsubscribed lists. Without this header, a
6189    group reply to your message sent to a subscribed list will be sent to both
6190    the list and your address, resulting in two copies of the same email for
6191    you.
6192
6193 73. $force_buffy_check
6194
6195    Type: boolean
6196
6197    Default: no
6198
6199    When set, it causes Mutt-ng to check for new mail when the buffy-list
6200    command is invoked. When unset, buffy_list will just list all mailboxes
6201    which are already known to have new mail.
6202
6203    Also see the following variables: ``$timeout'', ``$mail_check'' and
6204    ``$imap_mail_check''.
6205
6206 74. $force_name
6207
6208    Type: boolean
6209
6210    Default: no
6211
6212    This variable is similar to ``$save_name'', except that Mutt-ng will store
6213    a copy of your outgoing message by the username of the address you are
6214    sending to even if that mailbox does not exist.
6215
6216    Also see the ``$record'' variable.
6217
6218 75. $forward_decode
6219
6220    Type: boolean
6221
6222    Default: yes
6223
6224    Controls the decoding of complex MIME messages into text/plain when
6225    forwarding a message. The message header is also RFC2047 decoded. This
6226    variable is only used, if ``$mime_forward'' is unset, otherwise
6227    ``$mime_forward_decode'' is used instead.
6228
6229 76. $forward_decrypt
6230
6231    Type: boolean
6232
6233    Default: yes
6234
6235    Controls the handling of encrypted messages when forwarding a message.
6236    When set, the outer layer of encryption is stripped off. This variable is
6237    only used if ``$mime_forward'' is set and ``$mime_forward_decode'' is
6238    unset. (PGP only)
6239
6240 77. $forward_edit
6241
6242    Type: quadoption
6243
6244    Default: yes
6245
6246    This quadoption controls whether or not the user is automatically placed
6247    in the editor when forwarding messages. For those who always want to
6248    forward with no modification, use a setting of no.
6249
6250 78. $forward_format
6251
6252    Type: string
6253
6254    Default: "[%a: %s]"
6255
6256    This variable controls the default subject when forwarding a message. It
6257    uses the same format sequences as the ``$index_format'' variable.
6258
6259 79. $forward_quote
6260
6261    Type: boolean
6262
6263    Default: no
6264
6265    When set forwarded messages included in the main body of the message (when
6266    ``$mime_forward'' is unset) will be quoted using ``$indent_string''.
6267
6268 80. $from
6269
6270    Type: e-mail address
6271
6272    Default: ""
6273
6274    This variable contains a default from address. It can be overridden using
6275    my_hdr (including from send-hooks) and ``$reverse_name''. This variable is
6276    ignored if ``$use_from'' is unset.
6277
6278    E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From:
6279    Foo Bar <foo@bar.fb>' when replying to the mutt-ng developer's mailing
6280    list and Mutt-ng takes this email address.
6281
6282    Defaults to the contents of the environment variable $EMAIL.
6283
6284 81. $gecos_mask
6285
6286    Type: regular expression
6287
6288    Default: "^[^,]*"
6289
6290    A regular expression used by Mutt-ng to parse the GECOS field of a
6291    password entry when expanding the alias. By default the regular expression
6292    is set to ``^[^,]*'' which will return the string up to the first ``,''
6293    encountered. If the GECOS field contains a string like "lastname,
6294    firstname" then you should do: set gecos_mask=".*".
6295
6296    This can be useful if you see the following behavior: you address a e-mail
6297    to user ID stevef whose full name is Steve Franklin. If Mutt-ng expands
6298    stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask
6299    to a regular expression that will match the whole name so Mutt-ng will
6300    expand ``Franklin'' to ``Franklin, Steve''.
6301
6302 82. $hdrs
6303
6304    Type: boolean
6305
6306    Default: yes
6307
6308    When unset, the header fields normally added by the ``my_hdr'' command are
6309    not created. This variable must be unset before composing a new message or
6310    replying in order to take effect. If set, the user defined header fields
6311    are added to every new message.
6312
6313 83. $header
6314
6315    Type: boolean
6316
6317    Default: no
6318
6319    When set, this variable causes Mutt-ng to include the header of the
6320    message you are replying to into the edit buffer. The ``$weed'' setting
6321    applies.
6322
6323 84. $header_cache
6324
6325    Type: path
6326
6327    Default: ""
6328
6329    Availability: Header Cache
6330
6331    The $header_cache variable points to the header cache database.
6332
6333    If $header_cache points to a directory it will contain a header cache
6334    database per folder. If $header_cache points to a file that file will be a
6335    single global header cache. By default it is unset so no header caching
6336    will be used.
6337
6338 85. $header_cache_compress
6339
6340    Type: boolean
6341
6342    Default: no
6343
6344    If enabled the header cache will be compressed. So only one fifth of the
6345    usual diskspace is used, but the uncompression can result in a slower open
6346    of the cached folder.
6347
6348 86. $help
6349
6350    Type: boolean
6351
6352    Default: yes
6353
6354    When set, help lines describing the bindings for the major functions
6355    provided by each menu are displayed on the first line of the screen.
6356
6357    Note: The binding will not be displayed correctly if the function is bound
6358    to a sequence rather than a single keystroke. Also, the help line may not
6359    be updated if a binding is changed while Mutt-ng is running. Since this
6360    variable is primarily aimed at new users, neither of these should present
6361    a major problem.
6362
6363 87. $hidden_host
6364
6365    Type: boolean
6366
6367    Default: no
6368
6369    When set, Mutt-ng will skip the host name part of ``$hostname'' variable
6370    when adding the domain part to addresses. This variable does not affect
6371    the generation of Message-ID: header fields, and it will not lead to the
6372    cut-off of first-level domains.
6373
6374 88. $hide_limited
6375
6376    Type: boolean
6377
6378    Default: no
6379
6380    When set, Mutt-ng will not show the presence of messages that are hidden
6381    by limiting, in the thread tree.
6382
6383 89. $hide_missing
6384
6385    Type: boolean
6386
6387    Default: yes
6388
6389    When set, Mutt-ng will not show the presence of missing messages in the
6390    thread tree.
6391
6392 90. $hide_thread_subject
6393
6394    Type: boolean
6395
6396    Default: yes
6397
6398    When set, Mutt-ng will not show the subject of messages in the thread tree
6399    that have the same subject as their parent or closest previously displayed
6400    sibling.
6401
6402 91. $hide_top_limited
6403
6404    Type: boolean
6405
6406    Default: no
6407
6408    When set, Mutt-ng will not show the presence of messages that are hidden
6409    by limiting, at the top of threads in the thread tree. Note that when
6410    $hide_missing is set, this option will have no effect.
6411
6412 92. $hide_top_missing
6413
6414    Type: boolean
6415
6416    Default: yes
6417
6418    When set, Mutt-ng will not show the presence of missing messages at the
6419    top of threads in the thread tree. Note that when $hide_limited is set,
6420    this option will have no effect.
6421
6422 93. $history
6423
6424    Type: number
6425
6426    Default: 10
6427
6428    This variable controls the size (in number of strings remembered) of the
6429    string history buffer. The buffer is cleared each time the variable is
6430    changed.
6431
6432 94. $honor_followup_to
6433
6434    Type: quadoption
6435
6436    Default: yes
6437
6438    This variable controls whether or not a Mail-Followup-To: header field is
6439    honored when group-replying to a message.
6440
6441 95. $hostname
6442
6443    Type: string
6444
6445    Default: ""
6446
6447    Specifies the hostname to use after the ``@'' in local e-mail addresses
6448    and during generation of Message-Id: headers.
6449
6450    Please be sure to really know what you are doing when changing this
6451    variable to configure a custom domain part of Message-IDs.
6452
6453 96. $ignore_list_reply_to
6454
6455    Type: boolean
6456
6457    Default: no
6458
6459    Affects the behaviour of the reply function when replying to messages from
6460    mailing lists. When set, if the ``Reply-To:'' header field is set to the
6461    same value as the ``To:'' header field, Mutt-ng assumes that the
6462    ``Reply-To:'' header field was set by the mailing list to automate
6463    responses to the list, and will ignore this field. To direct a response to
6464    the mailing list when this option is set, use the list-reply function;
6465    group-reply will reply to both the sender and the list.
6466
6467 97. $imap_authenticators
6468
6469    Type: string
6470
6471    Default: ""
6472
6473    Availability: IMAP
6474
6475    This is a colon-delimited list of authentication methods Mutt-ng may
6476    attempt to use to log in to an IMAP server, in the order Mutt-ng should
6477    try them. Authentication methods are either ``login'' or the right side of
6478    an IMAP ``AUTH='' capability string, e.g. ``digest-md5'', ``gssapi'' or
6479    ``cram-md5''. This parameter is case-insensitive.
6480
6481    If this parameter is unset (the default) Mutt-ng will try all available
6482    methods, in order from most-secure to least-secure.
6483
6484    Example: set imap_authenticators="gssapi:cram-md5:login"
6485
6486    Note: Mutt-ng will only fall back to other authentication methods if the
6487    previous methods are unavailable. If a method is available but
6488    authentication fails, Mutt-ng will not connect to the IMAP server.
6489
6490 98. $imap_check_subscribed
6491
6492    Type: boolean
6493
6494    Default: no
6495
6496    When set, mutt will fetch the set of subscribed folders from your server
6497    on connection, and add them to the set of mailboxes it polls for new mail.
6498    See also the ``mailboxes'' command.
6499
6500 99. $imap_delim_chars
6501
6502    Type: string
6503
6504    Default: "/."
6505
6506    Availability: IMAP
6507
6508    This contains the list of characters which you would like to treat as
6509    folder separators for displaying IMAP paths. In particular it helps in
6510    using the '=' shortcut for your $folder variable.
6511
6512 100. $imap_headers
6513
6514    Type: string
6515
6516    Default: ""
6517
6518    Availability: IMAP
6519
6520    Mutt-ng requests these header fields in addition to the default headers
6521    (``DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
6522    CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL'') from IMAP
6523    servers before displaying the ``index'' menu. You may want to add more
6524    headers for spam detection.
6525
6526    Note: This is a space separated list.
6527
6528 101. $imap_home_namespace
6529
6530    Type: string
6531
6532    Default: ""
6533
6534    Availability: IMAP
6535
6536    You normally want to see your personal folders alongside your INBOX in the
6537    IMAP browser. If you see something else, you may set this variable to the
6538    IMAP path to your folders.
6539
6540 102. $imap_keepalive
6541
6542    Type: number
6543
6544    Default: 900
6545
6546    Availability: IMAP
6547
6548    This variable specifies the maximum amount of time in seconds that Mutt-ng
6549    will wait before polling open IMAP connections, to prevent the server from
6550    closing them before Mutt-ng has finished with them.
6551
6552    The default is well within the RFC-specified minimum amount of time (30
6553    minutes) before a server is allowed to do this, but in practice the RFC
6554    does get violated every now and then.
6555
6556    Reduce this number if you find yourself getting disconnected from your
6557    IMAP server due to inactivity.
6558
6559 103. $imap_list_subscribed
6560
6561    Type: boolean
6562
6563    Default: no
6564
6565    Availability: IMAP
6566
6567    This variable configures whether IMAP folder browsing will look for only
6568    subscribed folders or all folders. This can be toggled in the IMAP browser
6569    with the toggle-subscribed function.
6570
6571 104. $imap_login
6572
6573    Type: string
6574
6575    Default: ""
6576
6577    Availability: IMAP
6578
6579    Your login name on the IMAP server.
6580
6581    This variable defaults to the value of ``$imap_user.''
6582
6583 105. $imap_mail_check
6584
6585    Type: number
6586
6587    Default: 300
6588
6589    This variable configures how often (in seconds) Mutt-ng should look for
6590    new mail in IMAP folders. This is split from the ``mail_check'' variable
6591    to generate less traffic and get more accurate information for local
6592    folders.
6593
6594 106. $imap_pass
6595
6596    Type: string
6597
6598    Default: ""
6599
6600    Availability: IMAP
6601
6602    Specifies the password for your IMAP account. If unset, Mutt-ng will
6603    prompt you for your password when you invoke the fetch-mail function.
6604
6605    Warning: you should only use this option when you are on a fairly secure
6606    machine, because the superuser can read your configuration even if you are
6607    the only one who can read the file.
6608
6609 107. $imap_passive
6610
6611    Type: boolean
6612
6613    Default: yes
6614
6615    Availability: IMAP
6616
6617    When set, Mutt-ng will not open new IMAP connections to check for new
6618    mail. Mutt-ng will only check for new mail over existing IMAP connections.
6619    This is useful if you don't want to be prompted to user/password pairs on
6620    Mutt-ng invocation, or if opening the connection is slow.
6621
6622 108. $imap_peek
6623
6624    Type: boolean
6625
6626    Default: yes
6627
6628    Availability: IMAP
6629
6630    If set, Mutt-ng will avoid implicitly marking your mail as read whenever
6631    you fetch a message from the server. This is generally a good thing, but
6632    can make closing an IMAP folder somewhat slower. This option exists to
6633    appease speed freaks.
6634
6635 109. $imap_reconnect
6636
6637    Type: quadoption
6638
6639    Default: ask-yes
6640
6641    Availability: IMAP
6642
6643    Controls whether or not Mutt-ng will try to reconnect to IMAP server when
6644    the connection is lost.
6645
6646 110. $imap_servernoise
6647
6648    Type: boolean
6649
6650    Default: yes
6651
6652    Availability: IMAP
6653
6654    When set, Mutt-ng will display warning messages from the IMAP server as
6655    error messages. Since these messages are often harmless, or generated due
6656    to configuration problems on the server which are out of the users' hands,
6657    you may wish to suppress them at some point.
6658
6659 111. $imap_user
6660
6661    Type: string
6662
6663    Default: ""
6664
6665    Availability: IMAP
6666
6667    The name of the user whose mail you intend to access on the IMAP server.
6668
6669    This variable defaults to your user name on the local machine.
6670
6671 112. $implicit_autoview
6672
6673    Type: boolean
6674
6675    Default: no
6676
6677    If set, Mutt-ng will look for a mailcap entry with the ``copiousoutput''
6678    flag set for every MIME attachment it doesn't have an internal viewer
6679    defined for. If such an entry is found, Mutt-ng will use the viewer
6680    defined in that entry to convert the body part to text form.
6681
6682 113. $include
6683
6684    Type: quadoption
6685
6686    Default: ask-yes
6687
6688    Controls whether or not a copy of the message(s) you are replying to is
6689    included in your reply.
6690
6691 114. $include_onlyfirst
6692
6693    Type: boolean
6694
6695    Default: no
6696
6697    Controls whether or not Mutt-ng includes only the first attachment of the
6698    message you are replying.
6699
6700 115. $indent_string
6701
6702    Type: string
6703
6704    Default: "> "
6705
6706    Specifies the string to prepend to each line of text quoted in a message
6707    to which you are replying. You are strongly encouraged not to change this
6708    value, as it tends to agitate the more fanatical netizens.
6709
6710 116. $index_format
6711
6712    Type: string
6713
6714    Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
6715
6716    This variable allows you to customize the message index display to your
6717    personal taste.
6718
6719    ``Format strings'' are similar to the strings used in the ``C'' function
6720    printf(3) to format output (see the man page for more detail). The
6721    following sequences are defined in Mutt-ng:
6722
6723    %a
6724
6725            address of the author
6726
6727    %A
6728
6729            reply-to address (if present; otherwise: address of author)
6730
6731    %b
6732
6733            filename of the original message folder (think mailBox)
6734
6735    %B
6736
6737            the list to which the letter was sent, or else the folder name
6738            (%b).
6739
6740    %c
6741
6742            number of characters (bytes) in the message
6743
6744    %C
6745
6746            current message number
6747
6748    %d
6749
6750            date and time of the message in the format specified by
6751            ``date_format'' converted to sender's time zone
6752
6753    %D
6754
6755            date and time of the message in the format specified by
6756            ``date_format'' converted to the local time zone
6757
6758    %e
6759
6760            current message number in thread
6761
6762    %E
6763
6764            number of messages in current thread
6765
6766    %f
6767
6768            entire From: line (address + real name)
6769
6770    %F
6771
6772            author name, or recipient name if the message is from you
6773
6774    %H
6775
6776            spam attribute(s) of this message
6777
6778    %g
6779
6780            newsgroup name (if compiled with nntp support)
6781
6782    %i
6783
6784            message-id of the current message
6785
6786    %l
6787
6788            number of lines in the message (does not work with maildir, mh,
6789            and possibly IMAP folders)
6790
6791    %L
6792
6793            If an address in the To or CC header field matches an address
6794            defined by the users ``subscribe'' command, this displays "To
6795            <list-name>", otherwise the same as %F.
6796
6797    %m
6798
6799            total number of message in the mailbox
6800
6801    %M
6802
6803            number of hidden messages if the thread is collapsed.
6804
6805    %N
6806
6807            message score
6808
6809    %n
6810
6811            author's real name (or address if missing)
6812
6813    %O
6814
6815            (_O_riginal save folder) Where Mutt-ng would formerly have stashed
6816            the message: list name or recipient name if no list
6817
6818    %s
6819
6820            subject of the message
6821
6822    %S
6823
6824            status of the message (N/D/d/!/r/*)
6825
6826    %t
6827
6828            `to:' field (recipients)
6829
6830    %T
6831
6832            the appropriate character from the $to_chars string
6833
6834    %u
6835
6836            user (login) name of the author
6837
6838    %v
6839
6840            first name of the author, or the recipient if the message is from
6841            you
6842
6843    %W
6844
6845            name of organization of author (`organization:' field)
6846
6847    %y
6848
6849            `x-label:' field, if present
6850
6851    %Y
6852
6853            `x-label' field, if present, and (1) not at part of a thread tree,
6854            (2) at the top of a thread, or (3) `x-label' is different from
6855            preceding message's `x-label'.
6856
6857    %Z
6858
6859            message status flags
6860
6861    %{fmt}
6862
6863            the date and time of the message is converted to sender's time
6864            zone, and ``fmt'' is expanded by the library function
6865            ``strftime''; a leading bang disables locales
6866
6867    %[fmt]
6868
6869            the date and time of the message is converted to the local time
6870            zone, and ``fmt'' is expanded by the library function
6871            ``strftime''; a leading bang disables locales
6872
6873    %(fmt)
6874
6875            the local date and time when the message was received. ``fmt'' is
6876            expanded by the library function ``strftime''; a leading bang
6877            disables locales
6878
6879    %<fmt>
6880
6881            the current local time. ``fmt'' is expanded by the library
6882            function ``strftime''; a leading bang disables locales.
6883
6884    %>X
6885
6886            right justify the rest of the string and pad with character "X"
6887
6888    %|X
6889
6890            pad to the end of the line with character "X"
6891
6892    See also: ``$to_chars''.
6893
6894 117. $ispell
6895
6896    Type: path
6897
6898    Default: "ispell"
6899
6900    How to invoke ispell (GNU's spell-checking software).
6901
6902 118. $keep_flagged
6903
6904    Type: boolean
6905
6906    Default: no
6907
6908    If set, read messages marked as flagged will not be moved from your spool
6909    mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
6910    command.
6911
6912 119. $list_reply
6913
6914    Type: quadoption
6915
6916    Default: no
6917
6918    When set, address replies to the mailing list the original message came
6919    from (instead to the author only). Setting this option to ``ask-yes'' or
6920    ``ask-no'' will ask if you really intended to reply to the author only.
6921
6922 120. $locale
6923
6924    Type: string
6925
6926    Default: "C"
6927
6928    The locale used by strftime(3) to format dates. Legal values are the
6929    strings your system accepts for the locale variable LC_TIME.
6930
6931 121. $mail_check
6932
6933    Type: number
6934
6935    Default: 5
6936
6937    This variable configures how often (in seconds) Mutt-ng should look for
6938    new mail.
6939
6940    Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
6941
6942 122. $mailcap_path
6943
6944    Type: string
6945
6946    Default: ""
6947
6948    This variable specifies which files to consult when attempting to display
6949    MIME bodies not directly supported by Mutt-ng.
6950
6951 123. $mailcap_sanitize
6952
6953    Type: boolean
6954
6955    Default: yes
6956
6957    If set, Mutt-ng will restrict possible characters in mailcap % expandos to
6958    a well-defined set of safe characters. This is the safe setting, but we
6959    are not sure it doesn't break some more advanced MIME stuff.
6960
6961    DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
6962
6963 124. $maildir_header_cache_verify
6964
6965    Type: boolean
6966
6967    Default: yes
6968
6969    Availability: Header Cache
6970
6971    Check for Maildir unaware programs other than Mutt-ng having modified
6972    maildir files when the header cache is in use. This incurs one stat(2) per
6973    message every time the folder is opened.
6974
6975 125. $maildir_trash
6976
6977    Type: boolean
6978
6979    Default: no
6980
6981    If set, messages marked as deleted will be saved with the maildir
6982    (T)rashed flag instead of physically deleted.
6983
6984    NOTE: this only applies to maildir-style mailboxes. Setting it will have
6985    no effect on other mailbox types.
6986
6987    It is similiar to the trash option.
6988
6989 126. $mark_old
6990
6991    Type: boolean
6992
6993    Default: yes
6994
6995    Controls whether or not Mutt-ng marks newunread messages as old if you
6996    exit a mailbox without reading them.
6997
6998    With this option set, the next time you start Mutt-ng, the messages will
6999    show up with an "O" next to them in the ``index'' menu, indicating that
7000    they are old.
7001
7002 127. $markers
7003
7004    Type: boolean
7005
7006    Default: yes
7007
7008    Controls the display of wrapped lines in the internal pager. If set, a
7009    ``+'' marker is displayed at the beginning of wrapped lines. Also see the
7010    ``$smart_wrap'' variable.
7011
7012 128. $mask
7013
7014    Type: regular expression
7015
7016    Default: "!^\.[^.]"
7017
7018    A regular expression used in the file browser, optionally preceded by the
7019    not operator ``!''. Only files whose names match this mask will be shown.
7020    The match is always case-sensitive.
7021
7022 129. $max_display_recips
7023
7024    Type: number
7025
7026    Default: 0
7027
7028    When set non-zero, this specifies the maximum number of recipient header
7029    lines (To:, Cc: and Bcc:) to display in the pager if header weeding is
7030    turned on. In case the number of lines exeeds its value, the last line
7031    will have 3 dots appended.
7032
7033 130. $max_line_length
7034
7035    Type: number
7036
7037    Default: 0
7038
7039    When set, the maximum line length for displaying ``format = flowed''
7040    messages is limited to this length. A value of 0 (which is also the
7041    default) means that the maximum line length is determined by the terminal
7042    width and $wrapmargin.
7043
7044 131. $mbox
7045
7046    Type: path
7047
7048    Default: "~/mbox"
7049
7050    This specifies the folder into which read mail in your ``$spoolfile''
7051    folder will be appended.
7052
7053 132. $mbox_type
7054
7055    Type: folder magic
7056
7057    Default: mbox
7058
7059    The default mailbox type used when creating new folders. May be any of
7060    mbox, MMDF, MH and Maildir.
7061
7062 133. $menu_context
7063
7064    Type: number
7065
7066    Default: 0
7067
7068    This variable controls the number of lines of context that are given when
7069    scrolling through menus. (Similar to ``$pager_context''.)
7070
7071 134. $menu_move_off
7072
7073    Type: boolean
7074
7075    Default: yes
7076
7077    When unset, the bottom entry of menus will never scroll up past the bottom
7078    of the screen, unless there are less entries than lines. When set, the
7079    bottom entry may move off the bottom.
7080
7081 135. $menu_scroll
7082
7083    Type: boolean
7084
7085    Default: no
7086
7087    When set, menus will be scrolled up or down one line when you attempt to
7088    move across a screen boundary. If unset, the screen is cleared and the
7089    next or previous page of the menu is displayed (useful for slow links to
7090    avoid many redraws).
7091
7092 136. $message_format
7093
7094    Type: string
7095
7096    Default: "%s"
7097
7098    This is the string displayed in the ``attachment'' menu for attachments of
7099    type message/rfc822. For a full listing of defined printf(3)-like
7100    sequences see the section on ``$index_format''.
7101
7102 137. $meta_key
7103
7104    Type: boolean
7105
7106    Default: no
7107
7108    If set, forces Mutt-ng to interpret keystrokes with the high bit (bit 8)
7109    set as if the user had pressed the ESC key and whatever key remains after
7110    having the high bit removed. For example, if the key pressed has an ASCII
7111    value of 0xf4, then this is treated as if the user had pressed ESC then
7112    ``x''. This is because the result of removing the high bit from ``0xf4''
7113    is ``0x74'', which is the ASCII character ``x''.
7114
7115 138. $metoo
7116
7117    Type: boolean
7118
7119    Default: no
7120
7121    If unset, Mutt-ng will remove your address (see the ``alternates''
7122    command) from the list of recipients when replying to a message.
7123
7124 139. $mh_purge
7125
7126    Type: boolean
7127
7128    Default: no
7129
7130    When unset, Mutt-ng will mimic mh's behaviour and rename deleted messages
7131    to ,<old file name> in mh folders instead of really deleting them. If the
7132    variable is set, the message files will simply be deleted.
7133
7134 140. $mh_seq_flagged
7135
7136    Type: string
7137
7138    Default: "flagged"
7139
7140    The name of the MH sequence used for flagged messages.
7141
7142 141. $mh_seq_replied
7143
7144    Type: string
7145
7146    Default: "replied"
7147
7148    The name of the MH sequence used to tag replied messages.
7149
7150 142. $mh_seq_unseen
7151
7152    Type: string
7153
7154    Default: "unseen"
7155
7156    The name of the MH sequence used for unseen messages.
7157
7158 143. $mime_forward
7159
7160    Type: quadoption
7161
7162    Default: no
7163
7164    When set, the message you are forwarding will be attached as a separate
7165    MIME part instead of included in the main body of the message.
7166
7167    This is useful for forwarding MIME messages so the receiver can properly
7168    view the message as it was delivered to you. If you like to switch between
7169    MIME and not MIME from mail to mail, set this variable to ask-no or
7170    ask-yes.
7171
7172    Also see ``$forward_decode'' and ``$mime_forward_decode''.
7173
7174 144. $mime_forward_decode
7175
7176    Type: boolean
7177
7178    Default: no
7179
7180    Controls the decoding of complex MIME messages into text/plain when
7181    forwarding a message while ``$mime_forward'' is set. Otherwise
7182    ``$forward_decode'' is used instead.
7183
7184 145. $mime_forward_rest
7185
7186    Type: quadoption
7187
7188    Default: yes
7189
7190    When forwarding multiple attachments of a MIME message from the recvattach
7191    menu, attachments which cannot be decoded in a reasonable manner will be
7192    attached to the newly composed message if this option is set.
7193
7194 146. $mix_entry_format
7195
7196    Type: string
7197
7198    Default: "%4n %c %-16s %a"
7199
7200    Availability: Mixmaster
7201
7202    This variable describes the format of a remailer line on the mixmaster
7203    chain selection screen. The following printf(3)-like sequences are
7204    supported:
7205
7206    %n
7207
7208            The running number on the menu.
7209
7210    %c
7211
7212            Remailer capabilities.
7213
7214    %s
7215
7216            The remailer's short name.
7217
7218    %a
7219
7220            The remailer's e-mail address.
7221
7222 147. $mixmaster
7223
7224    Type: path
7225
7226    Default: "mixmaster"
7227
7228    Availability: Mixmaster
7229
7230    This variable contains the path to the Mixmaster binary on your system. It
7231    is used with various sets of parameters to gather the list of known
7232    remailers, and to finally send a message through the mixmaster chain.
7233
7234 148. $move
7235
7236    Type: quadoption
7237
7238    Default: ask-no
7239
7240    Controls whether or not Mutt-ng will move read messages from your spool
7241    mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
7242    command.
7243
7244 149. $msgid_format
7245
7246    Type: string
7247
7248    Default: "%Y%m%d%h%M%s.G%P%p"
7249
7250    This is the format for the ``local part'' of the Message-Id: header field
7251    generated by Mutt-ng. If this variable is empty, no Message-Id: headers
7252    will be generated. The '%' character marks that certain data will be added
7253    to the string, similar to printf(3). The following characters are allowed:
7254
7255    %d
7256
7257            the current day of month
7258
7259    %h
7260
7261            the current hour
7262
7263    %m
7264
7265            the current month
7266
7267    %M
7268
7269            the current minute
7270
7271    %O
7272
7273            the current UNIX timestamp (octal)
7274
7275    %p
7276
7277            the process ID
7278
7279    %P
7280
7281            the current Message-ID prefix (a character rotating with every
7282            Message-ID being generated)
7283
7284    %r
7285
7286            a random integer value (decimal)
7287
7288    %R
7289
7290            a random integer value (hexadecimal)
7291
7292    %s
7293
7294            the current second
7295
7296    %T
7297
7298            the current UNIX timestamp (decimal)
7299
7300    %X
7301
7302            the current UNIX timestamp (hexadecimal)
7303
7304    %Y
7305
7306            the current year (Y2K compliant)
7307
7308    %%
7309
7310            the '%' character
7311
7312    Note: Please only change this setting if you know what you are doing. Also
7313    make sure to consult RFC2822 to produce technically valid strings.
7314
7315 150. $muttng_bindir
7316
7317    Type: system property
7318
7319    Value: /opt/freebsd4/mutt-ng/bin
7320
7321    This is a read-only system property and specifies the directory containing
7322    the muttng binary.
7323
7324 151. $muttng_docdir
7325
7326    Type: system property
7327
7328    Value: /opt/freebsd4/mutt-ng/doc/muttng
7329
7330    This is a read-only system property and specifies the directory containing
7331    the muttng documentation.
7332
7333 152. $muttng_folder_name
7334
7335    Type: system property
7336
7337    Value:
7338
7339    This is a read-only system property and, at runtime, specifies the last
7340    part of the full path or URI of the folder currently open (if any), i.e.
7341    everything after the last ``/''.
7342
7343 153. $muttng_folder_path
7344
7345    Type: system property
7346
7347    Value:
7348
7349    This is a read-only system property and, at runtime, specifies the full
7350    path or URI of the folder currently open (if any).
7351
7352 154. $muttng_hcache_backend
7353
7354    Type: system property
7355
7356    Value: qdbm
7357
7358    This is a read-only system property and specifies the header chaching's
7359    database backend.
7360
7361 155. $muttng_pwd
7362
7363    Type: system property
7364
7365    Value:
7366
7367    This is a read-only system property and, at runtime, specifies the current
7368    working directory of the muttng binary.
7369
7370 156. $muttng_revision
7371
7372    Type: system property
7373
7374    Value: 513
7375
7376    This is a read-only system property and specifies muttng's subversion
7377    revision string.
7378
7379 157. $muttng_sysconfdir
7380
7381    Type: system property
7382
7383    Value: /opt/freebsd4/mutt-ng/etc
7384
7385    This is a read-only system property and specifies the directory containing
7386    the muttng system-wide configuration.
7387
7388 158. $muttng_version
7389
7390    Type: system property
7391
7392    Value: devel
7393
7394    This is a read-only system property and specifies muttng's version string.
7395
7396 159. $narrow_tree
7397
7398    Type: boolean
7399
7400    Default: no
7401
7402    This variable, when set, makes the thread tree narrower, allowing deeper
7403    threads to fit on the screen.
7404
7405 160. $net_inc
7406
7407    Type: number
7408
7409    Default: 10
7410
7411    Operations that expect to transfer a large amount of data over the network
7412    will update their progress every net_inc kilobytes. If set to 0, no
7413    progress messages will be displayed.
7414
7415    See also ``$read_inc'' and ``$write_inc''.
7416
7417 161. $nntp_ask_followup_to
7418
7419    Type: boolean
7420
7421    Default: no
7422
7423    Availability: NNTP
7424
7425    If set, Mutt-ng will prompt you for the Followup-To: header field before
7426    editing the body of an outgoing news article.
7427
7428 162. $nntp_ask_x_comment_to
7429
7430    Type: boolean
7431
7432    Default: no
7433
7434    Availability: NNTP
7435
7436    If set, Mutt-ng will prompt you for the X-Comment-To: header field before
7437    editing the body of an outgoing news article.
7438
7439 163. $nntp_cache_dir
7440
7441    Type: path
7442
7443    Default: "~/.muttng"
7444
7445    Availability: NNTP
7446
7447    This variable points to directory where Mutt-ng will cache news article
7448    headers. If unset, headers will not be saved at all and will be reloaded
7449    each time when you enter a newsgroup.
7450
7451    As for the header caching in connection with IMAP and/or Maildir, this
7452    drastically increases speed and lowers traffic.
7453
7454 164. $nntp_catchup
7455
7456    Type: quadoption
7457
7458    Default: ask-yes
7459
7460    Availability: NNTP
7461
7462    If this variable is set, Mutt-ng will mark all articles in a newsgroup as
7463    read when you leaving it.
7464
7465 165. $nntp_context
7466
7467    Type: number
7468
7469    Default: 1000
7470
7471    Availability: NNTP
7472
7473    This variable controls how many news articles to cache per newsgroup (if
7474    caching is enabled, see $nntp_cache_dir) and how many news articles to
7475    show in the ``index'' menu.
7476
7477    If there're more articles than defined with $nntp_context, all older ones
7478    will be removed/not shown in the index.
7479
7480 166. $nntp_followup_to_poster
7481
7482    Type: quadoption
7483
7484    Default: ask-yes
7485
7486    Availability: NNTP
7487
7488    If this variable is set and the keyword "poster" is present in the
7489    Followup-To: header field, a follow-up to the newsgroup is not permitted.
7490    The message will be mailed to the submitter of the message via mail.
7491
7492 167. $nntp_group_index_format
7493
7494    Type: string
7495
7496    Default: "%4C %M%N %5s %-45.45f %d"
7497
7498    Availability: NNTP
7499
7500    This variable allows you to customize the newsgroup browser display to
7501    your personal taste. This string is similar to ``index_format'', but has
7502    its own set of printf(3)-like sequences:
7503
7504  %C      current newsgroup number
7505  %d      description of newsgroup (retrieved from server)
7506  %f      newsgroup name
7507  %M      ``-'' if newsgroup not allowed for direct post (moderated for example)
7508  %N      ``N'' if newsgroup is new, ``u'' if unsubscribed, blank otherwise
7509  %n      number of new articles in newsgroup
7510  %s      number of unread articles in newsgroup
7511  %>X     right justify the rest of the string and pad with character "X"
7512  %|X     pad to the end of the line with character "X"
7513
7514
7515 168. $nntp_host
7516
7517    Type: string
7518
7519    Default: ""
7520
7521    Availability: NNTP
7522
7523    This variable specifies the name (or address) of the NNTP server to be
7524    used.
7525
7526    It defaults to the value specified via the environment variable
7527    $NNTPSERVER or contained in the file /etc/nntpserver.
7528
7529    You can also specify a username and an alternative port for each
7530    newsserver, e.g.
7531
7532    [nntp[s]://][username[:password]@]newsserver[:port]
7533
7534    Note: Using a password as shown and stored in a configuration file
7535    presents a security risk since the superuser of your machine may read it
7536    regardless of the file's permissions.
7537
7538 169. $nntp_inews
7539
7540    Type: path
7541
7542    Default: ""
7543
7544    Availability: NNTP
7545
7546    If set, specifies the program and arguments used to deliver news posted by
7547    Mutt-ng. Otherwise, Mutt-ng posts article using current connection. The
7548    following printf(3)-style sequence is understood:
7549
7550  %s      newsserver name
7551
7552
7553    Example: set inews="/usr/local/bin/inews -hS"
7554
7555 170. $nntp_load_description
7556
7557    Type: boolean
7558
7559    Default: yes
7560
7561    Availability: NNTP
7562
7563    This variable controls whether or not descriptions for newsgroups are to
7564    be loaded when subscribing to a newsgroup.
7565
7566 171. $nntp_mail_check
7567
7568    Type: number
7569
7570    Default: 60
7571
7572    Availability: NNTP
7573
7574    The time in seconds until any operations on a newsgroup except posting a
7575    new article will cause a recheck for new news. If set to 0, Mutt-ng will
7576    recheck on each operation in index (stepping, read article, etc.).
7577
7578 172. $nntp_mime_subject
7579
7580    Type: boolean
7581
7582    Default: yes
7583
7584    Availability: NNTP
7585
7586    If unset, an 8-bit ``Subject:'' header field in a news article will not be
7587    encoded according to RFC2047.
7588
7589    Note: Only change this setting if you know what you are doing.
7590
7591 173. $nntp_newsrc
7592
7593    Type: path
7594
7595    Default: "~/.newsrc"
7596
7597    Availability: NNTP
7598
7599    This file contains information about subscribed newsgroup and articles
7600    read so far.
7601
7602    To ease the use of multiple news servers, the following printf(3)-style
7603    sequence is understood:
7604
7605  %s      newsserver name
7606
7607
7608 174. $nntp_pass
7609
7610    Type: string
7611
7612    Default: ""
7613
7614    Availability: NNTP
7615
7616    Your password for NNTP account.
7617
7618    Note: Storing passwords in a configuration file presents a security risk
7619    since the superuser of your machine may read it regardless of the file's
7620    permissions.
7621
7622 175. $nntp_post_moderated
7623
7624    Type: quadoption
7625
7626    Default: ask-yes
7627
7628    Availability: NNTP
7629
7630    If set to yes, Mutt-ng will post articles to newsgroup that have not
7631    permissions to post (e.g. moderated).
7632
7633    Note: if the newsserver does not support posting to that newsgroup or a
7634    group is totally read-only, that posting will not have any effect.
7635
7636 176. $nntp_reconnect
7637
7638    Type: quadoption
7639
7640    Default: ask-yes
7641
7642    Availability: NNTP
7643
7644    Controls whether or not Mutt-ng will try to reconnect to a newsserver when
7645    the was connection lost.
7646
7647 177. $nntp_save_unsubscribed
7648
7649    Type: boolean
7650
7651    Default: no
7652
7653    Availability: NNTP
7654
7655    When set, info about unsubscribed newsgroups will be saved into the
7656    ``newsrc'' file and into the news cache.
7657
7658 178. $nntp_show_new_news
7659
7660    Type: boolean
7661
7662    Default: yes
7663
7664    Availability: NNTP
7665
7666    If set, the newsserver will be asked for new newsgroups on entering the
7667    browser. Otherwise, it will be done only once for a newsserver. Also
7668    controls whether or not the number of new articles of subscribed
7669    newsgroups will be checked.
7670
7671 179. $nntp_show_only_unread
7672
7673    Type: boolean
7674
7675    Default: no
7676
7677    Availability: NNTP
7678
7679    If set, only subscribed newsgroups that contain unread articles will be
7680    displayed in the newsgroup browser.
7681
7682 180. $nntp_user
7683
7684    Type: string
7685
7686    Default: ""
7687
7688    Availability: NNTP
7689
7690    Your login name on the NNTP server. If unset and the server requires
7691    authentification, Mutt-ng will prompt you for your account name.
7692
7693 181. $nntp_x_comment_to
7694
7695    Type: boolean
7696
7697    Default: no
7698
7699    Availability: NNTP
7700
7701    If set, Mutt-ng will add a ``X-Comment-To:'' header field (that contains
7702    full name of the original article author) to articles that you followup
7703    to.
7704
7705 182. $operating_system
7706
7707    Type: string
7708
7709    Default: ""
7710
7711    This specifies the operating system name for the User-Agent: header field.
7712    If this is unset, it will be set to the operating system name that
7713    uname(2) returns. If uname(2) fails, ``UNIX'' will be used.
7714
7715    It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
7716
7717 183. $pager
7718
7719    Type: path
7720
7721    Default: "builtin"
7722
7723    This variable specifies which pager you would like to use to view
7724    messages. ``builtin'' means to use the builtin pager, otherwise this
7725    variable should specify the pathname of the external pager you would like
7726    to use.
7727
7728    Using an external pager may have some disadvantages: Additional keystrokes
7729    are necessary because you can't call Mutt-ng functions directly from the
7730    pager, and screen resizes cause lines longer than the screen width to be
7731    badly formatted in the help menu.
7732
7733 184. $pager_context
7734
7735    Type: number
7736
7737    Default: 0
7738
7739    This variable controls the number of lines of context that are given when
7740    displaying the next or previous page in the internal pager. By default,
7741    Mutt-ng will display the line after the last one on the screen at the top
7742    of the next page (0 lines of context).
7743
7744 185. $pager_format
7745
7746    Type: string
7747
7748    Default: "-%Z- %C/%m: %-20.20n %s"
7749
7750    This variable controls the format of the one-line message ``status''
7751    displayed before each message in either the internal or an external pager.
7752    The valid sequences are listed in the ``$index_format'' section.
7753
7754 186. $pager_index_lines
7755
7756    Type: number
7757
7758    Default: 0
7759
7760    Determines the number of lines of a mini-index which is shown when in the
7761    pager. The current message, unless near the top or bottom of the folder,
7762    will be roughly one third of the way down this mini-index, giving the
7763    reader the context of a few messages before and after the message. This is
7764    useful, for example, to determine how many messages remain to be read in
7765    the current thread. One of the lines is reserved for the status bar from
7766    the index, so a pager_index_lines of 6 will only show 5 lines of the
7767    actual index. A value of 0 results in no index being shown. If the number
7768    of messages in the current folder is less than pager_index_lines, then the
7769    index will only use as many lines as it needs.
7770
7771 187. $pager_stop
7772
7773    Type: boolean
7774
7775    Default: no
7776
7777    When set, the internal-pager will not move to the next message when you
7778    are at the end of a message and invoke the next-page function.
7779
7780 188. $pgp_auto_decode
7781
7782    Type: boolean
7783
7784    Default: no
7785
7786    If set, Mutt-ng will automatically attempt to decrypt traditional PGP
7787    messages whenever the user performs an operation which ordinarily would
7788    result in the contents of the message being operated on. For example, if
7789    the user displays a pgp-traditional message which has not been manually
7790    checked with the check-traditional-pgp function, Mutt-ng will
7791    automatically check the message for traditional pgp.
7792
7793 189. $pgp_autoinline
7794
7795    Type: boolean
7796
7797    Default: no
7798
7799    This option controls whether Mutt-ng generates old-style inline
7800    (traditional) PGP encrypted or signed messages under certain
7801    circumstances. This can be overridden by use of the pgp-menu, when inline
7802    is not required.
7803
7804    Note that Mutt-ng might automatically use PGP/MIME for messages which
7805    consist of more than a single MIME part. Mutt-ng can be configured to ask
7806    before sending PGP/MIME messages when inline (traditional) would not work.
7807    See also: ``$pgp_mime_auto''.
7808
7809    Also note that using the old-style PGP message format is
7810    stronglydeprecated. (PGP only)
7811
7812 190. $pgp_check_exit
7813
7814    Type: boolean
7815
7816    Default: yes
7817
7818    If set, Mutt-ng will check the exit code of the PGP subprocess when
7819    signing or encrypting. A non-zero exit code means that the subprocess
7820    failed. (PGP only)
7821
7822 191. $pgp_clearsign_command
7823
7824    Type: string
7825
7826    Default: ""
7827
7828    This format is used to create a old-style ``clearsigned'' PGP message.
7829
7830    Note that the use of this format is stronglydeprecated. (PGP only)
7831
7832 192. $pgp_decode_command
7833
7834    Type: string
7835
7836    Default: ""
7837
7838    This format strings specifies a command which is used to decode
7839    application/pgp attachments.
7840
7841    The PGP command formats have their own set of printf(3)-like sequences:
7842
7843    %p
7844
7845            Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
7846            string otherwise. Note: This may be used with a %? construct.
7847
7848    %f
7849
7850            Expands to the name of a file containing a message.
7851
7852    %s
7853
7854            Expands to the name of a file containing the signature part of a
7855            multipart/signed attachment when verifying it.
7856
7857    %a
7858
7859            The value of $pgp_sign_as.
7860
7861    %r
7862
7863            One or more key IDs.
7864
7865    For examples on how to configure these formats for the various versions of
7866    PGP which are floating around, see the pgp*.rc and gpg.rc files in the
7867    samples/ subdirectory which has been installed on your system alongside
7868    the documentation. (PGP only)
7869
7870 193. $pgp_decrypt_command
7871
7872    Type: string
7873
7874    Default: ""
7875
7876    This command is used to decrypt a PGP encrypted message. (PGP only)
7877
7878 194. $pgp_encrypt_only_command
7879
7880    Type: string
7881
7882    Default: ""
7883
7884    This command is used to encrypt a body part without signing it. (PGP only)
7885
7886 195. $pgp_encrypt_sign_command
7887
7888    Type: string
7889
7890    Default: ""
7891
7892    This command is used to both sign and encrypt a body part. (PGP only)
7893
7894 196. $pgp_entry_format
7895
7896    Type: string
7897
7898    Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
7899
7900    This variable allows you to customize the PGP key selection menu to your
7901    personal taste. This string is similar to ``$index_format'', but has its
7902    own set of printf(3)-like sequences:
7903
7904    %n
7905
7906            number
7907
7908    %k
7909
7910            key id
7911
7912    %u
7913
7914            user id
7915
7916    %a
7917
7918            algorithm
7919
7920    %l
7921
7922            key length
7923
7924    %f
7925
7926            flags
7927
7928    %c
7929
7930            capabilities
7931
7932    %t
7933
7934            trust/validity of the key-uid association
7935
7936    %[<s>]
7937
7938            date of the key where <s> is an strftime(3) expression
7939
7940    (PGP only)
7941
7942 197. $pgp_export_command
7943
7944    Type: string
7945
7946    Default: ""
7947
7948    This command is used to export a public key from the user's key ring. (PGP
7949    only)
7950
7951 198. $pgp_getkeys_command
7952
7953    Type: string
7954
7955    Default: ""
7956
7957    This command is invoked whenever Mutt-ng will need public key information.
7958    %r is the only printf(3)-like sequence used with this format. (PGP only)
7959
7960 199. $pgp_good_sign
7961
7962    Type: regular expression
7963
7964    Default: ""
7965
7966    If you assign a text to this variable, then a PGP signature is only
7967    considered verified if the output from $pgp_verify_command contains the
7968    text. Use this variable if the exit code from the command is 0 even for
7969    bad signatures. (PGP only)
7970
7971 200. $pgp_ignore_subkeys
7972
7973    Type: boolean
7974
7975    Default: yes
7976
7977    Setting this variable will cause Mutt-ng to ignore OpenPGP subkeys.
7978    Instead, the principal key will inherit the subkeys' capabilities. Unset
7979    this if you want to play interesting key selection games. (PGP only)
7980
7981 201. $pgp_import_command
7982
7983    Type: string
7984
7985    Default: ""
7986
7987    This command is used to import a key from a message into the user's public
7988    key ring. (PGP only)
7989
7990 202. $pgp_list_pubring_command
7991
7992    Type: string
7993
7994    Default: ""
7995
7996    This command is used to list the public key ring's contents. The output
7997    format must be analogous to the one used by gpg --list-keys --with-colons.
7998
7999    This format is also generated by the pgpring utility which comes with
8000    Mutt-ng. (PGP only)
8001
8002 203. $pgp_list_secring_command
8003
8004    Type: string
8005
8006    Default: ""
8007
8008    This command is used to list the secret key ring's contents. The output
8009    format must be analogous to the one used by gpg --list-keys --with-colons.
8010
8011    This format is also generated by the pgpring utility which comes with
8012    Mutt-ng. (PGP only)
8013
8014 204. $pgp_long_ids
8015
8016    Type: boolean
8017
8018    Default: no
8019
8020    If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
8021    only)
8022
8023 205. $pgp_mime_auto
8024
8025    Type: quadoption
8026
8027    Default: ask-yes
8028
8029    This option controls whether Mutt-ng will prompt you for automatically
8030    sending a (signed/encrypted) message using PGP/MIME when inline
8031    (traditional) fails (for any reason).
8032
8033    Also note that using the old-style PGP message format is
8034    stronglydeprecated. (PGP only)
8035
8036 206. $pgp_replyinline
8037
8038    Type: boolean
8039
8040    Default: no
8041
8042    Setting this variable will cause Mutt-ng to always attempt to create an
8043    inline (traditional) message when replying to a message which is PGP
8044    encrypted/signed inline. This can be overridden by use of the pgp-menu,
8045    when inline is not required. This option does not automatically detect if
8046    the (replied-to) message is inline; instead it relies on Mutt-ng internals
8047    for previously checked/flagged messages.
8048
8049    Note that Mutt-ng might automatically use PGP/MIME for messages which
8050    consist of more than a single MIME part. Mutt-ng can be configured to ask
8051    before sending PGP/MIME messages when inline (traditional) would not work.
8052    See also: ``$pgp_mime_auto''.
8053
8054    Also note that using the old-style PGP message format is
8055    stronglydeprecated. (PGP only)
8056
8057 207. $pgp_retainable_sigs
8058
8059    Type: boolean
8060
8061    Default: no
8062
8063    If set, signed and encrypted messages will consist of nested
8064    multipart/signed and multipart/encrypted body parts.
8065
8066    This is useful for applications like encrypted and signed mailing lists,
8067    where the outer layer (multipart/encrypted) can be easily removed, while
8068    the inner multipart/signed part is retained. (PGP only)
8069
8070 208. $pgp_show_unusable
8071
8072    Type: boolean
8073
8074    Default: yes
8075
8076    If set, Mutt-ng will display non-usable keys on the PGP key selection
8077    menu. This includes keys which have been revoked, have expired, or have
8078    been marked as ``disabled'' by the user. (PGP only)
8079
8080 209. $pgp_sign_as
8081
8082    Type: string
8083
8084    Default: ""
8085
8086    If you have more than one key pair, this option allows you to specify
8087    which of your private keys to use. It is recommended that you use the
8088    keyid form to specify your key (e.g., ``0x00112233''). (PGP only)
8089
8090 210. $pgp_sign_command
8091
8092    Type: string
8093
8094    Default: ""
8095
8096    This command is used to create the detached PGP signature for a
8097    multipart/signed PGP/MIME body part. (PGP only)
8098
8099 211. $pgp_sort_keys
8100
8101    Type: sort order
8102
8103    Default: address
8104
8105    Specifies how the entries in the ``pgp keys'' menu are sorted. The
8106    following are legal values:
8107
8108    address
8109
8110            sort alphabetically by user id
8111
8112    keyid
8113
8114            sort alphabetically by key id
8115
8116    date
8117
8118            sort by key creation date
8119
8120    trust
8121
8122            sort by the trust of the key
8123
8124    If you prefer reverse order of the above values, prefix it with
8125    ``reverse-''. (PGP only)
8126
8127 212. $pgp_strict_enc
8128
8129    Type: boolean
8130
8131    Default: yes
8132
8133    If set, Mutt-ng will automatically encode PGP/MIME signed messages as
8134    quoted-printable. Please note that unsetting this variable may lead to
8135    problems with non-verifyable PGP signatures, so only change this if you
8136    know what you are doing. (PGP only)
8137
8138 213. $pgp_timeout
8139
8140    Type: number
8141
8142    Default: 300
8143
8144    The number of seconds after which a cached passphrase will expire if not
8145    used. Default: 300. (PGP only)
8146
8147 214. $pgp_use_gpg_agent
8148
8149    Type: boolean
8150
8151    Default: no
8152
8153    If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
8154
8155 215. $pgp_verify_command
8156
8157    Type: string
8158
8159    Default: ""
8160
8161    This command is used to verify PGP signatures. (PGP only)
8162
8163 216. $pgp_verify_key_command
8164
8165    Type: string
8166
8167    Default: ""
8168
8169    This command is used to verify key information from the key selection
8170    menu. (PGP only)
8171
8172 217. $pipe_decode
8173
8174    Type: boolean
8175
8176    Default: no
8177
8178    Used in connection with the pipe-message command. When unset, Mutt-ng will
8179    pipe the messages without any preprocessing. When set, Mutt-ng will weed
8180    headers and will attempt to PGP/MIME decode the messages first.
8181
8182 218. $pipe_sep
8183
8184    Type: string
8185
8186    Default: "\n"
8187
8188    The separator to add between messages when piping a list of tagged
8189    messages to an external Unix command.
8190
8191 219. $pipe_split
8192
8193    Type: boolean
8194
8195    Default: no
8196
8197    Used in connection with the pipe-message command and the ``tag- prefix''
8198    or ``tag-prefix-cond'' operators. If this variable is unset, when piping a
8199    list of tagged messages Mutt-ng will concatenate the messages and will
8200    pipe them as a single folder. When set, Mutt-ng will pipe the messages one
8201    by one. In both cases the messages are piped in the current sorted order,
8202    and the ``$pipe_sep'' separator is added after each message.
8203
8204 220. $pop_auth_try_all
8205
8206    Type: boolean
8207
8208    Default: yes
8209
8210    Availability: POP
8211
8212    If set, Mutt-ng will try all available methods. When unset, Mutt-ng will
8213    only fall back to other authentication methods if the previous methods are
8214    unavailable. If a method is available but authentication fails, Mutt-ng
8215    will not connect to the POP server.
8216
8217 221. $pop_authenticators
8218
8219    Type: string
8220
8221    Default: ""
8222
8223    Availability: POP
8224
8225    This is a colon-delimited list of authentication methods Mutt-ng may
8226    attempt to use to log in to an POP server, in the order Mutt-ng should try
8227    them. Authentication methods are either ``user'', ``apop'' or any SASL
8228    mechanism, eg ``digest-md5'', ``gssapi'' or ``cram-md5''.
8229
8230    This parameter is case-insensitive. If this parameter is unset (the
8231    default) Mutt-ng will try all available methods, in order from most-secure
8232    to least-secure.
8233
8234    Example: set pop_authenticators="digest-md5:apop:user"
8235
8236 222. $pop_delete
8237
8238    Type: quadoption
8239
8240    Default: ask-no
8241
8242    Availability: POP
8243
8244    If set, Mutt-ng will delete successfully downloaded messages from the POP
8245    server when using the ``fetch-mail'' function. When unset, Mutt-ng will
8246    download messages but also leave them on the POP server.
8247
8248 223. $pop_host
8249
8250    Type: string
8251
8252    Default: ""
8253
8254    Availability: POP
8255
8256    The name of your POP server for the ``fetch-mail'' function. You can also
8257    specify an alternative port, username and password, i.e.:
8258
8259    [pop[s]://][username[:password]@]popserver[:port]
8260
8261    Note: Storing passwords in a configuration file presents a security risk
8262    since the superuser of your machine may read it regardless of the file's
8263    permissions.
8264
8265 224. $pop_last
8266
8267    Type: boolean
8268
8269    Default: no
8270
8271    Availability: POP
8272
8273    If this variable is set, Mutt-ng will try to use the ``LAST'' POP command
8274    for retrieving only unread messages from the POP server when using the
8275    ``fetch-mail'' function.
8276
8277 225. $pop_mail_check
8278
8279    Type: number
8280
8281    Default: 60
8282
8283    Availability: POP
8284
8285    This variable configures how often (in seconds) POP should look for new
8286    mail.
8287
8288 226. $pop_pass
8289
8290    Type: string
8291
8292    Default: ""
8293
8294    Availability: POP
8295
8296    Specifies the password for your POP account. If unset, Mutt-ng will prompt
8297    you for your password when you open POP mailbox.
8298
8299    Note: Storing passwords in a configuration file presents a security risk
8300    since the superuser of your machine may read it regardless of the file's
8301    permissions.
8302
8303 227. $pop_reconnect
8304
8305    Type: quadoption
8306
8307    Default: ask-yes
8308
8309    Availability: POP
8310
8311    Controls whether or not Mutt-ng will try to reconnect to a POP server when
8312    the connection is lost.
8313
8314 228. $pop_user
8315
8316    Type: string
8317
8318    Default: ""
8319
8320    Availability: POP
8321
8322    Your login name on the POP server.
8323
8324    This variable defaults to your user name on the local machine.
8325
8326 229. $post_indent_string
8327
8328    Type: string
8329
8330    Default: ""
8331
8332    Similar to the ``$attribution'' variable, Mutt-ng will append this string
8333    after the inclusion of a message which is being replied to.
8334
8335 230. $postpone
8336
8337    Type: quadoption
8338
8339    Default: ask-yes
8340
8341    Controls whether or not messages are saved in the ``$postponed'' mailbox
8342    when you elect not to send immediately.
8343
8344 231. $postponed
8345
8346    Type: path
8347
8348    Default: "~/postponed"
8349
8350    Mutt-ng allows you to indefinitely ``postpone sending a message'' which
8351    you are editing. When you choose to postpone a message, Mutt-ng saves it
8352    in the mailbox specified by this variable. Also see the ``$postpone''
8353    variable.
8354
8355 232. $preconnect
8356
8357    Type: string
8358
8359    Default: ""
8360
8361    If set, a shell command to be executed if Mutt-ng fails to establish a
8362    connection to the server. This is useful for setting up secure
8363    connections, e.g. with ssh(1). If the command returns a nonzero status,
8364    Mutt-ng gives up opening the server. Example:
8365
8366    preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 <
8367    /dev/null > /dev/null"
8368
8369    Mailbox ``foo'' on mailhost.net can now be reached as
8370    ``{localhost:1234}foo''.
8371
8372    Note: For this example to work, you must be able to log in to the remote
8373    machine without having to enter a password.
8374
8375 233. $print
8376
8377    Type: quadoption
8378
8379    Default: ask-no
8380
8381    Controls whether or not Mutt-ng really prints messages. This is set to
8382    ask-no by default, because some people accidentally hit ``p'' often.
8383
8384 234. $print_command
8385
8386    Type: path
8387
8388    Default: "lpr"
8389
8390    This specifies the command pipe that should be used to print messages.
8391
8392 235. $print_decode
8393
8394    Type: boolean
8395
8396    Default: yes
8397
8398    Used in connection with the print-message command. If this option is set,
8399    the message is decoded before it is passed to the external command
8400    specified by $print_command. If this option is unset, no processing will
8401    be applied to the message when printing it. The latter setting may be
8402    useful if you are using some advanced printer filter which is able to
8403    properly format e-mail messages for printing.
8404
8405 236. $print_split
8406
8407    Type: boolean
8408
8409    Default: no
8410
8411    Used in connection with the print-message command. If this option is set,
8412    the command specified by $print_command is executed once for each message
8413    which is to be printed. If this option is unset, the command specified by
8414    $print_command is executed only once, and all the messages are
8415    concatenated, with a form feed as the message separator.
8416
8417    Those who use the enscript(1) program's mail-printing mode will most
8418    likely want to set this option.
8419
8420 237. $prompt_after
8421
8422    Type: boolean
8423
8424    Default: yes
8425
8426    If you use an external ``$pager'', setting this variable will cause
8427    Mutt-ng to prompt you for a command when the pager exits rather than
8428    returning to the index menu. If unset, Mutt-ng will return to the index
8429    menu when the external pager exits.
8430
8431 238. $query_command
8432
8433    Type: path
8434
8435    Default: ""
8436
8437    This specifies the command that Mutt-ng will use to make external address
8438    queries. The string should contain a %s, which will be substituted with
8439    the query string the user types. See ``query'' for more information.
8440
8441 239. $quit
8442
8443    Type: quadoption
8444
8445    Default: yes
8446
8447    This variable controls whether ``quit'' and ``exit'' actually quit from
8448    Mutt-ng. If it set to yes, they do quit, if it is set to no, they have no
8449    effect, and if it is set to ask-yes or ask-no, you are prompted for
8450    confirmation when you try to quit.
8451
8452 240. $quote_empty
8453
8454    Type: boolean
8455
8456    Default: yes
8457
8458    Controls whether or not empty lines will be quoted using
8459    ``indent_string''.
8460
8461 241. $quote_quoted
8462
8463    Type: boolean
8464
8465    Default: no
8466
8467    Controls how quoted lines will be quoted. If set, one quote character will
8468    be added to the end of existing prefix. Otherwise, quoted lines will be
8469    prepended by ``indent_string''.
8470
8471 242. $quote_regexp
8472
8473    Type: regular expression
8474
8475    Default: "^([ \t]*[|>:}#])+"
8476
8477    A regular expression used in the internal-pager to determine quoted
8478    sections of text in the body of a message.
8479
8480    Note: In order to use the quotedx patterns in the internal pager, you need
8481    to set this to a regular expression that matches exactly the quote
8482    characters at the beginning of quoted lines.
8483
8484 243. $read_inc
8485
8486    Type: number
8487
8488    Default: 10
8489
8490    If set to a value greater than 0, Mutt-ng will display which message it is
8491    currently on when reading a mailbox. The message is printed after read_inc
8492    messages have been read (e.g., if set to 25, Mutt-ng will print a message
8493    when it reads message 25, and then again when it gets to message 50). This
8494    variable is meant to indicate progress when reading large mailboxes which
8495    may take some time. When set to 0, only a single message will appear
8496    before the reading the mailbox.
8497
8498    Also see the ``$write_inc'' variable.
8499
8500 244. $read_only
8501
8502    Type: boolean
8503
8504    Default: no
8505
8506    If set, all folders are opened in read-only mode.
8507
8508 245. $realname
8509
8510    Type: string
8511
8512    Default: ""
8513
8514    This variable specifies what ``real'' or ``personal'' name should be used
8515    when sending messages.
8516
8517    By default, this is the GECOS field from /etc/passwd.
8518
8519    Note: This variable will not be used when the user has set a real name in
8520    the $from variable.
8521
8522 246. $recall
8523
8524    Type: quadoption
8525
8526    Default: ask-yes
8527
8528    Controls whether or not Mutt-ng recalls postponed messages when composing
8529    a new message. Also see ``$postponed''.
8530
8531    Setting this variable to yes is not generally useful, and thus not
8532    recommended.
8533
8534 247. $record
8535
8536    Type: path
8537
8538    Default: ""
8539
8540    This specifies the file into which your outgoing messages should be
8541    appended. (This is meant as the primary method for saving a copy of your
8542    messages, but another way to do this is using the ``my_hdr'' command to
8543    create a Bcc: header field with your email address in it.)
8544
8545    The value of $record is overridden by the ``$force_name'' and
8546    ``$save_name'' variables, and the ``fcc-hook'' command.
8547
8548 248. $reply_regexp
8549
8550    Type: regular expression
8551
8552    Default: "^(re([\[0-9\]+])*|aw):[ \t]*"
8553
8554    A regular expression used to recognize reply messages when threading and
8555    replying. The default value corresponds to the English ``Re:'' and the
8556    German ``Aw:''.
8557
8558 249. $reply_self
8559
8560    Type: boolean
8561
8562    Default: no
8563
8564    If unset and you are replying to a message sent by you, Mutt-ng will
8565    assume that you want to reply to the recipients of that message rather
8566    than to yourself.
8567
8568 250. $reply_to
8569
8570    Type: quadoption
8571
8572    Default: ask-yes
8573
8574    If set, when replying to a message, Mutt-ng will use the address listed in
8575    the ``Reply-To:'' header field as the recipient of the reply. If unset, it
8576    will use the address in the ``From:'' header field instead.
8577
8578    This option is useful for reading a mailing list that sets the
8579    ``Reply-To:'' header field to the list address and you want to send a
8580    private message to the author of a message.
8581
8582 251. $resolve
8583
8584    Type: boolean
8585
8586    Default: yes
8587
8588    When set, the cursor will be automatically advanced to the next (possibly
8589    undeleted) message whenever a command that modifies the current message is
8590    executed.
8591
8592 252. $reverse_alias
8593
8594    Type: boolean
8595
8596    Default: no
8597
8598    This variable controls whether or not Mutt-ng will display the
8599    ``personal'' name from your aliases in the index menu if it finds an alias
8600    that matches the message's sender. For example, if you have the following
8601    alias:
8602
8603    alias juser abd30425@somewhere.net (Joe User)
8604
8605    and then you receive mail which contains the following header:
8606
8607    From: abd30425@somewhere.net
8608
8609    It would be displayed in the index menu as ``Joe User'' instead of
8610    ``abd30425@somewhere.net.'' This is useful when the person's e-mail
8611    address is not human friendly (like CompuServe addresses).
8612
8613 253. $reverse_name
8614
8615    Type: boolean
8616
8617    Default: no
8618
8619    It may sometimes arrive that you receive mail to a certain machine, move
8620    the messages to another machine, and reply to some the messages from
8621    there. If this variable is set, the default From: line of the reply
8622    messages is built using the address where you received the messages you
8623    are replying to if that address matches your alternates. If the variable
8624    is unset, or the address that would be used doesn't match your alternates,
8625    the From: line will use your address on the current machine.
8626
8627 254. $reverse_realname
8628
8629    Type: boolean
8630
8631    Default: yes
8632
8633    This variable fine-tunes the behaviour of the reverse_name feature. When
8634    it is set, Mutt-ng will use the address from incoming messages as-is,
8635    possibly including eventual real names. When it is unset, Mutt-ng will
8636    override any such real names with the setting of the realname variable.
8637
8638 255. $rfc2047_parameters
8639
8640    Type: boolean
8641
8642    Default: no
8643
8644    When this variable is set, Mutt-ng will decode RFC-2047-encoded MIME
8645    parameters. You want to set this variable when Mutt-ng suggests you to
8646    save attachments to files named like this:
8647
8648    =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
8649
8650    When this variable is set interactively, the change doesn't have the
8651    desired effect before you have changed folders.
8652
8653    Note that this use of RFC 2047's encoding is explicitly, prohibited by the
8654    standard, but nevertheless encountered in the wild.
8655
8656    Also note that setting this parameter will not have the effect that
8657    Mutt-ng generates this kind of encoding. Instead, Mutt-ng will
8658    unconditionally use the encoding specified in RFC 2231.
8659
8660 256. $save_address
8661
8662    Type: boolean
8663
8664    Default: no
8665
8666    If set, Mutt-ng will take the sender's full address when choosing a
8667    default folder for saving a mail. If ``$save_name'' or ``$force_name'' is
8668    set too, the selection of the fcc folder will be changed as well.
8669
8670 257. $save_empty
8671
8672    Type: boolean
8673
8674    Default: yes
8675
8676    When unset, mailboxes which contain no saved messages will be removed when
8677    closed (the exception is ``$spoolfile'' which is never removed). If set,
8678    mailboxes are never removed.
8679
8680    Note: This only applies to mbox and MMDF folders, Mutt-ng does not delete
8681    MH and Maildir directories.
8682
8683 258. $save_name
8684
8685    Type: boolean
8686
8687    Default: no
8688
8689    This variable controls how copies of outgoing messages are saved. When
8690    set, a check is made to see if a mailbox specified by the recipient
8691    address exists (this is done by searching for a mailbox in the ``$folder''
8692    directory with the username part of the recipient address). If the mailbox
8693    exists, the outgoing message will be saved to that mailbox, otherwise the
8694    message is saved to the ``$record'' mailbox.
8695
8696    Also see the ``$force_name'' variable.
8697
8698 259. $score
8699
8700    Type: boolean
8701
8702    Default: yes
8703
8704    When this variable is unset, scoring is turned off. This can be useful to
8705    selectively disable scoring for certain folders when the
8706    ``$score_threshold_delete'' variable and friends are used.
8707
8708 260. $score_threshold_delete
8709
8710    Type: number
8711
8712    Default: -1
8713
8714    Messages which have been assigned a score equal to or lower than the value
8715    of this variable are automatically marked for deletion by Mutt-ng. Since
8716    Mutt-ng scores are always greater than or equal to zero, the default
8717    setting of this variable will never mark a message for deletion.
8718
8719 261. $score_threshold_flag
8720
8721    Type: number
8722
8723    Default: 9999
8724
8725    Messages which have been assigned a score greater than or equal to this
8726    variable's value are automatically marked ``flagged''.
8727
8728 262. $score_threshold_read
8729
8730    Type: number
8731
8732    Default: -1
8733
8734    Messages which have been assigned a score equal to or lower than the value
8735    of this variable are automatically marked as read by Mutt-ng. Since
8736    Mutt-ng scores are always greater than or equal to zero, the default
8737    setting of this variable will never mark a message read.
8738
8739 263. $send_charset
8740
8741    Type: string
8742
8743    Default: "us-ascii:iso-8859-1:utf-8"
8744
8745    A list of character sets for outgoing messages. Mutt-ng will use the first
8746    character set into which the text can be converted exactly. If your
8747    ``$charset'' is not iso-8859-1 and recipients may not understand UTF-8, it
8748    is advisable to include in the list an appropriate widely used standard
8749    character set (such as iso-8859-2, koi8-r or iso-2022-jp) either instead
8750    of or after iso-8859-1.
8751
8752 264. $sendmail
8753
8754    Type: path
8755
8756    Default: "/usr/sbin/sendmail -oem -oi"
8757
8758    Specifies the program and arguments used to deliver mail sent by Mutt-ng.
8759    Mutt-ng expects that the specified program interprets additional arguments
8760    as recipient addresses.
8761
8762 265. $sendmail_wait
8763
8764    Type: number
8765
8766    Default: 0
8767
8768    Specifies the number of seconds to wait for the ``$sendmail'' process to
8769    finish before giving up and putting delivery in the background.
8770
8771    Mutt-ng interprets the value of this variable as follows:
8772
8773    >0
8774
8775            number of seconds to wait for sendmail to finish before continuing
8776
8777    0
8778
8779            wait forever for sendmail to finish
8780
8781    <0
8782
8783            always put sendmail in the background without waiting
8784
8785    Note that if you specify a value other than 0, the output of the child
8786    process will be put in a temporary file. If there is some error, you will
8787    be informed as to where to find the output.
8788
8789 266. $shell
8790
8791    Type: path
8792
8793    Default: ""
8794
8795    Command to use when spawning a subshell. By default, the user's login
8796    shell from /etc/passwd is used.
8797
8798 267. $sidebar_boundary
8799
8800    Type: string
8801
8802    Default: "."
8803
8804    When the sidebar is displayed and $sidebar_shorten_hierarchy is set, this
8805    variable specifies the characters at which to split a folder name into
8806    ``hierarchy items.''
8807
8808 268. $sidebar_delim
8809
8810    Type: string
8811
8812    Default: "|"
8813
8814    This specifies the delimiter between the sidebar (if visible) and other
8815    screens.
8816
8817 269. $sidebar_newmail_only
8818
8819    Type: boolean
8820
8821    Default: no
8822
8823    If set, only folders with new mail will be shown in the sidebar.
8824
8825 270. $sidebar_number_format
8826
8827    Type: string
8828
8829    Default: "%m%?n?(%n)?%?f?[%f]?"
8830
8831    This variable controls how message counts are printed when the sidebar is
8832    enabled. If this variable is empty (and only if), no numbers will be
8833    printed and mutt-ng won't frequently count mail (which may be a great
8834    speedup esp. with mbox-style mailboxes.)
8835
8836    The following printf(3)-like sequences are supported all of which may be
8837    printed non-zero:
8838
8839    %d
8840
8841            Number of deleted messages. 1)
8842
8843    %F
8844
8845            Number of flagged messages.
8846
8847    %m
8848
8849            Total number of messages.
8850
8851    %M
8852
8853            Total number of messages shown, i.e. not hidden by a limit. 1)
8854
8855    %n
8856
8857            Number of new messages.
8858
8859    %t
8860
8861            Number of tagged messages. 1)
8862
8863    1) These expandos only have a non-zero value for the current mailbox and
8864    will always be zero otherwise.
8865
8866 271. $sidebar_shorten_hierarchy
8867
8868    Type: boolean
8869
8870    Default: no
8871
8872    When set, the ``hierarchy'' of the sidebar entries will be shortened only
8873    if they cannot be printed in full length (because ``$sidebar_width'' is
8874    set to a too low value). For example, if the newsgroup name
8875    ``de.alt.sysadmin.recovery'' doesn't fit on the screen, it'll get
8876    shortened ``d.a.s.recovery'' while ``de.alt.d0'' still would and thus will
8877    not get shortened.
8878
8879    At which characters this compression is done is controled via the
8880    $sidebar_boundary variable.
8881
8882 272. $sidebar_visible
8883
8884    Type: boolean
8885
8886    Default: no
8887
8888    This specifies whether or not to show the sidebar (a list of folders
8889    specified with the ``mailboxes'' command).
8890
8891 273. $sidebar_width
8892
8893    Type: number
8894
8895    Default: 0
8896
8897    The width of the sidebar.
8898
8899 274. $sig_dashes
8900
8901    Type: boolean
8902
8903    Default: yes
8904
8905    If set, a line containing ``-- '' (dash, dash, space) will be inserted
8906    before your ``$signature''. It is strongly recommended that you not unset
8907    this variable unless your ``signature'' contains just your name. The
8908    reason for this is because many software packages use ``-- \n'' to detect
8909    your signature.
8910
8911    For example, Mutt-ng has the ability to highlight the signature in a
8912    different color in the builtin pager.
8913
8914 275. $sig_on_top
8915
8916    Type: boolean
8917
8918    Default: no
8919
8920    If set, the signature will be included before any quoted or forwarded
8921    text. It is strongly recommended that you do not set this variable unless
8922    you really know what you are doing, and are prepared to take some heat
8923    from netiquette guardians.
8924
8925 276. $signature
8926
8927    Type: path
8928
8929    Default: "~/.signature"
8930
8931    Specifies the filename of your signature, which is appended to all
8932    outgoing messages. If the filename ends with a pipe (``|''), it is assumed
8933    that filename is a shell command and input should be read from its stdout.
8934
8935 277. $signoff_string
8936
8937    Type: string
8938
8939    Default: ""
8940
8941    If set, this string will be inserted before the signature. This is useful
8942    for people that want to sign off every message they send with their name.
8943
8944    If you want to insert your website's URL, additional contact information
8945    or witty quotes into your mails, better use a signature file instead of
8946    the signoff string.
8947
8948 278. $simple_search
8949
8950    Type: string
8951
8952    Default: "~f %s | ~s %s"
8953
8954    Specifies how Mutt-ng should expand a simple search into a real search
8955    pattern. A simple search is one that does not contain any of the ~
8956    operators. See ``patterns'' for more information on search patterns.
8957
8958    For example, if you simply type ``joe'' at a search or limit prompt,
8959    Mutt-ng will automatically expand it to the value specified by this
8960    variable. For the default value it would be:
8961
8962    ~f joe | ~s joe
8963
8964 279. $sleep_time
8965
8966    Type: number
8967
8968    Default: 1
8969
8970    Specifies time, in seconds, to pause while displaying certain
8971    informational messages, while moving from folder to folder and after
8972    expunging messages from the current folder. The default is to pause one
8973    second, so a value of zero for this option suppresses the pause.
8974
8975 280. $smart_wrap
8976
8977    Type: boolean
8978
8979    Default: yes
8980
8981    Controls the display of lines longer than the screen width in the internal
8982    pager. If set, long lines are wrapped at a word boundary. If unset, lines
8983    are simply wrapped at the screen edge. Also see the ``$markers'' variable.
8984
8985 281. $smileys
8986
8987    Type: regular expression
8988
8989    Default: "(>From )|(:[-^]?[][)(><}{|/DP])"
8990
8991    The pager uses this variable to catch some common false positives of
8992    ``$quote_regexp'', most notably smileys in the beginning of a line
8993
8994 282. $smime_ask_cert_label
8995
8996    Type: boolean
8997
8998    Default: yes
8999
9000    This flag controls whether you want to be asked to enter a label for a
9001    certificate about to be added to the database or not. It is set by
9002    default. (S/MIME only)
9003
9004 283. $smime_ca_location
9005
9006    Type: path
9007
9008    Default: ""
9009
9010    This variable contains the name of either a directory, or a file which
9011    contains trusted certificates for use with OpenSSL. (S/MIME only)
9012
9013 284. $smime_certificates
9014
9015    Type: path
9016
9017    Default: ""
9018
9019    Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9020    storage and retrieval of keys by itself. This is very basic right now, and
9021    keys and certificates are stored in two different directories, both named
9022    as the hash-value retrieved from OpenSSL. There is an index file which
9023    contains mailbox-address keyid pairs, and which can be manually edited.
9024    This one points to the location of the certificates. (S/MIME only)
9025
9026 285. $smime_decrypt_command
9027
9028    Type: string
9029
9030    Default: ""
9031
9032    This format string specifies a command which is used to decrypt
9033    application/x-pkcs7-mime attachments.
9034
9035    The OpenSSL command formats have their own set of printf(3)-like sequences
9036    similar to PGP's:
9037
9038    %f
9039
9040            Expands to the name of a file containing a message.
9041
9042    %s
9043
9044            Expands to the name of a file containing the signature part of a
9045            multipart/signed attachment when verifying it.
9046
9047    %k
9048
9049            The key-pair specified with $smime_default_key
9050
9051    %c
9052
9053            One or more certificate IDs.
9054
9055    %a
9056
9057            The algorithm used for encryption.
9058
9059    %C
9060
9061            CA location: Depending on whether $smime_ca_location points to a
9062            directory or file, this expands to "-CApath $smime_ca_location" or
9063            "-CAfile $smime_ca_location".
9064
9065    For examples on how to configure these formats, see the smime.rc in the
9066    samples/ subdirectory which has been installed on your system alongside
9067    the documentation. (S/MIME only)
9068
9069 286. $smime_decrypt_use_default_key
9070
9071    Type: boolean
9072
9073    Default: yes
9074
9075    If set (default) this tells Mutt-ng to use the default key for decryption.
9076    Otherwise, if manage multiple certificate-key-pairs, Mutt-ng will try to
9077    use the mailbox-address to determine the key to use. It will ask you to
9078    supply a key, if it can't find one. (S/MIME only)
9079
9080 287. $smime_default_key
9081
9082    Type: string
9083
9084    Default: ""
9085
9086    This is the default key-pair to use for signing. This must be set to the
9087    keyid (the hash-value that OpenSSL generates) to work properly (S/MIME
9088    only)
9089
9090 288. $smime_encrypt_command
9091
9092    Type: string
9093
9094    Default: ""
9095
9096    This command is used to create encrypted S/MIME messages. (S/MIME only)
9097
9098 289. $smime_encrypt_with
9099
9100    Type: string
9101
9102    Default: ""
9103
9104    This sets the algorithm that should be used for encryption. Valid choices
9105    are ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``\frc2-128''.
9106
9107    If unset ``3des'' (TripleDES) is used. (S/MIME only)
9108
9109 290. $smime_get_cert_command
9110
9111    Type: string
9112
9113    Default: ""
9114
9115    This command is used to extract X509 certificates from a PKCS7 structure.
9116    (S/MIME only)
9117
9118 291. $smime_get_cert_email_command
9119
9120    Type: string
9121
9122    Default: ""
9123
9124    This command is used to extract the mail address(es) used for storing X509
9125    certificates, and for verification purposes (to check whether the
9126    certificate was issued for the sender's mailbox). (S/MIME only)
9127
9128 292. $smime_get_signer_cert_command
9129
9130    Type: string
9131
9132    Default: ""
9133
9134    This command is used to extract only the signers X509 certificate from a
9135    S/MIME signature, so that the certificate's owner may get compared to the
9136    email's ``From:'' header field. (S/MIME only)
9137
9138 293. $smime_import_cert_command
9139
9140    Type: string
9141
9142    Default: ""
9143
9144    This command is used to import a certificate via smime_keysng. (S/MIME
9145    only)
9146
9147 294. $smime_is_default
9148
9149    Type: boolean
9150
9151    Default: no
9152
9153    The default behaviour of Mutt-ng is to use PGP on all auto-sign/encryption
9154    operations. To override and to use OpenSSL instead this must be set.
9155
9156    However, this has no effect while replying, since Mutt-ng will
9157    automatically select the same application that was used to sign/encrypt
9158    the original message.
9159
9160    (Note that this variable can be overridden by unsetting $crypt_autosmime.)
9161    (S/MIME only)
9162
9163 295. $smime_keys
9164
9165    Type: path
9166
9167    Default: ""
9168
9169    Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9170    storage ad retrieval of keys/certs by itself. This is very basic right
9171    now, and stores keys and certificates in two different directories, both
9172    named as the hash-value retrieved from OpenSSL. There is an index file
9173    which contains mailbox-address keyid pair, and which can be manually
9174    edited. This one points to the location of the private keys. (S/MIME only)
9175
9176 296. $smime_pk7out_command
9177
9178    Type: string
9179
9180    Default: ""
9181
9182    This command is used to extract PKCS7 structures of S/MIME signatures, in
9183    order to extract the public X509 certificate(s). (S/MIME only)
9184
9185 297. $smime_sign_command
9186
9187    Type: string
9188
9189    Default: ""
9190
9191    This command is used to created S/MIME signatures of type
9192    multipart/signed, which can be read by all mail clients. (S/MIME only)
9193
9194 298. $smime_sign_opaque_command
9195
9196    Type: string
9197
9198    Default: ""
9199
9200    This command is used to created S/MIME signatures of type
9201    application/x-pkcs7-signature, which can only be handled by mail clients
9202    supporting the S/MIME extension. (S/MIME only)
9203
9204 299. $smime_timeout
9205
9206    Type: number
9207
9208    Default: 300
9209
9210    The number of seconds after which a cached passphrase will expire if not
9211    used. (S/MIME only)
9212
9213 300. $smime_verify_command
9214
9215    Type: string
9216
9217    Default: ""
9218
9219    This command is used to verify S/MIME signatures of type multipart/signed.
9220    (S/MIME only)
9221
9222 301. $smime_verify_opaque_command
9223
9224    Type: string
9225
9226    Default: ""
9227
9228    This command is used to verify S/MIME signatures of type
9229    application/x-pkcs7-mime. (S/MIME only)
9230
9231 302. $smtp_envelope
9232
9233    Type: string
9234
9235    Default: ""
9236
9237    Availability: SMTP
9238
9239    If this variable is non-empty, it'll be used as the envelope sender. If
9240    it's empty (the default), the value of the regular From: header will be
9241    used.
9242
9243    This may be necessary as some providers don't allow for arbitrary values
9244    as the envelope sender but only a particular one which may not be the same
9245    as the user's desired From: header.
9246
9247 303. $smtp_host
9248
9249    Type: string
9250
9251    Default: ""
9252
9253    Availability: SMTP
9254
9255    Defines the SMTP host which will be used to deliver mail, as opposed to
9256    invoking the sendmail binary. Setting this variable overrides the value of
9257    ``$sendmail'', and any associated variables.
9258
9259 304. $smtp_pass
9260
9261    Type: string
9262
9263    Default: ""
9264
9265    Availability: SMTP
9266
9267    Defines the password to use with SMTP AUTH. If ``$smtp_user'' is set, but
9268    this variable is not, you will be prompted for a password when sending.
9269
9270    Note: Storing passwords in a configuration file presents a security risk
9271    since the superuser of your machine may read it regardless of the file's
9272    permissions.
9273
9274 305. $smtp_port
9275
9276    Type: number
9277
9278    Default: 25
9279
9280    Availability: SMTP
9281
9282    Defines the port that the SMTP host is listening on for mail delivery.
9283    Must be specified as a number.
9284
9285    Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP
9286    servers will probably desire 587, the mail submission port.
9287
9288 306. $smtp_use_tls
9289
9290    Type: string
9291
9292    Default: ""
9293
9294    Availability: SMTP (and SSL)
9295
9296    Defines wether to use STARTTLS. If this option is set to ``required'' and
9297    the server does not support STARTTLS or there is an error in the TLS
9298    Handshake, the connection will fail. Setting this to ``enabled'' will try
9299    to start TLS and continue without TLS in case of an error. Muttng still
9300    needs to have SSL support enabled in order to use it.
9301
9302 307. $smtp_user
9303
9304    Type: string
9305
9306    Default: ""
9307
9308    Availability: SMTP
9309
9310    Defines the username to use with SMTP AUTH. Setting this variable will
9311    cause Mutt-ng to attempt to use SMTP AUTH when sending.
9312
9313 308. $sort
9314
9315    Type: sort order
9316
9317    Default: date
9318
9319    Specifies how to sort messages in the index menu. Valid values are:
9320
9321     date or date-sent
9322     date-received
9323     from
9324     mailbox-order (unsorted)
9325     score
9326     size
9327     spam
9328     subject
9329     threads
9330     to
9331
9332
9333    You may optionally use the ``reverse-'' prefix to specify reverse sorting
9334    order (example: set sort=reverse-date-sent).
9335
9336 309. $sort_alias
9337
9338    Type: sort order
9339
9340    Default: alias
9341
9342    Specifies how the entries in the ``alias'' menu are sorted. The following
9343    are legal values:
9344
9345     address (sort alphabetically by email address)
9346     alias (sort alphabetically by alias name)
9347     unsorted (leave in order specified in .muttrc)
9348
9349
9350 310. $sort_aux
9351
9352    Type: sort order
9353
9354    Default: date
9355
9356    When sorting by threads, this variable controls how threads are sorted in
9357    relation to other threads, and how the branches of the thread trees are
9358    sorted. This can be set to any value that ``$sort'' can, except threads
9359    (in that case, Mutt-ng will just use date-sent). You can also specify the
9360    ``last-'' prefix in addition to ``reverse-'' prefix, but last- must come
9361    after reverse-. The last- prefix causes messages to be sorted against its
9362    siblings by which has the last descendant, using the rest of sort_aux as
9363    an ordering.
9364
9365    For instance, set sort_aux=last-date-received would mean that if a new
9366    message is received in a thread, that thread becomes the last one
9367    displayed (or the first, if you have set sort=reverse-threads.)
9368
9369    Note: For reversed ``$sort'' order $sort_aux is reversed again (which is
9370    not the right thing to do, but kept to not break any existing
9371    configuration setting).
9372
9373 311. $sort_browser
9374
9375    Type: sort order
9376
9377    Default: alpha
9378
9379    Specifies how to sort entries in the file browser. By default, the entries
9380    are sorted alphabetically. Valid values:
9381
9382     alpha (alphabetically)
9383     date
9384     size
9385     unsorted
9386
9387
9388    You may optionally use the ``reverse-'' prefix to specify reverse sorting
9389    order (example: set sort_browser=reverse-date).
9390
9391 312. $sort_re
9392
9393    Type: boolean
9394
9395    Default: yes
9396
9397    This variable is only useful when sorting by threads with
9398    ``$strict_threads'' unset. In that case, it changes the heuristic Mutt-ng
9399    uses to thread messages by subject. With $sort_reset, Mutt-ng will only
9400    attach a message as the child of another message by subject if the subject
9401    of the child message starts with a substring matching the setting of
9402    ``$reply_regexp''. With $sort_reunset, Mutt-ng will attach the message
9403    whether or not this is the case, as long as the non-``$reply_regexp''
9404    parts of both messages are identical.
9405
9406 313. $spam_separator
9407
9408    Type: string
9409
9410    Default: ","
9411
9412    ``spam_separator'' controls what happens when multiple spam headers are
9413    matched: if unset, each successive header will overwrite any previous
9414    matches value for the spam label. If set, each successive match will
9415    append to the previous, using ``spam_separator'' as a separator.
9416
9417 314. $spoolfile
9418
9419    Type: path
9420
9421    Default: ""
9422
9423    If your spool mailbox is in a non-default place where Mutt-ng cannot find
9424    it, you can specify its location with this variable. Mutt-ng will
9425    automatically set this variable to the value of the environment variable
9426    $MAIL if it is not set.
9427
9428 315. $ssl_ca_certificates_file
9429
9430    Type: path
9431
9432    Default: ""
9433
9434    This variable specifies a file containing trusted CA certificates. Any
9435    server certificate that is signed with one of these CA certificates are
9436    also automatically accepted.
9437
9438    Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
9439
9440 316. $ssl_client_cert
9441
9442    Type: path
9443
9444    Default: ""
9445
9446    Availability: SSL
9447
9448    The file containing a client certificate and its associated private key.
9449
9450 317. $ssl_force_tls
9451
9452    Type: boolean
9453
9454    Default: no
9455
9456    If this variable is set, mutt-ng will require that all connections to
9457    remote servers be encrypted. Furthermore it will attempt to negotiate TLS
9458    even if the server does not advertise the capability, since it would
9459    otherwise have to abort the connection anyway. This option supersedes
9460    ``$ssl_starttls''.
9461
9462 318. $ssl_min_dh_prime_bits
9463
9464    Type: number
9465
9466    Default: 0
9467
9468    Availability: GNUTLS
9469
9470    This variable specifies the minimum acceptable prime size (in bits) for
9471    use in any Diffie-Hellman key exchange. A value of 0 will use the default
9472    from the GNUTLS library.
9473
9474 319. $ssl_starttls
9475
9476    Type: quadoption
9477
9478    Default: yes
9479
9480    Availability: SSL or GNUTLS
9481
9482    If set (the default), Mutt-ng will attempt to use STARTTLS on servers
9483    advertising the capability. When unset, Mutt-ng will not attempt to use
9484    STARTTLS regardless of the server's capabilities.
9485
9486 320. $ssl_use_sslv2
9487
9488    Type: boolean
9489
9490    Default: yes
9491
9492    Availability: SSL
9493
9494    This variables specifies whether to attempt to use SSLv2 in the SSL
9495    authentication process.
9496
9497 321. $ssl_use_sslv3
9498
9499    Type: boolean
9500
9501    Default: yes
9502
9503    Availability: SSL or GNUTLS
9504
9505    This variables specifies whether to attempt to use SSLv3 in the SSL
9506    authentication process.
9507
9508 322. $ssl_use_tlsv1
9509
9510    Type: boolean
9511
9512    Default: yes
9513
9514    Availability: SSL or GNUTLS
9515
9516    This variables specifies whether to attempt to use TLSv1 in the SSL
9517    authentication process.
9518
9519 323. $ssl_usesystemcerts
9520
9521    Type: boolean
9522
9523    Default: yes
9524
9525    Availability: SSL
9526
9527    If set to yes, Mutt-ng will use CA certificates in the system-wide
9528    certificate store when checking if server certificate is signed by a
9529    trusted CA.
9530
9531 324. $status_chars
9532
9533    Type: string
9534
9535    Default: "-*%A"
9536
9537    Controls the characters used by the ``%r'' indicator in
9538    ``$status_format''. The first character is used when the mailbox is
9539    unchanged. The second is used when the mailbox has been changed, and it
9540    needs to be resynchronized. The third is used if the mailbox is in
9541    read-only mode, or if the mailbox will not be written when exiting that
9542    mailbox (You can toggle whether to write changes to a mailbox with the
9543    toggle-write operation, bound by default to ``%''). The fourth is used to
9544    indicate that the current folder has been opened in attach-message mode
9545    (Certain operations like composing a new mail, replying, forwarding, etc.
9546    are not permitted in this mode).
9547
9548 325. $status_format
9549
9550    Type: string
9551
9552    Default: "-%r-Mutt-ng: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d?
9553    Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l?
9554    %l?]---(%s/%S)-%>-(%P)---"
9555
9556    Controls the format of the status line displayed in the index menu. This
9557    string is similar to ``$index_format'', but has its own set of
9558    printf(3)-like sequences:
9559
9560    %b
9561
9562            number of mailboxes with new mail *
9563
9564    %B
9565
9566            the short pathname of the current mailbox
9567
9568    %d
9569
9570            number of deleted messages *
9571
9572    %f
9573
9574            the full pathname of the current mailbox
9575
9576    %F
9577
9578            number of flagged messages *
9579
9580    %h
9581
9582            local hostname
9583
9584    %l
9585
9586            size (in bytes) of the current mailbox *
9587
9588    %L
9589
9590            size (in bytes) of the messages shown (i.e., which match the
9591            current limit) *
9592
9593    %m
9594
9595            the number of messages in the mailbox *
9596
9597    %M
9598
9599            the number of messages shown (i.e., which match the current limit)
9600            *
9601
9602    %n
9603
9604            number of new messages in the mailbox *
9605
9606    %o
9607
9608            number of old unread messages *
9609
9610    %p
9611
9612            number of postponed messages *
9613
9614    %P
9615
9616            percentage of the way through the index
9617
9618    %r
9619
9620            modified/read-only/won't-write/attach-message indicator, according
9621            to $status_chars
9622
9623    %s
9624
9625            current sorting mode ($sort)
9626
9627    %S
9628
9629            current aux sorting method ($sort_aux)
9630
9631    %t
9632
9633            number of tagged messages *
9634
9635    %u
9636
9637            number of unread messages *
9638
9639    %v
9640
9641            Mutt-ng version string
9642
9643    %V
9644
9645            currently active limit pattern, if any *
9646
9647    %>X
9648
9649            right justify the rest of the string and pad with "X"
9650
9651    %|X
9652
9653            pad to the end of the line with "X"
9654
9655    * = can be optionally printed if nonzero
9656
9657    Some of the above sequences can be used to optionally print a string if
9658    their value is nonzero. For example, you may only want to see the number
9659    of flagged messages if such messages exist, since zero is not particularly
9660    meaningful. To optionally print a string based upon one of the above
9661    sequences, the following construct is used
9662
9663    %?<sequence_char>?<optional_string>?
9664
9665    where sequence_char is a character from the table above, and
9666    optional_string is the string you would like printed if sequence_char is
9667    nonzero. optional_stringmay contain other sequences as well as normal
9668    text, but you may not nest optional strings.
9669
9670    Here is an example illustrating how to optionally print the number of new
9671    messages in a mailbox:
9672
9673    %?n?%n new messages.?
9674
9675    Additionally you can switch between two strings, the first one, if a value
9676    is zero, the second one, if the value is nonzero, by using the following
9677    construct:
9678
9679    %?<sequence_char>?<if_string>&<else_string>?
9680
9681    You can additionally force the result of any printf(3)-like sequence to be
9682    lowercase by prefixing the sequence character with an underscore (_) sign.
9683    For example, if you want to display the local hostname in lowercase, you
9684    would use:
9685
9686    %_h
9687
9688    If you prefix the sequence character with a colon (:) character, Mutt-ng
9689    will replace any dots in the expansion by underscores. This might be
9690    helpful with IMAP folders that don't like dots in folder names.
9691
9692 326. $status_on_top
9693
9694    Type: boolean
9695
9696    Default: no
9697
9698    Setting this variable causes the ``status bar'' to be displayed on the
9699    first line of the screen rather than near the bottom.
9700
9701 327. $strict_mailto
9702
9703    Type: boolean
9704
9705    Default: yes
9706
9707    With mailto: style links, a body as well as arbitrary header information
9708    may be embedded. This may lead to (user) headers being overwriten without
9709    note if ``$edit_headers'' is unset.
9710
9711    If this variable is set, mutt-ng is strict and allows anything to be
9712    changed. If it's unset, all headers given will be prefixed with
9713    ``X-Mailto-'' and the message including headers will be shown in the
9714    editor regardless of what ``$edit_headers'' is set to.
9715
9716 328. $strict_mime
9717
9718    Type: boolean
9719
9720    Default: yes
9721
9722    When unset, non MIME-compliant messages that doesn't have any charset
9723    indication in the ``Content-Type:'' header field can be displayed (non
9724    MIME-compliant messages are often generated by old mailers or buggy
9725    mailers like MS Outlook Express). See also $assumed_charset.
9726
9727    This option also replaces linear-white-space between encoded-word and
9728    *text to a single space to prevent the display of MIME-encoded
9729    ``Subject:'' header field from being devided into multiple lines.
9730
9731 329. $strict_threads
9732
9733    Type: boolean
9734
9735    Default: no
9736
9737    If set, threading will only make use of the ``In-Reply-To:'' and
9738    ``References:'' header fields when you ``$sort'' by message threads. By
9739    default, messages with the same subject are grouped together in ``pseudo
9740    threads.'' This may not always be desirable, such as in a personal mailbox
9741    where you might have several unrelated messages with the subject ``hi''
9742    which will get grouped together. See also ``$sort_re'' for a less drastic
9743    way of controlling this behaviour.
9744
9745 330. $strip_was
9746
9747    Type: boolean
9748
9749    Default: no
9750
9751    When set, mutt-ng will remove the trailing part of the ``Subject:'' line
9752    which matches $strip_was_regex when replying. This is useful to properly
9753    react on subject changes and reduce ``subject noise.'' (esp. in Usenet)
9754
9755 331. $strip_was_regex
9756
9757    Type: regular expression
9758
9759    Default: "\([Ww][Aa][RrSs]: .*\)[ ]*$"
9760
9761    When non-empty and $strip_was is set, mutt-ng will remove this trailing
9762    part of the ``Subject'' line when replying if it won't be empty
9763    afterwards.
9764
9765 332. $stuff_quoted
9766
9767    Type: boolean
9768
9769    Default: no
9770
9771    If set, attachments with flowed format will have their quoting
9772    ``stuffed'', i.e. a space will be inserted between the quote characters
9773    and the actual text.
9774
9775 333. $suspend
9776
9777    Type: boolean
9778
9779    Default: yes
9780
9781    When unset, Mutt-ng won't stop when the user presses the terminal's susp
9782    key, usually CTRL+Z. This is useful if you run Mutt-ng inside an xterm
9783    using a command like ``xterm -e muttng.''
9784
9785 334. $text_flowed
9786
9787    Type: boolean
9788
9789    Default: no
9790
9791    When set, Mutt-ng will generate text/plain; format=flowed attachments.
9792    This format is easier to handle for some mailing software, and generally
9793    just looks like ordinary text. To actually make use of this format's
9794    features, you'll need support in your editor.
9795
9796    Note that $indent_string is ignored when this option is set.
9797
9798 335. $thorough_search
9799
9800    Type: boolean
9801
9802    Default: no
9803
9804    Affects the ~b and ~h search operations described in section ``patterns''
9805    above. If set, the headers and attachments of messages to be searched are
9806    decoded before searching. If unset, messages are searched as they appear
9807    in the folder.
9808
9809 336. $thread_received
9810
9811    Type: boolean
9812
9813    Default: no
9814
9815    When set, Mutt-ng uses the date received rather than the date sent to
9816    thread messages by subject.
9817
9818 337. $tilde
9819
9820    Type: boolean
9821
9822    Default: no
9823
9824    When set, the internal-pager will pad blank lines to the bottom of the
9825    screen with a tilde (~).
9826
9827 338. $timeout
9828
9829    Type: number
9830
9831    Default: 600
9832
9833    This variable controls the number of seconds Mutt-ng will wait for a key
9834    to be pressed in the main menu before timing out and checking for new
9835    mail. A value of zero or less will cause Mutt-ng to never time out.
9836
9837 339. $tmpdir
9838
9839    Type: path
9840
9841    Default: ""
9842
9843    This variable allows you to specify where Mutt-ng will place its temporary
9844    files needed for displaying and composing messages. If this variable is
9845    not set, the environment variable $TMPDIR is used. If $TMPDIR is not set
9846    then "/tmp" is used.
9847
9848 340. $to_chars
9849
9850    Type: string
9851
9852    Default: " +TCFL"
9853
9854    Controls the character used to indicate mail addressed to you. The first
9855    character is the one used when the mail is NOT addressed to your address
9856    (default: space). The second is used when you are the only recipient of
9857    the message (default: +). The third is when your address appears in the
9858    ``To:'' header field, but you are not the only recipient of the message
9859    (default: T). The fourth character is used when your address is specified
9860    in the ``Cc:'' header field, but you are not the only recipient. The fifth
9861    character is used to indicate mail that was sent by you. The sixth
9862    character is used to indicate when a mail was sent to a mailing-list
9863    you're subscribe to (default: L).
9864
9865 341. $trash
9866
9867    Type: path
9868
9869    Default: ""
9870
9871    If set, this variable specifies the path of the trash folder where the
9872    mails marked for deletion will be moved, instead of being irremediably
9873    purged.
9874
9875    Note: When you delete a message in the trash folder, it is really deleted,
9876    so that there is no way to recover mail.
9877
9878 342. $tunnel
9879
9880    Type: string
9881
9882    Default: ""
9883
9884    Setting this variable will cause Mutt-ng to open a pipe to a command
9885    instead of a raw socket. You may be able to use this to set up
9886    preauthenticated connections to your IMAP/POP3 server. Example:
9887
9888    tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
9889
9890    Note: For this example to work you must be able to log in to the remote
9891    machine without having to enter a password.
9892
9893 343. $umask
9894
9895    Type: number
9896
9897    Default: 0077
9898
9899    This sets the umask that will be used by Mutt-ng when creating all kinds
9900    of files. If unset, the default value is 077.
9901
9902 344. $uncollapse_jump
9903
9904    Type: boolean
9905
9906    Default: no
9907
9908    When set, Mutt-ng will jump to the next unread message, if any, when the
9909    current thread is uncollapsed.
9910
9911 345. $use_8bitmime
9912
9913    Type: boolean
9914
9915    Default: no
9916
9917    Warning: do not set this variable unless you are using a version of
9918    sendmail which supports the -B8BITMIME flag (such as sendmail 8.8.x) or in
9919    connection with the SMTP support via libESMTP. Otherwise you may not be
9920    able to send mail.
9921
9922    When set, Mutt-ng will either invoke ``$sendmail'' with the -B8BITMIME
9923    flag when sending 8-bit messages to enable ESMTP negotiation or tell
9924    libESMTP to do so.
9925
9926 346. $use_domain
9927
9928    Type: boolean
9929
9930    Default: yes
9931
9932    When set, Mutt-ng will qualify all local addresses (ones without the @host
9933    portion) with the value of ``$hostname''. If unset, no addresses will be
9934    qualified.
9935
9936 347. $use_from
9937
9938    Type: boolean
9939
9940    Default: yes
9941
9942    When set, Mutt-ng will generate the ``From:'' header field when sending
9943    messages. If unset, no ``From:'' header field will be generated unless the
9944    user explicitly sets one using the ``my_hdr'' command.
9945
9946 348. $use_idn
9947
9948    Type: boolean
9949
9950    Default: yes
9951
9952    Availability: IDN
9953
9954    When set, Mutt-ng will show you international domain names decoded.
9955
9956    Note: You can use IDNs for addresses even if this is unset. This variable
9957    only affects decoding.
9958
9959 349. $use_ipv6
9960
9961    Type: boolean
9962
9963    Default: yes
9964
9965    When set, Mutt-ng will look for IPv6 addresses of hosts it tries to
9966    contact. If this option is unset, Mutt-ng will restrict itself to IPv4
9967    addresses. Normally, the default should work.
9968
9969 350. $visual
9970
9971    Type: path
9972
9973    Default: ""
9974
9975    Specifies the visual editor to invoke when the ~v command is given in the
9976    builtin editor.
9977
9978 351. $wait_key
9979
9980    Type: boolean
9981
9982    Default: yes
9983
9984    Controls whether Mutt-ng will ask you to press a key after shell- escape,
9985    pipe-message, pipe-entry, print-message, and print-entry commands.
9986
9987    It is also used when viewing attachments with ``auto_view'', provided that
9988    the corresponding mailcap entry has a needsterminal flag, and the external
9989    program is interactive.
9990
9991    When set, Mutt-ng will always ask for a key. When unset, Mutt-ng will wait
9992    for a key only if the external command returned a non-zero status.
9993
9994 352. $weed
9995
9996    Type: boolean
9997
9998    Default: yes
9999
10000    When set, Mutt-ng will weed headers when displaying, forwarding, printing,
10001    or replying to messages.
10002
10003 353. $wrap_search
10004
10005    Type: boolean
10006
10007    Default: yes
10008
10009    Controls whether searches wrap around the end of the mailbox.
10010
10011    When set, searches will wrap around the first (or last) message. When
10012    unset, searches will not wrap.
10013
10014 354. $wrapmargin
10015
10016    Type: number
10017
10018    Default: 0
10019
10020    Controls the size of the margin remaining at the right side of the
10021    terminal when Mutt-ng's pager does smart wrapping.
10022
10023 355. $write_bcc
10024
10025    Type: boolean
10026
10027    Default: yes
10028
10029    Controls whether Mutt-ng writes out the Bcc header when preparing messages
10030    to be sent. Exim users may wish to unset this.
10031
10032 356. $write_inc
10033
10034    Type: number
10035
10036    Default: 10
10037
10038    When writing a mailbox, a message will be printed every write_inc messages
10039    to indicate progress. If set to 0, only a single message will be displayed
10040    before writing a mailbox.
10041
10042    Also see the ``$read_inc'' variable.
10043
10044 357. $xterm_icon
10045
10046    Type: string
10047
10048    Default: "M%?n?AIL&ail?"
10049
10050    Controls the format of the X11 icon title, as long as $xterm_set_titles is
10051    set. This string is identical in formatting to the one used by
10052    ``$status_format''.
10053
10054 358. $xterm_leave
10055
10056    Type: string
10057
10058    Default: ""
10059
10060    If $xterm_set_titles is set, this string will be used to set the title
10061    when leaving mutt-ng. For terminal-based programs, there's no easy and
10062    portable way to read the current title so mutt-ng cannot read it upon
10063    startup and restore it when exiting.
10064
10065    Based on the xterm FAQ, the following might work:
10066
10067    set xterm_leave = "`test x$DISPLAY != x && xprop -id $WINDOWID | grep
10068    WM_NAME | cut -d '"' -f 2`"
10069
10070 359. $xterm_set_titles
10071
10072    Type: boolean
10073
10074    Default: no
10075
10076    Controls whether Mutt-ng sets the xterm title bar and icon name (as long
10077    as you're in an appropriate terminal). The default must be unset to force
10078    in the validity checking.
10079
10080 360. $xterm_title
10081
10082    Type: string
10083
10084    Default: "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"
10085
10086    Controls the format of the title bar of the xterm provided that
10087    $xterm_set_titles has been set. This string is identical in formatting to
10088    the one used by ``$status_format''.
10089
10090 5. Functions
10091
10092    The following is the list of available functions listed by the mapping in
10093    which they are available. The default key setting is given, and an
10094    explanation of what the function does. The key bindings of these functions
10095    can be changed with the bind command.
10096
10097   5.1. generic
10098
10099    The generic menu is not a real menu, but specifies common functions (such
10100    as movement) available in all menus except for pager and editor. Changing
10101    settings for this menu will affect the default bindings for all menus
10102    (except as noted).
10103
10104    Table 7.4. Reference: Default Generic Function Bindings
10105
10106    Function          Default Key Description
10107    <bottom-page>     L           move to the bottom of the page
10108    <current-bottom>  not bound   move current entry to bottom of page
10109    <current-middle>  not bound   move current entry to middle of page
10110    <current-top>     not bound   move current entry to top of page
10111    <enter-command>   :           enter a muttngrc command
10112    <exit>            q           exit this menu
10113    <first-entry>     =           move to the first entry
10114    <half-down>       ]           scroll down 1/2 page
10115    <half-up>         [           scroll up 1/2 page
10116    <help>            ?           this screen
10117    <jump>            number      jump to an index number
10118    <last-entry>      *           move to the last entry
10119    <middle-page>     M           move to the middle of the page
10120    <next-entry>      j           move to the next entry
10121    <next-line>       >           scroll down one line
10122    <next-page>       z           move to the next page
10123    <previous-entry>  k           move to the previous entry
10124    <previous-line>   <           scroll up one line
10125    <previous-page>   Z           move to the previous page
10126    <refresh>         ^L          clear and redraw the screen
10127    <search>          /           search for a regular expression
10128    <search-next>     n           search for next match
10129    <search-opposite> not bound   search for next match in opposite direction
10130    <search-reverse>  ESC /       search backwards for a regular expression
10131    <select-entry>    RET         select the current entry
10132    <shell-escape>    !           run a program in a subshell
10133    <tag-entry>       t           toggle the tag on the current entry
10134    <tag-prefix>      ;           apply next command to tagged entries
10135    <tag-prefix-cond> not bound   apply next function ONLY to tagged messages
10136    <top-page>        H           move to the top of the page
10137    <what-key>        not bound   display the keycode for a key press
10138
10139   5.2. index
10140
10141    Table 7.5. Reference: Default Index Function Bindings
10142
10143    Function                   Default Key Description
10144    <bounce-message>           b           remail a message to another user
10145    <change-folder>            c           open a different folder
10146    <change-folder-readonly>   ESC c       open a different folder in read
10147                                           only mode
10148    <check-traditional-pgp>    ESC P       check for classic pgp
10149    <clear-flag>               W           clear a status flag from a message
10150    <copy-message>             C           copy a message to a file/mailbox
10151    <create-alias>             a           create an alias from a message
10152                                           sender
10153    <decode-copy>              ESC C       decode a message and copy it to a
10154                                           file/mailbox
10155    <decode-save>              ESC s       decode a message and save it to a
10156                                           file/mailbox
10157    <delete-message>           d           delete the current entry
10158    <delete-pattern>           D           delete messages matching a pattern
10159    <delete-subthread>         ESC d       delete all messages in subthread
10160    <delete-thread>            ^D          delete all messages in thread
10161    <display-address>          @           display full address of sender
10162    <display-toggle-weed>      h           display message and toggle header
10163                                           weeding
10164    <display-message>          RET         display a message
10165    <edit>                     e           edit the current message
10166    <edit-type>                ^E          edit the current message's
10167                                           Content-Type
10168    <exit>                     x           exit without saving changes
10169    <extract-keys>             ^K          extract PGP public keys
10170    <fetch-mail>               G           retrieve mail from POP server
10171    <flag-message>             F           toggle a message's 'important' flag
10172    <forget-passphrase>        ^F          wipe PGP passphrase from memory
10173    <forward-message>          f           forward a message with comments
10174    <group-reply>              g           reply to all recipients
10175    <limit>                    l           show only messages matching a
10176                                           pattern
10177    <list-reply>               L           reply to specified mailing list
10178    <mail>                     m           compose a new mail message
10179    <mail-key>                 ESC k       mail a PGP public key
10180    <next-new>                 not bound   jump to the next new message
10181    <next-new-then-unread>     TAB         jump to the next new or unread
10182                                           message
10183    <next-subthread>           ESC n       jump to the next subthread
10184    <next-thread>              ^N          jump to the next thread
10185    <next-undeleted>           j           move to the next undeleted message
10186    <next-unread>              not bound   jump to the next unread message
10187    <parent-message>           P           jump to parent message in thread
10188    <pipe-message>             |           pipe message/attachment to a shell
10189                                           command
10190    <previous-new>             not bound   jump to the previous new message
10191    <previous-new-then-unread> ESC TAB     jump to the previous new or unread
10192                                           message
10193    <previous-page>            Z           move to the previous page
10194    <previous-subthread>       ESC p       jump to previous subthread
10195    <previous-thread>          ^P          jump to previous thread
10196    <previous-undeleted>       k           move to the last undelete message
10197    <previous-unread>          not bound   jump to the previous unread message
10198    <print-message>            p           print the current entry
10199    <query>                    Q           query external program for
10200                                           addresses
10201    <quit>                     q           save changes to mailbox and quit
10202    <read-subthread>           ESC r       mark the current subthread as read
10203    <read-thread>              ^R          mark the current thread as read
10204    <recall-message>           R           recall a postponed message
10205    <reply>                    r           reply to a message
10206    <resend-message>           ESC e       resend message and preserve MIME
10207                                           structure
10208    <save-message>             s           save message/attachment to a file
10209    <set-flag>                 w           set a status flag on a message
10210    <show-version>             V           show the Mutt-ng version number and
10211                                           date
10212    <show-limit>               ESC l       show currently active limit
10213                                           pattern, if any
10214    <sort-mailbox>             o           sort messages
10215    <sort-reverse>             O           sort messages in reverse order
10216    <sync-mailbox>             $           save changes to mailbox
10217    <tag-pattern>              T           tag messages matching a pattern
10218    <tag-thread>               ESC t       tag/untag all messages in the
10219                                           current thread
10220    <toggle-new>               N           toggle a message's 'new' flag
10221    <toggle-write>             %           toggle whether the mailbox will be
10222                                           rewritten
10223    <undelete-message>         u           undelete the current entry
10224    <undelete-pattern>         U           undelete messages matching a
10225                                           pattern
10226    <undelete-subthread>       ESC u       undelete all messages in subthread
10227    <undelete-thread>          ^U          undelete all messages in thread
10228    <untag-pattern>            ^T          untag messages matching a pattern
10229    <view-attachments>         v           show MIME attachments
10230
10231   5.3. pager
10232
10233    Table 7.6. Reference: Default Pager Function Bindings
10234
10235    Function                   Default Key Description
10236    <bottom>                   not bound   jump to the bottom of the message
10237    <bounce-message>           b           remail a message to another user
10238    <change-folder>            c           open a different folder
10239    <change-folder-readonly>   ESC c       open a different folder in read
10240                                           only mode
10241    <check-traditional-pgp>    ESC P       check for classic pgp
10242    <copy-message>             C           copy a message to a file/mailbox
10243    <create-alias>             a           create an alias from a message
10244    <senderdecode-copy>        ESC C       decode a message and copy it to a
10245                                           file/mailbox
10246    <decode-save>              ESC s       decode a message and save it to a
10247                                           file/mailbox
10248    <delete-message>           d           delete the current entry
10249    <delete-subthread>         ESC d       delete all messages in subthread
10250    <delete-thread>            ^D          delete all messages in thread
10251    <display-address>          @           display full address of sender
10252    <display-toggle-weed>      h           display message and toggle header
10253                                           weeding
10254    <edit>                     e           edit the current message
10255    <edit-type>                ^E          edit the current message's
10256                                           Content-Type
10257    <enter-command>            :           enter a muttngrc command
10258    <exit>                     i           return to the main-menu
10259    <extract-keys>             ^K          extract PGP public keys
10260    <flag-message>             F           toggle a message's 'important' flag
10261    <forget-passphrase>        ^F          wipe PGP passphrase from memory
10262    <forward-message>          f           forward a message with comments
10263    <group-reply>              g           reply to all recipients
10264    <half-up>                  not bound   move up one-half page
10265    <half-down>                not bound   move down one-half page
10266    <help>                     ?           this screen
10267    <list-reply>               L           reply to specified mailing list
10268    <mail>                     m           compose a new mail message
10269    <mail-key>                 ESC k       mail a PGP public key
10270    <mark-as-new>              N           toggle a message's 'new' flag
10271    <next-line>                RET         scroll down one line
10272    <next-entry>               J           move to the next entry
10273    <next-new>                 not bound   jump to the next new message
10274    <next-new-then-unread>     TAB         jump to the next new or unread
10275                                           message
10276    <next-page>                not bound   move to the next page
10277    <next-subthread>           ESC n       jump to the next subthread
10278    <next-thread>              ^N          jump to the next thread
10279    <next-undeleted>           j           move to the next undeleted message
10280    <next-unread>              not bound   jump to the next unread message
10281    <parent-message>           P           jump to parent message in thread
10282    <pipe-message>             |           pipe message/attachment to a shell
10283                                           command
10284    <previous-line>            BackSpace   scroll up one line
10285    <previous-entry>           K           move to the previous entry
10286    <previous-new>             not bound   jump to the previous new message
10287    <previous-new-then-unread> not bound   jump to the previous new or unread
10288                                           message
10289    <previous-page>            -           move to the previous page
10290    <previous-subthread>       ESC p       jump to previous subthread
10291    <previous-thread>          ^P          jump to previous thread
10292    <previous-undeleted>       k           move to the last undelete message
10293    <previous-unread>          not bound   jump to the previous unread message
10294    <print-message>            p           print the current entry
10295    <quit>                     Q           save changes to mailbox and quit
10296    <read-subthread>           ESC r       mark the current subthread as read
10297    <read-thread>              ^R          mark the current thread as read
10298    <recall-message>           R           recall a postponed message
10299    <redraw-screen>            ^L          clear and redraw the screen
10300    <reply>                    r           reply to a message
10301    <save-message>             s           save message/attachment to a file
10302    <search>                   /           search for a regular expression
10303    <search-next>              n           search for next match
10304    <search-opposite>          not bound   search for next match in opposite
10305                                           direction
10306    <search-reverse>           ESC /       search backwards for a regular
10307                                           expression
10308    <search-toggle>            \           toggle search pattern coloring
10309    <shell-escape>             !           invoke a command in a subshell
10310    <show-version>             V           show the Mutt-ng version number and
10311                                           date
10312    <skip-quoted>              S           skip beyond quoted text
10313    <sync-mailbox>             $           save changes to mailbox
10314    <tag-message>              t           tag a message
10315    <toggle-quoted>            T           toggle display of quoted text
10316    <top>                      ^           jump to the top of the message
10317    <undelete-message>         u           undelete the current entry
10318    <undelete-subthread>       ESC u       undelete all messages in subthread
10319    <undelete-thread>          ^U          undelete all messages in thread
10320    <view-attachments>         v           show MIME attachments
10321
10322   5.4. alias
10323
10324    Table 7.7. Reference: Default Alias Menu Function Bindings
10325
10326    Function         Default Key Description
10327    <search>         /           search for a regular expression
10328    <search-next>    n           search for next match
10329    <search-reverse> ESC /       search backwards for a regular expression
10330
10331   5.5. query
10332
10333    Table 7.8. Reference: Default Query Menu Function Bindings
10334
10335    Function          Default Key Description
10336    <create-alias>    a           create an alias from a message sender
10337    <mail>            m           compose a new mail message
10338    <query>           Q           query external program for addresses
10339    <query-append>    A           append new query results to current results
10340    <search>          /           search for a regular expression
10341    <search-next>     n           search for next match
10342    <search-opposite> not bound   search for next match in opposite direction
10343    <search-reverse>  ESC /       search backwards for a regular expression
10344
10345   5.6. attach
10346
10347    Table 7.9. Reference: Default Attachment Menu Function Bindings
10348
10349    Function              Default Key Description
10350    <bounce-message>      b           remail a message to another user
10351    <collapse-parts>      v           toggle display of subparts
10352    <delete-entry>        d           delete the current entry
10353    <display-toggle-weed> h           display message and toggle header
10354                                      weeding
10355    <edit-type>           ^E          edit the current entry's Content-Type
10356    <extract-keys>        ^K          extract PGP public keys
10357    <forward-message>     f           forward a message with comments
10358    <group-reply>         g           reply to all recipients
10359    <list-reply>          L           reply to specified mailing list
10360    <pipe-entry>          |           pipe message/attachment to a shell
10361                                      command
10362    <print-entry>         p           print the current entry
10363    <reply>               r           reply to a message
10364    <resend-message>      ESC e       resend message and preserve MIME
10365                                      structure
10366    <save-entry>          s           save message/attachment to a file
10367    <undelete-entry>      u           undelete the current entry
10368    <view-attach>         RET         view attachment using mailcap entry if
10369                                      necessary
10370    <view-mailcap>        m           force viewing of attachment using
10371                                      mailcap
10372    <view-text>           T           view attachment as text
10373
10374   5.7. compose
10375
10376    Table 7.10. Reference: Default Compose Menu Function Bindings
10377
10378    Function              Default Key Description
10379    <attach-file>         a           attach a file(s) to this message
10380    <attach-message>      A           attach message(s) to this message
10381    <attach-key>          ESC k       attach a PGP public key
10382    <copy-file>           C           save message/attachment to a file
10383    <detach-file>         D           delete the current entry
10384    <display-toggle-weed> h           display message and toggle header
10385                                      weeding
10386    <edit-bcc>            b           edit the BCC list
10387    <edit-cc>             c           edit the CC list
10388    <edit-description>    d           edit attachment description
10389    <edit-encoding>       ^E          edit attachment transfer-encoding
10390    <edit-fcc>            f           enter a file to save a copy of this
10391                                      message in
10392    <edit-from>           ESC f       edit the from: field
10393    <edit-file>           ^X e        edit the file to be attached
10394    <edit-headers>        E           edit the message with headers
10395    <edit>                e           edit the message
10396    <edit-mime>           m           edit attachment using mailcap entry
10397    <edit-reply-to>       r           edit the Reply-To field
10398    <edit-subject>        s           edit the subject of this message
10399    <edit-to>             t           edit the TO list
10400    <edit-type>           ^T          edit attachment type
10401    <filter-entry>        F           filter attachment through a shell
10402                                      command
10403    <forget-passphrase>   ^F          wipe PGP passphrase from memory
10404    <ispell>              i           run ispell on the message
10405    <new-mime>            n           compose new attachment using mailcap
10406                                      entry
10407    <pgp-menu>            p           show PGP options
10408    <pipe-entry>          |           pipe message/attachment to a shell
10409                                      command
10410    <postpone-message>    P           save this message to send later
10411    <print-entry>         l           print the current entry
10412    <rename-file>         R           rename/move an attached file
10413    <send-message>        y           send the message
10414    <toggle-unlink>       u           toggle whether to delete file after
10415                                      sending it
10416    <view-attach>         RET         view attachment using mailcap entry if
10417                                      necessary
10418    <write-fcc>           w           write the message to a folder
10419
10420   5.8. postpone
10421
10422    Table 7.11. Reference: Default Postpone Menu Function Bindings
10423
10424    Function         Default Key Description
10425    <delete-entry>   d           delete the current entry
10426    <undelete-entry> u           undelete the current entry
10427
10428   5.9. browser
10429
10430    Table 7.12. Reference: Default Browser Menu Function Bindings
10431
10432    Function            Default Key Description
10433    <change-dir>        c           change directories
10434    <check-new>         TAB         check mailboxes for new mail
10435    <enter-mask>        m           enter a file mask
10436    <search>            /           search for a regular expression
10437    <search-next>       n           search for next match
10438    <search-reverse>    ESC /       search backwards for a regular expression
10439    <select-new>        N           select a new file in this directory
10440    <sort>              o           sort messages
10441    <sort-reverse>      O           sort messages in reverse order
10442    <toggle-mailboxes>  TAB         toggle whether to browse mailboxes or all
10443                                    files
10444    <view-file>         SPACE       view file
10445    <subscribe>         s           subscribe to current mailbox (IMAP Only)
10446    <unsubscribe>       u           unsubscribe to current mailbox (IMAP Only)
10447    <toggle-subscribed> T           toggle view all/subscribed mailboxes (IMAP
10448                                    Only)
10449
10450   5.10. pgp
10451
10452    Table 7.13. Reference: Default PGP Menu Function Bindings
10453
10454    Function     Default Key Description
10455    <view-name>  %           view the key's user id
10456    <verify-key> c           verify a PGP public key
10457
10458   5.11. editor
10459
10460    Table 7.14. Reference: Default Editor Function Bindings
10461
10462    Function          Default Key Description
10463    <backspace>       BackSpace   delete the char in front of the cursor
10464    <backward-char>   ^B          move the cursor one character to the left
10465    <backward-word>   ESC b       move the cursor to the previous word
10466    <bol>             ^A          jump to the beginning of the line
10467    <buffy-cycle>     Space       cycle among incoming mailboxes
10468    <capitalize-word> ESC c       uppercase the first character in the word
10469    <complete>        TAB         complete filename or alias
10470    <complete-query>  ^T          complete address with query
10471    <delete-char>     ^D          delete the char under the cursor
10472    <downcase-word>   ESC l       lowercase all characters in current word
10473    <eol>             ^E          jump to the end of the line
10474    <forward-char>    ^F          move the cursor one character to the right
10475    <forward-word>    ESC f       move the cursor to the next word
10476    <history-down>    not bound   scroll down through the history list
10477    <history-up>      not bound   scroll up through the history list
10478    <kill-eol>        ^K          delete chars from cursor to end of line
10479    <kill-eow>        ESC d       delete chars from cursor to end of word
10480    <kill-line>       ^U          delete all chars on the line
10481    <kill-word>       ^W          delete the word in front of the cursor
10482    <quote-char>      ^V          quote the next typed key
10483    <transpose-chars> not bound   transpose character under cursor with
10484                                  previous
10485    <upcase-word>     ESC u       uppercase all characters in current word
10486
10487   5.12. sidebar
10488
10489    Table 7.15. Referene: Default Sidebar Function Bindings
10490
10491    Key  Function              Description
10492    none <sidebar-scroll-up>   Scrolls the mailbox list up 1 page
10493    none <sidebar-scroll-down> Scrolls the mailbox list down 1 page
10494    none <sidebar-next>        Highlights the next mailbox
10495    none <sidebar-next-new>    Highlights the next mailbox with new mail
10496    none <sidebar-previous>    Highlights the previous mailbox
10497    none <sidebar-open>        Opens the currently highlighted mailbox
10498
10499 Appendix A. Acknowledgments
10500
10501    Kari Hurtta <kari.hurtta@fmi.fi> co-developed the original MIME >parsing
10502    code back in the ELM-ME days.
10503
10504    The following people have been very helpful to the development of Mutt
10505    (sorted by surnames):
10506
10507      o Vikas Agnihotri <vikasa@writeme.com>
10508      o Francois Berjon < Francois.Berjon@aar.alcatel-alsthom.fr>
10509      o Aric Blumer <aric@fore.com>, John Capo < jc@irbs.com >
10510      o David Champion <dgc@uchicago.edu>
10511      o Brendan Cully <brendan@kublai.com>
10512      o Liviu Daia <daia@stoilow.imar.ro>
10513      o Thomas E. Dickey <dickey@herndon4.his.com>
10514      o David DeSimone <fox@convex.hp.com>
10515      o Nickolay N. Dudorov <nnd@wint.itfs.nsk.su>
10516      o Ruslan Ermilov <ru@freebsd.org>
10517      o Edmund Grimley Evans <edmundo@rano.org>
10518      o Michael Finken <finken@conware.de>
10519      o Sven Guckes <guckes@math.fu-berlin.de>
10520      o Lars Hecking <lhecking@nmrc.ie>
10521      o Mark Holloman <holloman@nando.net>
10522      o Andreas Holzmann <holzmann@fmi.uni-passau.de>
10523      o Marco d'Itri <md@linux.it>
10524      o Björn Jacke <bjacke@suse.com>
10525      o Byrial Jensen <byrial@image.dk>
10526      o David Jeske <jeske@igcom.net>
10527      o Christophe Kalt <kalt@hugo.int-evry.fr>
10528      o Tommi Komulainen <Tommi.Komulainen@iki.fi>
10529      o Felix von Leitner (a.k.a ``Fefe'') < leitner@math.fu-berlin.de >
10530      o Brandon Long <blong@fiction.net>
10531      o Jimmy Mäkeä <jmy@flashback.net>
10532      o Lars Marowsky-Bree <lmb@pointer.in-minden.de>
10533      o Thomas ``Mike'' Michlmayr <mike@cosy.sbg.ac.at>
10534      o Andrew W. Nosenko <awn@bcs.zp.ua>
10535      o David O'Brien <obrien@Nuxi.cs.ucdavis.edu>
10536      o Clint Olsen <olsenc@ichips.intel.com>
10537      o Park Myeong Seok <pms@romance.kaist.ac.kr>
10538      o Thomas Parmelan <tom@ankh.fr.eu.org>
10539      o Ollivier Robert <roberto@keltia.freenix.fr>
10540      o Thomas Roessler <roessler@does-not-exist.org>
10541      o Roland Rosenfeld <roland@spinnaker.de>
10542      o TAKIZAWA Takashi <taki@luna.email.ne.jp>
10543      o Allain Thivillon <Allain.Thivillon@alma.fr>
10544      o Gero Treuner <gero@faveve.uni-stuttgart.de>
10545      o Vsevolod Volkov <vvv@lucky.net>
10546      o Ken Weinert <kenw@ihs.com>
10547
10548    Mutt-ng is developed by the following people:
10549
10550      o Andreas Krennmair <ak@synflood.at>
10551      o Nico Golde <nico@ngolde.de>
10552      o Rocco Rutte <pdmef@cs.tu-berlin.de>
10553
10554    The following people have been very helpful to the development of Mutt-ng
10555    (sorted by surnames):
10556
10557      o Christian Gall <cg@cgall.de>
10558      o Iain Lea <iain@bricbrac.de>
10559      o Andreas Kneib <akneib@gmx.net>
10560      o Felix Meinhold <felix.meinhold@gmx.net>
10561      o Carsten Schoelzki <cjs@weisshuhn.de>
10562      o Elimar Riesebieter <riesebie@lxtec.de>
10563
10564 Appendix B. Hacking Documentation
10565
10566    This manual is written in XML and transformed via a XSLT stylesheet into
10567    valid DocBook/XML to be again transformed via a XSLT stylesheet into the
10568    final formats.
10569
10570    This two pass processing is required to keep the file size low and to
10571    sanitize use, i.e. drastically lower the typing overhead.
10572
10573    To achieve the latter, the sources come with a file called
10574    muttng-manual.xsl introducing the muttng-doc namespace which offers the
10575    following tags to be used (note: this is far from being complete, any help
10576    towards consistency is highly appreciated).
10577
10578    <muttng-doc:man name="" [sect=""]/>
10579
10580            References to manual pages. If the sect parameter is omitted,
10581            it'll be 1 for the commands section. There's no auto-indexing yet.
10582
10583    <muttng-doc:envvar name=""/>
10584
10585            References to environment variables. The name parameter must
10586            contain upper-case letters only without the dollar sign as it'll
10587            be added automatically. Auto-indexing under Environment Variables
10588            is done.
10589
10590    <muttng-doc:hook name=""/>
10591
10592            References to hooks. The string -hook will be added automatically
10593            to the value given in the name parameter. All entries will be
10594            auto-indexed under Hooks.
10595
10596    <muttng-doc:command name=""/>
10597
10598            References to configuration commands. The name is given via the
10599            name parameter and will be auto-indexed under Configuration
10600            Commands.
10601
10602    <muttng-doc:pattern name="" [full="1"]/>
10603
10604            References to patterns. The name parameter must only contain the
10605            letter/symbol for the pattern as the tilde symbol/equal sign will
10606            be added automatically. Auto-indexing is done under Patterns. If
10607            the full is given the equal sign as well as tilde will be printed
10608            for a fully complete reference.
10609
10610    <muttng-doc:funcdef name="" key=""/>
10611
10612            Defining a command.. It's used to define a command with the name
10613            given in the name parameter and a default key binding given via
10614            key. The string will be automatically enclosed in <>.
10615            Auto-indexing is done under Functions. Also an anchor with id
10616            func-[name] will be added with [name] being the value of the name
10617            parameter.
10618
10619    <muttng-doc:funcref name=""/>
10620
10621            References to functions.. This is practically the same as the
10622            above except that there's no anchor defined.
10623
10624    <muttng-doc:vardef name="" id=""/>
10625
10626            Defining a variable. This is to be used by makedoc only to define
10627            a command with a given name and XML-normalized link given via id.
10628            Auto-indexing is done under Configuration Variables. The name
10629            parameter's value will be prefixed with a dollar sign as for
10630            environment variables.
10631
10632    <muttng-doc:varref name=""/>
10633
10634            References to variables. This practically is the same as above
10635            except that the text inbetween won't be wrapped within a <sect1>
10636            tag. Auto-indexing is the same as for the above. This one is
10637            intended for manual use.
10638
10639    <muttng-doc:web url""/>
10640
10641            Pretty print a linked URL. As for E-Mail addresses where the text
10642            (mostly) equals the link's target, URLs must be enclosed in <>
10643            (also this reduced redudant URL typing).
10644
10645    <muttng-doc:rfc num=""/>
10646
10647            References to RfC documents. Use this to produce links to RfC
10648            document with number given as the num parameter. A link to
10649            <http://www.faqs.org/> will be made. Auto-indexing is not done
10650            yet.
10651
10652 Index
10653
10654   C
10655
10656    Configuration Commands
10657
10658                 alias, Miscellaneous Functions, Defining/Using aliases,
10659                 Configuration Commands
10660
10661                 alternates, Alternative addresses, Configuration Commands
10662
10663                 alternative_order, Configuration Commands
10664
10665                 auto_view, The Pager, Optional Fields, Search Order, MIME
10666                 Multipart/Alternative, Configuration Commands
10667
10668                 bind, Editing Input Fields, Changing the default key
10669                 bindings, Keyboard macros, Configuration Commands
10670
10671                 color, The Pager, Using color and mono video attributes,
10672                 Configuration Commands
10673
10674                 exec, Executing functions, Configuration Commands
10675
10676                 hdr_order, Defining the order of headers when viewing
10677                 messages, Configuration Commands
10678
10679                 ignore, Miscellaneous Functions, Ignoring (weeding) unwanted
10680                 message headers, Configuration Commands
10681
10682                 lists, Miscellaneous Functions, Mailing lists, Handling
10683                 Mailing Lists, Configuration Commands
10684
10685                 macro, Miscellaneous Functions, Keyboard macros, Adding key
10686                 sequences to the keyboard buffer, Using Tags, Configuration
10687                 Commands
10688
10689                 mailboxes, Defining mailboxes which receive mail,
10690                 Configuration Commands
10691
10692                 mime_lookup, Configuration Commands
10693
10694                 mono, Using color and mono video attributes, Configuration
10695                 Commands
10696
10697                 my_hdr, User defined headers, Configuration Commands
10698
10699                 nospam, Spam detection, Configuration Commands
10700
10701                 push, Adding key sequences to the keyboard buffer, Using
10702                 Tags, Configuration Commands
10703
10704                 reset, Setting variables, Configuration Commands
10705
10706                 score, Message Scoring, Configuration Commands
10707
10708                 set, Setting variables, Configuration Commands
10709
10710                 source, Miscellaneous Functions, Defining/Using aliases,
10711                 Reading initialization commands from another file,
10712                 Configuration Commands
10713
10714                 spam, Spam detection, Configuration Commands
10715
10716                 subscribe, Mailing lists, Configuration Commands
10717
10718                 toggle, Setting variables, Configuration Commands
10719
10720                 unalias, Configuration Commands
10721
10722                 unalternates, Alternative addresses, Configuration Commands
10723
10724                 unalternative_order, Configuration Commands
10725
10726                 unauto_view, Configuration Commands
10727
10728                 uncolor, Using color and mono video attributes, Configuration
10729                 Commands
10730
10731                 unhdr_order, Configuration Commands
10732
10733                 unhook, Removing hooks, Configuration Commands
10734
10735                 unignore, Ignoring (weeding) unwanted message headers,
10736                 Configuration Commands
10737
10738                 unlists, Mailing lists, Configuration Commands
10739
10740                 unmailboxes, Defining mailboxes which receive mail
10741
10742                 unmime_lookup, Configuration Commands
10743
10744                 unmono, Using color and mono video attributes, Configuration
10745                 Commands
10746
10747                 unmy_hdr, User defined headers, Configuration Commands
10748
10749                 unscore, Message Scoring, Configuration Commands
10750
10751                 unset, Setting variables, Configuration Commands
10752
10753                 unsubscribe, Mailing lists, Configuration Commands
10754
10755    Configuration Variables
10756
10757                 $abort_noattach , $abort_noattach
10758
10759                 $abort_nosubject , $abort_nosubject
10760
10761                 $abort_unmodified , $abort_unmodified
10762
10763                 $agent_string , Configuration variables, $agent_string
10764
10765                 $alias_file, Miscellaneous Functions, Defining/Using aliases,
10766                 $alias_file
10767
10768                 $alias_format , $alias_format
10769
10770                 $allow_8bit , $allow_8bit
10771
10772                 $allow_ansi , $allow_ansi
10773
10774                 $arrow_cursor , $arrow_cursor
10775
10776                 $ascii_chars , $ascii_chars
10777
10778                 $askbcc , $askbcc
10779
10780                 $askcc , $askcc
10781
10782                 $assumed_charset , $assumed_charset
10783
10784                 $attach_format , $attach_format
10785
10786                 $attach_remind_regexp , $attach_remind_regexp
10787
10788                 $attach_sep , $attach_sep
10789
10790                 $attach_split , $attach_split
10791
10792                 $attribution, Change settings based upon message recipients,
10793                 $attribution
10794
10795                 $autoedit , $autoedit
10796
10797                 $auto_tag, Using Tags, $auto_tag
10798
10799                 $beep , $beep
10800
10801                 $beep_new , $beep_new
10802
10803                 $bounce , $bounce
10804
10805                 $bounce_delivered , $bounce_delivered
10806
10807                 $braille_friendly , $braille_friendly
10808
10809                 $certificate_file , $certificate_file
10810
10811                 $charset , $charset
10812
10813                 $check_new , $check_new
10814
10815                 $collapse_unread , $collapse_unread
10816
10817                 $compose_format , $compose_format
10818
10819                 $config_charset , $config_charset
10820
10821                 $confirmappend , $confirmappend
10822
10823                 $confirmcreate , $confirmcreate
10824
10825                 $connect_timeout , $connect_timeout
10826
10827                 $content_type , $content_type
10828
10829                 $copy , $copy
10830
10831                 $crypt_autoencrypt , Configuration variables,
10832                 $crypt_autoencrypt
10833
10834                 $crypt_autopgp , $crypt_autopgp
10835
10836                 $crypt_autosign , Configuration variables, $crypt_autosign
10837
10838                 $crypt_autosmime , $crypt_autosmime
10839
10840                 $crypt_replyencrypt , Configuration variables,
10841                 $crypt_replyencrypt
10842
10843                 $crypt_replysign , Configuration variables, $crypt_replysign
10844
10845                 $crypt_replysignencrypted , Configuration variables,
10846                 $crypt_replysignencrypted
10847
10848                 $crypt_timestamp , $crypt_timestamp
10849
10850                 $crypt_use_gpgme , $crypt_use_gpgme
10851
10852                 $crypt_verify_sig , Configuration variables,
10853                 $crypt_verify_sig
10854
10855                 $date_format , $date_format
10856
10857                 $debug_level , $debug_level
10858
10859                 $default_hook , $default_hook
10860
10861                 $delete , $delete
10862
10863                 $delete_space, Additional Notes, $delete_space
10864
10865                 $delete_untag , $delete_untag
10866
10867                 $digest_collapse , $digest_collapse
10868
10869                 $display_filter , $display_filter
10870
10871                 $dotlock_program , $dotlock_program
10872
10873                 $dsn_notify, Delivery Status Notification (DSN) Support,
10874                 $dsn_notify
10875
10876                 $dsn_return, Delivery Status Notification (DSN) Support,
10877                 $dsn_return
10878
10879                 $duplicate_threads , $duplicate_threads
10880
10881                 $editor , $editor
10882
10883                 $editor_headers, Editing the message header, Defining/Using
10884                 aliases, $editor_headers
10885
10886                 $edit_headers, Editing the message header, User defined
10887                 headers, mailto:-style links, Configuration variables,
10888                 $edit_headers
10889
10890                 $encode_from , $encode_from
10891
10892                 $entropy_file , $entropy_file
10893
10894                 $envelope_from , $envelope_from
10895
10896                 $escape , $escape
10897
10898                 $fast_reply , $fast_reply
10899
10900                 $fcc_attach , $fcc_attach
10901
10902                 $fcc_clear , $fcc_clear
10903
10904                 $file_charset , $file_charset
10905
10906                 $folder, Configuration Variables, Defining mailboxes which
10907                 receive mail, Mailbox Shortcuts, $folder
10908
10909                 $folder_format , $folder_format
10910
10911                 $followup_to, Mailing lists, Handling Mailing Lists,
10912                 $followup_to
10913
10914                 $force_buffy_check , $force_buffy_check
10915
10916                 $force_name , $force_name
10917
10918                 $forward_decode , Configuration variables, $forward_decode
10919
10920                 $forward_decrypt , Configuration variables, $forward_decrypt
10921
10922                 $forward_edit , $forward_edit
10923
10924                 $forward_format , Configuration variables, $forward_format
10925
10926                 $forward_quote , Configuration variables, $forward_quote
10927
10928                 $from , $from
10929
10930                 $gecos_mask , $gecos_mask
10931
10932                 $hdrs , $hdrs
10933
10934                 $header , $header
10935
10936                 $header_cache , $header_cache
10937
10938                 $header_cache_compress , $header_cache_compress
10939
10940                 $help , $help
10941
10942                 $hidden_host , $hidden_host
10943
10944                 $hide_limited , $hide_limited
10945
10946                 $hide_missing , $hide_missing
10947
10948                 $hide_thread_subject , $hide_thread_subject
10949
10950                 $hide_top_limited , $hide_top_limited
10951
10952                 $hide_top_missing , $hide_top_missing
10953
10954                 $history , $history
10955
10956                 $honor_followup_to, Miscellaneous Functions, Handling Mailing
10957                 Lists, $honor_followup_to
10958
10959                 $hostname , $hostname
10960
10961                 $ignore_list_reply_to , $ignore_list_reply_to
10962
10963                 $imap_authenticators, Authentication, $imap_authenticators
10964
10965                 $imap_check_subscribed , $imap_check_subscribed
10966
10967                 $imap_delim_chars , $imap_delim_chars
10968
10969                 $imap_headers , $imap_headers
10970
10971                 $imap_home_namespace, Configuration Variables,
10972                 $imap_home_namespace
10973
10974                 $imap_keepalive , $imap_keepalive
10975
10976                 $imap_list_subscribed, IMAP Support (OPTIONAL),
10977                 $imap_list_subscribed
10978
10979                 $imap_login , $imap_login
10980
10981                 $imap_mail_check, Conditional parts, IMAP Support (OPTIONAL),
10982                 $imap_mail_check
10983
10984                 $imap_pass, Authentication, $imap_pass
10985
10986                 $imap_passive , $imap_passive
10987
10988                 $imap_peek , $imap_peek
10989
10990                 $imap_reconnect , $imap_reconnect
10991
10992                 $imap_servernoise , $imap_servernoise
10993
10994                 $imap_user, Authentication, $imap_user
10995
10996                 $implicit_autoview , $implicit_autoview
10997
10998                 $include , $include
10999
11000                 $include_onlyfirst , $include_onlyfirst
11001
11002                 $indent_string , Configuration variables, $indent_string
11003
11004                 $index_format, Threaded Mode, Spam detection, Handling
11005                 Mailing Lists, Configuration variables, $index_format
11006
11007                 $ispell , $ispell
11008
11009                 $keep_flagged , $keep_flagged
11010
11011                 $list_reply , $list_reply
11012
11013                 $locale, Change settings based upon message recipients,
11014                 $locale
11015
11016                 $mailcap_path, mailcap, $mailcap_path
11017
11018                 $mailcap_sanitize, Secure use of mailcap, mailcap,
11019                 $mailcap_sanitize
11020
11021                 $maildir_header_cache_verify , $maildir_header_cache_verify
11022
11023                 $maildir_trash , $maildir_trash
11024
11025                 $mail_check , $mail_check
11026
11027                 $markers , $markers
11028
11029                 $mark_old , $mark_old
11030
11031                 $mask , $mask
11032
11033                 $max_display_recips , $max_display_recips
11034
11035                 $max_line_length , $max_line_length
11036
11037                 $mbox, Mailbox Shortcuts, $mbox
11038
11039                 $mbox_type, Mailbox Formats, Append a message to a compressed
11040                 mailbox, $mbox_type
11041
11042                 $menu_context , $menu_context
11043
11044                 $menu_move_off , $menu_move_off
11045
11046                 $menu_scroll , $menu_scroll
11047
11048                 $message_format , Configuration variables, $message_format
11049
11050                 $meta_key , $meta_key
11051
11052                 $metoo , $metoo
11053
11054                 $mh_purge , $mh_purge
11055
11056                 $mh_seq_flagged , $mh_seq_flagged
11057
11058                 $mh_seq_replied , $mh_seq_replied
11059
11060                 $mh_seq_unseen , $mh_seq_unseen
11061
11062                 $mime_forward , Configuration variables, $mime_forward
11063
11064                 $mime_forward_decode , $mime_forward_decode
11065
11066                 $mime_forward_rest , $mime_forward_rest
11067
11068                 $mixmaster , $mixmaster
11069
11070                 $mix_entry_format, Sending anonymous messages via mixmaster,
11071                 $mix_entry_format
11072
11073                 $move , $move
11074
11075                 $msgid_format, Message-ID: headers, $msgid_format
11076
11077                 $muttng_bindir , $muttng_bindir
11078
11079                 $muttng_docdir , $muttng_docdir
11080
11081                 $muttng_folder_name , $muttng_folder_name
11082
11083                 $muttng_folder_path , $muttng_folder_path
11084
11085                 $muttng_hcache_backend , $muttng_hcache_backend
11086
11087                 $muttng_pwd , $muttng_pwd
11088
11089                 $muttng_revision , $muttng_revision
11090
11091                 $muttng_sysconfdir , $muttng_sysconfdir
11092
11093                 $muttng_version , $muttng_version
11094
11095                 $narrow_tree , $narrow_tree
11096
11097                 $net_inc , $net_inc
11098
11099                 $nntp_ask_followup_to , Configuration variables,
11100                 $nntp_ask_followup_to
11101
11102                 $nntp_ask_x_comment_to , Configuration variables,
11103                 $nntp_ask_x_comment_to
11104
11105                 $nntp_cache_dir , Configuration variables, $nntp_cache_dir
11106
11107                 $nntp_catchup , Configuration variables, $nntp_catchup
11108
11109                 $nntp_context , $nntp_context
11110
11111                 $nntp_followup_to_poster , Configuration variables,
11112                 $nntp_followup_to_poster
11113
11114                 $nntp_group_index_format , Configuration variables,
11115                 $nntp_group_index_format
11116
11117                 $nntp_host , Configuration variables, $nntp_host
11118
11119                 $nntp_inews , Configuration variables, $nntp_inews
11120
11121                 $nntp_load_description , $nntp_load_description
11122
11123                 $nntp_mail_check , Configuration variables, $nntp_mail_check
11124
11125                 $nntp_mime_subject , Configuration variables,
11126                 $nntp_mime_subject
11127
11128                 $nntp_newsrc, NNTP Support (OPTIONAL), Configuration
11129                 variables, $nntp_newsrc
11130
11131                 $nntp_pass , $nntp_pass
11132
11133                 $nntp_post_moderated , Configuration variables,
11134                 $nntp_post_moderated
11135
11136                 $nntp_reconnect , $nntp_reconnect
11137
11138                 $nntp_save_unsubscribed , Configuration variables,
11139                 $nntp_save_unsubscribed
11140
11141                 $nntp_show_new_news , Configuration variables,
11142                 $nntp_show_new_news
11143
11144                 $nntp_show_only_unread , Configuration variables,
11145                 $nntp_show_only_unread
11146
11147                 $nntp_user , $nntp_user
11148
11149                 $nntp_x_comment_to , Configuration variables,
11150                 $nntp_x_comment_to
11151
11152                 $operating_system , $operating_system
11153
11154                 $pager , $pager
11155
11156                 $pager_context , $pager_context
11157
11158                 $pager_format , $pager_format
11159
11160                 $pager_index_lines, Conditional parts, $pager_index_lines
11161
11162                 $pager_stop , $pager_stop
11163
11164                 $pgp_autoinline , Configuration variables, $pgp_autoinline
11165
11166                 $pgp_auto_decode , $pgp_auto_decode
11167
11168                 $pgp_check_exit , $pgp_check_exit
11169
11170                 $pgp_clearsign_command , $pgp_clearsign_command
11171
11172                 $pgp_decode_command , $pgp_decode_command
11173
11174                 $pgp_decrypt_command , $pgp_decrypt_command
11175
11176                 $pgp_encrypt_only_command , $pgp_encrypt_only_command
11177
11178                 $pgp_encrypt_sign_command , $pgp_encrypt_sign_command
11179
11180                 $pgp_entry_format, Using Mutt-ng with PGP, $pgp_entry_format
11181
11182                 $pgp_export_command , $pgp_export_command
11183
11184                 $pgp_getkeys_command , $pgp_getkeys_command
11185
11186                 $pgp_good_sign , $pgp_good_sign
11187
11188                 $pgp_ignore_subkeys , $pgp_ignore_subkeys
11189
11190                 $pgp_import_command , $pgp_import_command
11191
11192                 $pgp_list_pubring_command , $pgp_list_pubring_command
11193
11194                 $pgp_list_secring_command , $pgp_list_secring_command
11195
11196                 $pgp_long_ids , $pgp_long_ids
11197
11198                 $pgp_mime_auto , $pgp_mime_auto
11199
11200                 $pgp_replyinline , Configuration variables, $pgp_replyinline
11201
11202                 $pgp_retainable_sigs , $pgp_retainable_sigs
11203
11204                 $pgp_show_unusable , $pgp_show_unusable
11205
11206                 $pgp_sign_as, Using Mutt-ng with PGP, $pgp_sign_as
11207
11208                 $pgp_sign_command , $pgp_sign_command
11209
11210                 $pgp_sort_keys , $pgp_sort_keys
11211
11212                 $pgp_strict_enc , $pgp_strict_enc
11213
11214                 $pgp_timeout , $pgp_timeout
11215
11216                 $pgp_use_gpg_agent , $pgp_use_gpg_agent
11217
11218                 $pgp_verify_command , $pgp_verify_command
11219
11220                 $pgp_verify_key_command , $pgp_verify_key_command
11221
11222                 $pipe_decode, Miscellaneous Functions, $pipe_decode
11223
11224                 $pipe_sep , $pipe_sep
11225
11226                 $pipe_split, Miscellaneous Functions, $pipe_split
11227
11228                 $pop_authenticators , $pop_authenticators
11229
11230                 $pop_auth_try_all , $pop_auth_try_all
11231
11232                 $pop_delete , $pop_delete
11233
11234                 $pop_host , $pop_host
11235
11236                 $pop_last , $pop_last
11237
11238                 $pop_mail_check, POP3 Support (OPTIONAL), Configuration
11239                 variables, $pop_mail_check
11240
11241                 $pop_pass , $pop_pass
11242
11243                 $pop_reconnect , $pop_reconnect
11244
11245                 $pop_user , $pop_user
11246
11247                 $postpone, Postponing Mail, $postpone
11248
11249                 $postponed, Postponing Mail, $postponed
11250
11251                 $post_indent_string , Configuration variables,
11252                 $post_indent_string
11253
11254                 $preconnect , $preconnect
11255
11256                 $print , $print
11257
11258                 $print_command , Configuration variables, $print_command
11259
11260                 $print_decode , $print_decode
11261
11262                 $print_split , $print_split
11263
11264                 $prompt_after , $prompt_after
11265
11266                 $query_command, External Address Queries, $query_command
11267
11268                 $quit , $quit
11269
11270                 $quote_empty , $quote_empty
11271
11272                 $quote_quoted , $quote_quoted
11273
11274                 $quote_regexp, Miscellaneous Functions, Using color and mono
11275                 video attributes, $quote_regexp
11276
11277                 $read_inc , $read_inc
11278
11279                 $read_only , $read_only
11280
11281                 $realname , $realname
11282
11283                 $recall , $recall
11284
11285                 $record, Environment Variables, Specify default Fcc: mailbox
11286                 when composing, Mailbox Shortcuts, $record
11287
11288                 $reply_regexp , $reply_regexp
11289
11290                 $reply_self , $reply_self
11291
11292                 $reply_to, Alternative addresses, Handling Mailing Lists,
11293                 $reply_to
11294
11295                 $resolve , $resolve
11296
11297                 $reverse_alias , $reverse_alias
11298
11299                 $reverse_name , $reverse_name
11300
11301                 $reverse_realname , $reverse_realname
11302
11303                 $rfc2047_parameters , $rfc2047_parameters
11304
11305                 $save_address , $save_address
11306
11307                 $save_empty, Compressed folders Support (OPTIONAL),
11308                 $save_empty
11309
11310                 $save_name , $save_name
11311
11312                 $score , $score
11313
11314                 $score_threshold_delete, Message Scoring,
11315                 $score_threshold_delete
11316
11317                 $score_threshold_flag, Message Scoring, $score_threshold_flag
11318
11319                 $score_threshold_read, Message Scoring, $score_threshold_read
11320
11321                 $sendmail, Change settings based upon message recipients,
11322                 $sendmail
11323
11324                 $sendmail_wait , $sendmail_wait
11325
11326                 $send_charset , $send_charset
11327
11328                 $shell , $shell
11329
11330                 $sidebar_boundary , $sidebar_boundary
11331
11332                 $sidebar_delim , $sidebar_delim
11333
11334                 $sidebar_newmail_only , $sidebar_newmail_only
11335
11336                 $sidebar_number_format , $sidebar_number_format
11337
11338                 $sidebar_shorten_hierarchy , Configuration variables,
11339                 $sidebar_shorten_hierarchy
11340
11341                 $sidebar_visible , $sidebar_visible
11342
11343                 $sidebar_width , $sidebar_width
11344
11345                 $signature, Change settings based upon message recipients,
11346                 $signature
11347
11348                 $signoff_string , $signoff_string
11349
11350                 $sig_dashes , $sig_dashes
11351
11352                 $sig_on_top , $sig_on_top
11353
11354                 $simple_search , $simple_search
11355
11356                 $sleep_time , $sleep_time
11357
11358                 $smart_wrap , $smart_wrap
11359
11360                 $smileys , $smileys
11361
11362                 $smime_ask_cert_label , $smime_ask_cert_label
11363
11364                 $smime_ca_location , $smime_ca_location
11365
11366                 $smime_certificates , $smime_certificates
11367
11368                 $smime_decrypt_command , $smime_decrypt_command
11369
11370                 $smime_decrypt_use_default_key ,
11371                 $smime_decrypt_use_default_key
11372
11373                 $smime_default_key , Configuration variables,
11374                 $smime_default_key
11375
11376                 $smime_encrypt_command , $smime_encrypt_command
11377
11378                 $smime_encrypt_with , $smime_encrypt_with
11379
11380                 $smime_get_cert_command , $smime_get_cert_command
11381
11382                 $smime_get_cert_email_command , $smime_get_cert_email_command
11383
11384                 $smime_get_signer_cert_command ,
11385                 $smime_get_signer_cert_command
11386
11387                 $smime_import_cert_command , $smime_import_cert_command
11388
11389                 $smime_is_default , $smime_is_default
11390
11391                 $smime_keys , $smime_keys
11392
11393                 $smime_pk7out_command , $smime_pk7out_command
11394
11395                 $smime_sign_command , $smime_sign_command
11396
11397                 $smime_sign_opaque_command , $smime_sign_opaque_command
11398
11399                 $smime_timeout , $smime_timeout
11400
11401                 $smime_verify_command , $smime_verify_command
11402
11403                 $smime_verify_opaque_command , $smime_verify_opaque_command
11404
11405                 $smtp_envelope, SMTP Support (OPTIONAL), $smtp_envelope
11406
11407                 $smtp_host, SMTP Support (OPTIONAL), $smtp_host
11408
11409                 $smtp_pass, SMTP Support (OPTIONAL), Configuration variables,
11410                 $smtp_pass
11411
11412                 $smtp_port , $smtp_port
11413
11414                 $smtp_user, SMTP Support (OPTIONAL), Configuration variables,
11415                 $smtp_user
11416
11417                 $smtp_use_tls, SMTP Support (OPTIONAL), $smtp_use_tls
11418
11419                 $sort , $sort
11420
11421                 $sort_alias , $sort_alias
11422
11423                 $sort_aux , $sort_aux
11424
11425                 $sort_browser , $sort_browser
11426
11427                 $sort_re , $sort_re
11428
11429                 $spam_separator , $spam_separator
11430
11431                 $spoolfile, Setting variables based upon mailbox, Defining
11432                 mailboxes which receive mail, Mailbox Shortcuts, POP3 Support
11433                 (OPTIONAL), $spoolfile
11434
11435                 $ssl_ca_certificates_file , $ssl_ca_certificates_file
11436
11437                 $ssl_client_cert , $ssl_client_cert
11438
11439                 $ssl_force_tls , $ssl_force_tls
11440
11441                 $ssl_min_dh_prime_bits , $ssl_min_dh_prime_bits
11442
11443                 $ssl_starttls , $ssl_starttls
11444
11445                 $ssl_usesystemcerts , $ssl_usesystemcerts
11446
11447                 $ssl_use_sslv2 , $ssl_use_sslv2
11448
11449                 $ssl_use_sslv3 , $ssl_use_sslv3
11450
11451                 $ssl_use_tlsv1 , $ssl_use_tlsv1
11452
11453                 $status_chars , $status_chars
11454
11455                 $status_format, Composing new messages, Introduction,
11456                 $status_format
11457
11458                 $status_on_top , $status_on_top
11459
11460                 $strict_mailto, mailto:-style links, $strict_mailto
11461
11462                 $strict_mime , $strict_mime
11463
11464                 $strict_threads, Threaded Mode, $strict_threads
11465
11466                 $strip_was , $strip_was
11467
11468                 $strip_was_regex , $strip_was_regex
11469
11470                 $stuff_quoted , $stuff_quoted
11471
11472                 $suspend , $suspend
11473
11474                 $text_flowed , $text_flowed
11475
11476                 $thorough_search , $thorough_search
11477
11478                 $thread_received , $thread_received
11479
11480                 $tilde , $tilde
11481
11482                 $timeout, IMAP Support (OPTIONAL), $timeout
11483
11484                 $tmpdir, Temporary Files, $tmpdir
11485
11486                 $to_chars, Status Flags, $to_chars
11487
11488                 $trash , $trash
11489
11490                 $tunnel , $tunnel
11491
11492                 $umask, Temporary Files, $umask
11493
11494                 $uncollapse_jump , $uncollapse_jump
11495
11496                 $use_8bitmime, SMTP Support (OPTIONAL), $use_8bitmime
11497
11498                 $use_domain , $use_domain
11499
11500                 $use_from , $use_from
11501
11502                 $use_idn , $use_idn
11503
11504                 $use_ipv6 , $use_ipv6
11505
11506                 $visual , $visual
11507
11508                 $wait_key, Miscellaneous Functions, Optional Fields,
11509                 $wait_key
11510
11511                 $weed, Miscellaneous Functions, $weed
11512
11513                 $wrapmargin , $wrapmargin
11514
11515                 $wrap_search , $wrap_search
11516
11517                 $write_bcc , $write_bcc
11518
11519                 $write_inc , $write_inc
11520
11521                 $xterm_icon , $xterm_icon
11522
11523                 $xterm_leave , $xterm_leave
11524
11525                 $xterm_set_titles , $xterm_set_titles
11526
11527                 $xterm_title , $xterm_title
11528
11529   E
11530
11531    Environment Variables
11532
11533                 $COLORFGBG, Using color and mono video attributes
11534
11535                 $EDITOR, Composing new messages
11536
11537                 $HOME, MIME Type configuration with mime.types, MIME Viewer
11538                 configuration with mailcap
11539
11540                 $HOSTNAME, Environment Variables
11541
11542                 $NNTPSERVER, NNTP Support (OPTIONAL)
11543
11544                 $VISUAL, Composing new messages
11545
11546   F
11547
11548    Functions
11549
11550                 <attach-file>, Composing new messages, compose
11551
11552                 <attach-key>, Composing new messages, compose
11553
11554                 <attach-message>, Composing new messages, compose
11555
11556                 <backspace>, Editing Input Fields, editor
11557
11558                 <backward-char>, Editing Input Fields, editor
11559
11560                 <backward-word>, Editing Input Fields, editor
11561
11562                 <bol>, Editing Input Fields, editor
11563
11564                 <bottom-page>, generic
11565
11566                 <bottom>, pager
11567
11568                 <bounce-message>, index, pager, attach
11569
11570                 <bounce>, Sending Mail
11571
11572                 <buffy-cycle>, editor
11573
11574                 <capitalize-word>, Editing Input Fields, editor
11575
11576                 <change-dir>, browser
11577
11578                 <change-folder-readonly>, index, pager
11579
11580                 <change-folder>, index, pager
11581
11582                 <check-new>, browser
11583
11584                 <check-traditional-pgp>, Miscellaneous Functions, index,
11585                 pager
11586
11587                 <clear-flag>, index
11588
11589                 <collapse-all>, Threaded Mode
11590
11591                 <collapse-parts>, attach
11592
11593                 <collapse-thread>, Threaded Mode
11594
11595                 <complete-query>, Editing Input Fields, editor
11596
11597                 <complete>, Editing Input Fields, editor
11598
11599                 <compose>, Sending Mail
11600
11601                 <copy-file>, compose
11602
11603                 <copy-message>, index, pager
11604
11605                 <create-alias>, Miscellaneous Functions, Defining/Using
11606                 aliases, index, pager, query
11607
11608                 <current-bottom>, generic
11609
11610                 <current-middle>, generic
11611
11612                 <current-top>, generic
11613
11614                 <decode-copy>, index
11615
11616                 <decode-save>, index, pager
11617
11618                 <delete-char>, Editing Input Fields, editor
11619
11620                 <delete-entry>, attach, postpone
11621
11622                 <delete-message>, index, pager
11623
11624                 <delete-pattern>, index
11625
11626                 <delete-subthread>, Threaded Mode, index, pager
11627
11628                 <delete-thread>, Threaded Mode, index, pager
11629
11630                 <detach-file>, Composing new messages, compose
11631
11632                 <display-address>, index, pager
11633
11634                 <display-message>, index
11635
11636                 <display-toggle-weed>, Miscellaneous Functions, index, pager,
11637                 attach, compose
11638
11639                 <downcase-word>, Editing Input Fields, editor
11640
11641                 <edit-bcc>, Composing new messages, compose
11642
11643                 <edit-cc>, Composing new messages, compose
11644
11645                 <edit-description>, Composing new messages, compose
11646
11647                 <edit-encoding>, compose
11648
11649                 <edit-fcc>, Composing new messages, compose
11650
11651                 <edit-file>, compose
11652
11653                 <edit-from>, Composing new messages, compose
11654
11655                 <edit-headers>, compose
11656
11657                 <edit-mime>, compose
11658
11659                 <edit-reply-to>, Composing new messages, compose
11660
11661                 <edit-subject>, Composing new messages, compose
11662
11663                 <edit-to>, Composing new messages, compose
11664
11665                 <edit-type>, Miscellaneous Functions, index, pager, attach,
11666                 compose
11667
11668                 <edit>, Miscellaneous Functions, index, pager, compose
11669
11670                 <enter-command>, Miscellaneous Functions, generic, pager
11671
11672                 <enter-mask>, browser
11673
11674                 <eol>, Editing Input Fields, editor
11675
11676                 <exit>, generic, index, pager
11677
11678                 <extract-keys>, Miscellaneous Functions, index, pager, attach
11679
11680                 <fetch-mail>, index
11681
11682                 <filter-entry>, compose
11683
11684                 <first-entry>, Moving Around in Menus, generic
11685
11686                 <flag-message>, index, pager
11687
11688                 <forget-passphrase>, Miscellaneous Functions, Composing new
11689                 messages, index, pager, compose
11690
11691                 <forward-char>, Editing Input Fields, editor
11692
11693                 <forward-message>, index, pager, attach
11694
11695                 <forward-word>, Editing Input Fields, editor
11696
11697                 <forward>, Sending Mail
11698
11699                 <group-reply>, Sending Mail, index, pager, attach
11700
11701                 <half-down>, generic, pager
11702
11703                 <half-up>, generic, pager
11704
11705                 <help>, Moving Around in Menus, generic, pager
11706
11707                 <history-down>, Editing Input Fields, editor
11708
11709                 <history-up>, Editing Input Fields, editor
11710
11711                 <ispell>, Composing new messages, compose
11712
11713                 <jump>, generic
11714
11715                 <kill-eol>, Editing Input Fields, editor
11716
11717                 <kill-eow>, Editing Input Fields, editor
11718
11719                 <kill-line>, Editing Input Fields, editor
11720
11721                 <kill-word>, Editing Input Fields, editor
11722
11723                 <last-entry>, Moving Around in Menus, generic
11724
11725                 <limit>, index
11726
11727                 <list-reply>, Miscellaneous Functions, Sending Mail, index,
11728                 pager, attach
11729
11730                 <mail-key>, Sending Mail, index, pager
11731
11732                 <mail>, index, pager, query
11733
11734                 <mark-as-new>, pager
11735
11736                 <middle-page>, generic
11737
11738                 <new-mime>, compose
11739
11740                 <next-entry>, Moving Around in Menus, generic, pager
11741
11742                 <next-line>, generic, pager
11743
11744                 <next-new-then-unread>, index, pager
11745
11746                 <next-new>, index, pager
11747
11748                 <next-page>, generic, pager
11749
11750                 <next-subthread>, Threaded Mode, index, pager
11751
11752                 <next-thread>, Threaded Mode, index, pager
11753
11754                 <next-undeleted>, index, pager
11755
11756                 <next-unread>, index, pager
11757
11758                 <page-down>, Moving Around in Menus
11759
11760                 <page-up>, Moving Around in Menus
11761
11762                 <parent-message>, Threaded Mode, index, pager
11763
11764                 <pgp-menu>, Composing new messages, compose
11765
11766                 <pipe-entry>, attach, compose
11767
11768                 <pipe-message>, Miscellaneous Functions, index, pager
11769
11770                 <postpone-message>, Composing new messages, compose
11771
11772                 <previous-entry>, Moving Around in Menus, generic, pager
11773
11774                 <previous-line>, generic, pager
11775
11776                 <previous-new-then-unread>, index, pager
11777
11778                 <previous-new>, index, pager
11779
11780                 <previous-page>, generic, index, pager
11781
11782                 <previous-subthread>, Threaded Mode, index, pager
11783
11784                 <previous-thread>, Threaded Mode, index, pager
11785
11786                 <previous-undeleted>, index, pager
11787
11788                 <previous-unread>, index, pager
11789
11790                 <print-entry>, attach, compose
11791
11792                 <print-message>, index, pager
11793
11794                 <query-append>, query
11795
11796                 <query>, index, query
11797
11798                 <quit>, Moving Around in Menus, Composing new messages,
11799                 index, pager
11800
11801                 <quote-char>, Editing Input Fields, editor
11802
11803                 <read-subthread>, Threaded Mode, index, pager
11804
11805                 <read-thread>, Threaded Mode, index, pager
11806
11807                 <recall-message>, index, pager
11808
11809                 <redraw-screen>, pager
11810
11811                 <refresh>, generic
11812
11813                 <rename-file>, compose
11814
11815                 <reply>, Sending Mail, index, pager, attach
11816
11817                 <resend-message>, Miscellaneous Functions, The Attachment
11818                 Menu, index, attach
11819
11820                 <save-entry>, attach
11821
11822                 <save-message>, index, pager
11823
11824                 <search-next>, generic, pager, alias, query, browser
11825
11826                 <search-opposite>, generic, pager, query
11827
11828                 <search-reverse>, generic, pager, alias, query, browser
11829
11830                 <search-toggle>, pager
11831
11832                 <search>, generic, pager, alias, query, browser
11833
11834                 <select-entry>, generic
11835
11836                 <select-new>, browser
11837
11838                 <send-message>, Composing new messages, compose
11839
11840                 <senderdecode-copy>, pager
11841
11842                 <set-flag>, index
11843
11844                 <shell-escape>, Miscellaneous Functions, generic, pager
11845
11846                 <show-limit>, index
11847
11848                 <show-version>, index, pager
11849
11850                 <sidebar-next-new>, sidebar
11851
11852                 <sidebar-next>, sidebar
11853
11854                 <sidebar-open>, sidebar
11855
11856                 <sidebar-previous>, sidebar
11857
11858                 <sidebar-scroll-down>, sidebar
11859
11860                 <sidebar-scroll-up>, sidebar
11861
11862                 <skip-quoted>, Miscellaneous Functions, pager
11863
11864                 <smime-menu>, Composing new messages
11865
11866                 <sort-mailbox>, index
11867
11868                 <sort-reverse>, index, browser
11869
11870                 <sort>, browser
11871
11872                 <subscribe>, browser
11873
11874                 <sync-mailbox>, index, pager
11875
11876                 <tag-entry>, generic
11877
11878                 <tag-message>, pager
11879
11880                 <tag-pattern>, index
11881
11882                 <tag-prefix-cond>, generic
11883
11884                 <tag-prefix>, generic
11885
11886                 <tag-thread>, Threaded Mode, index
11887
11888                 <toggle-mailboxes>, browser
11889
11890                 <toggle-new>, index
11891
11892                 <toggle-quoted>, Miscellaneous Functions, pager
11893
11894                 <toggle-subscribed>, browser
11895
11896                 <toggle-unlink>, compose
11897
11898                 <toggle-write>, index
11899
11900                 <top-page>, generic
11901
11902                 <top>, pager
11903
11904                 <transpose-chars>, editor
11905
11906                 <undelete-entry>, attach, postpone
11907
11908                 <undelete-message>, index, pager
11909
11910                 <undelete-pattern>, index
11911
11912                 <undelete-subthread>, Threaded Mode, index, pager
11913
11914                 <undelete-thread>, Threaded Mode, index, pager
11915
11916                 <unsubscribe>, browser
11917
11918                 <untag-pattern>, index
11919
11920                 <upcase-word>, Editing Input Fields, editor
11921
11922                 <verify-key>, pgp
11923
11924                 <view-attach>, attach, compose
11925
11926                 <view-attachments>, index, pager
11927
11928                 <view-file>, browser
11929
11930                 <view-mailcap>, attach
11931
11932                 <view-name>, pgp
11933
11934                 <view-text>, attach
11935
11936                 <what-key>, generic
11937
11938                 <write-fcc>, Composing new messages, compose
11939
11940   H
11941
11942    Hooks
11943
11944                 account-hook, Managing multiple IMAP/POP/NNTP accounts
11945                 (OPTIONAL), Configuration Commands
11946
11947                 append-hook, Compressed folders Support (OPTIONAL), Append a
11948                 message to a compressed mailbox, Encrypted folders,
11949                 Configuration Commands
11950
11951                 charset-hook, Defining aliases for character sets,
11952                 Configuration Commands
11953
11954                 close-hook, Compressed folders Support (OPTIONAL), Write a
11955                 compressed mailbox, Append a message to a compressed mailbox,
11956                 Configuration Commands
11957
11958                 crypt-hook, Choosing the cryptographic key of the recipient,
11959                 Configuration Commands
11960
11961                 default-hook, Message Matching in Hooks
11962
11963                 fcc-hook, Specify default Fcc: mailbox when composing,
11964                 Specify default save filename and default Fcc: mailbox at
11965                 once, Using Hooks, Message Matching in Hooks, Configuration
11966                 Commands
11967
11968                 fcc-save-hook, Specify default save filename, Specify default
11969                 Fcc: mailbox when composing, Specify default save filename
11970                 and default Fcc: mailbox at once, Using Hooks, Configuration
11971                 Commands
11972
11973                 folder-hook, Setting variables based upon mailbox, Spam
11974                 detection, Using Hooks, Managing multiple IMAP/POP/NNTP
11975                 accounts (OPTIONAL), Configuration Commands
11976
11977                 iconv-hook, Defining aliases for character sets
11978
11979                 mbox-hook, Using Multiple spool mailboxes, Using Hooks,
11980                 Configuration Commands
11981
11982                 message-hook, Change settings before formatting a message,
11983                 Using Hooks, Message Matching in Hooks, MIME Autoview,
11984                 Configuration Commands
11985
11986                 open-hook, Compressed folders Support (OPTIONAL), Open a
11987                 compressed mailbox for reading, Write a compressed mailbox,
11988                 Append a message to a compressed mailbox, Configuration
11989                 Commands
11990
11991                 pattern-hook, Specify default save filename, Specify default
11992                 Fcc: mailbox when composing, Change settings based upon
11993                 message recipients, Change settings before formatting a
11994                 message
11995
11996                 reply-hook, Change settings based upon message recipients,
11997                 Configuration Commands
11998
11999                 save-hook, Specify default save filename, Specify default
12000                 save filename and default Fcc: mailbox at once, Using Hooks,
12001                 Message Matching in Hooks, Mailbox Shortcuts, Configuration
12002                 Commands
12003
12004                 send-hook, Change settings based upon message recipients,
12005                 Using Hooks, Message Matching in Hooks, Configuration
12006                 Commands
12007
12008                 send2-hook, Change settings based upon message recipients
12009
12010   P
12011
12012    Patterns
12013
12014                 ~$/ =$, Patterns
12015
12016                 ~*/ =*, Again: Scoring, Patterns
12017
12018                 ~=/ ==, Patterns
12019
12020                 ~A/ =A, Change settings before formatting a message, Patterns
12021
12022                 ~b/ =b, Complex Patterns, Patterns
12023
12024                 ~B/ =B, Patterns
12025
12026                 ~C/ =C, Using Hooks, Patterns
12027
12028                 ~c/ =c, Patterns
12029
12030                 ~d/ =d, Patterns and Dates, Patterns
12031
12032                 ~D/ =D, Patterns
12033
12034                 ~E/ =E, Patterns
12035
12036                 ~e/ =e, Patterns
12037
12038                 ~f/ =f, Change settings before formatting a message, Message
12039                 Scoring, Complex Patterns, Patterns
12040
12041                 ~F/ =F, Patterns
12042
12043                 ~g/ =g, Patterns
12044
12045                 ~G/ =G, Patterns
12046
12047                 ~H/ =H, Spam detection, Patterns
12048
12049                 ~h/ =h, Patterns
12050
12051                 ~i/ =i, Patterns
12052
12053                 ~k/ =k, Patterns
12054
12055                 ~L/ =L, Patterns
12056
12057                 ~l/ =l, Patterns
12058
12059                 ~m/ =m, Patterns
12060
12061                 ~M/ =M, Patterns
12062
12063                 ~n/ =n, Message Scoring, Patterns
12064
12065                 ~N/ =N, Patterns
12066
12067                 ~O/ =O, Patterns
12068
12069                 ~p/ =p, Patterns
12070
12071                 ~P/ =P, Patterns
12072
12073                 ~Q/ =Q, Patterns
12074
12075                 ~R/ =R, Patterns
12076
12077                 ~r/ =r, Patterns
12078
12079                 ~s/ =s, Complex Patterns, Patterns
12080
12081                 ~S/ =S, Patterns
12082
12083                 ~t/ =t, Message Matching in Hooks, Patterns
12084
12085                 ~T/ =T, Patterns
12086
12087                 ~U/ =U, Complex Patterns, Patterns
12088
12089                 ~u/ =u, Patterns
12090
12091                 ~v/ =v, Patterns
12092
12093                 ~V/ =V, Patterns
12094
12095                 ~w/ =w, Patterns
12096
12097                 ~x/ =x, Complex Patterns, Patterns
12098
12099                 ~y/ =y, Handling Mailing Lists, Patterns
12100
12101                 ~z/ =z, Patterns