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