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