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