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