mutt stable branch with some hacks
at master 3990 lines 163 kB view raw
1/* 2 * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins <me@mutt.org> 3 * Copyright (C) 2004 g10 Code GmbH 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 20#ifdef _MAKEDOC 21# include "config.h" 22# include "doc/makedoc-defs.h" 23#else 24# include "sort.h" 25#endif 26 27#include "buffy.h" 28 29#ifndef _MAKEDOC 30#define DT_MASK 0x0f 31#define DT_BOOL 1 /* boolean option */ 32#define DT_NUM 2 /* a number */ 33#define DT_STR 3 /* a string */ 34#define DT_PATH 4 /* a pathname */ 35#define DT_QUAD 5 /* quad-option (yes/no/ask-yes/ask-no) */ 36#define DT_SORT 6 /* sorting methods */ 37#define DT_RX 7 /* regular expressions */ 38#define DT_MAGIC 8 /* mailbox type */ 39#define DT_SYN 9 /* synonym for another variable */ 40#define DT_ADDR 10 /* e-mail address */ 41#define DT_MBCHARTBL 11 /* multibyte char table */ 42 43#define DTYPE(x) ((x) & DT_MASK) 44 45/* subtypes */ 46#define DT_SUBTYPE_MASK 0xff0 47#define DT_SORT_ALIAS 0x10 48#define DT_SORT_BROWSER 0x20 49#define DT_SORT_KEYS 0x40 50#define DT_SORT_AUX 0x80 51#define DT_SORT_SIDEBAR 0x100 52 53/* flags to parse_set() */ 54#define MUTT_SET_INV (1<<0) /* default is to invert all vars */ 55#define MUTT_SET_UNSET (1<<1) /* default is to unset all vars */ 56#define MUTT_SET_RESET (1<<2) /* default is to reset all vars to default */ 57 58/* forced redraw/resort types */ 59#define R_NONE 0 60#define R_INDEX (1<<0) 61#define R_PAGER (1<<1) 62#define R_RESORT (1<<2) /* resort the mailbox */ 63#define R_RESORT_SUB (1<<3) /* resort subthreads */ 64#define R_RESORT_INIT (1<<4) /* resort from scratch */ 65#define R_TREE (1<<5) /* redraw the thread tree */ 66#define R_REFLOW (1<<6) /* reflow window layout */ 67#define R_SIDEBAR (1<<7) /* redraw the sidebar */ 68#define R_BOTH (R_INDEX | R_PAGER) 69#define R_RESORT_BOTH (R_RESORT | R_RESORT_SUB) 70 71struct option_t 72{ 73 char *option; 74 short type; 75 short flags; 76 unsigned long data; 77 unsigned long init; /* initial value */ 78}; 79 80#define UL (unsigned long) 81 82#endif /* _MAKEDOC */ 83 84#ifndef ISPELL 85#define ISPELL "ispell" 86#endif 87 88struct option_t MuttVars[] = { 89 /*++*/ 90 { "abort_nosubject", DT_QUAD, R_NONE, OPT_SUBJECT, MUTT_ASKYES }, 91 /* 92 ** .pp 93 ** If set to \fIyes\fP, when composing messages and no subject is given 94 ** at the subject prompt, composition will be aborted. If set to 95 ** \fIno\fP, composing messages with no subject given at the subject 96 ** prompt will never be aborted. 97 */ 98 { "abort_unmodified", DT_QUAD, R_NONE, OPT_ABORT, MUTT_YES }, 99 /* 100 ** .pp 101 ** If set to \fIyes\fP, composition will automatically abort after 102 ** editing the message body if no changes are made to the file (this 103 ** check only happens after the \fIfirst\fP edit of the file). When set 104 ** to \fIno\fP, composition will never be aborted. 105 */ 106 { "alias_file", DT_PATH, R_NONE, UL &AliasFile, UL "~/.muttrc" }, 107 /* 108 ** .pp 109 ** The default file in which to save aliases created by the 110 ** \fC$<create-alias>\fP function. Entries added to this file are 111 ** encoded in the character set specified by $$config_charset if it 112 ** is \fIset\fP or the current character set otherwise. 113 ** .pp 114 ** \fBNote:\fP Mutt will not automatically source this file; you must 115 ** explicitly use the ``$source'' command for it to be executed in case 116 ** this option points to a dedicated alias file. 117 ** .pp 118 ** The default for this option is the currently used muttrc file, or 119 ** ``~/.muttrc'' if no user muttrc was found. 120 */ 121 { "alias_format", DT_STR, R_NONE, UL &AliasFmt, UL "%4n %2f %t %-10a %r" }, 122 /* 123 ** .pp 124 ** Specifies the format of the data displayed for the ``$alias'' menu. The 125 ** following \fCprintf(3)\fP-style sequences are available: 126 ** .dl 127 ** .dt %a .dd alias name 128 ** .dt %f .dd flags - currently, a ``d'' for an alias marked for deletion 129 ** .dt %n .dd index number 130 ** .dt %r .dd address which alias expands to 131 ** .dt %t .dd character which indicates if the alias is tagged for inclusion 132 ** .de 133 */ 134 { "allow_8bit", DT_BOOL, R_NONE, OPTALLOW8BIT, 1 }, 135 /* 136 ** .pp 137 ** Controls whether 8-bit data is converted to 7-bit using either Quoted- 138 ** Printable or Base64 encoding when sending mail. 139 */ 140 { "allow_ansi", DT_BOOL, R_NONE, OPTALLOWANSI, 0 }, 141 /* 142 ** .pp 143 ** Controls whether ANSI color codes in messages (and color tags in 144 ** rich text messages) are to be interpreted. 145 ** Messages containing these codes are rare, but if this option is \fIset\fP, 146 ** their text will be colored accordingly. Note that this may override 147 ** your color choices, and even present a security problem, since a 148 ** message could include a line like 149 ** .ts 150 ** [-- PGP output follows ... 151 ** .te 152 ** .pp 153 ** and give it the same color as your attachment color (see also 154 ** $$crypt_timestamp). 155 */ 156 { "arrow_cursor", DT_BOOL, R_BOTH, OPTARROWCURSOR, 0 }, 157 /* 158 ** .pp 159 ** When \fIset\fP, an arrow (``->'') will be used to indicate the current entry 160 ** in menus instead of highlighting the whole line. On slow network or modem 161 ** links this will make response faster because there is less that has to 162 ** be redrawn on the screen when moving to the next or previous entries 163 ** in the menu. 164 */ 165 { "ascii_chars", DT_BOOL, R_BOTH, OPTASCIICHARS, 0 }, 166 /* 167 ** .pp 168 ** If \fIset\fP, Mutt will use plain ASCII characters when displaying thread 169 ** and attachment trees, instead of the default \fIACS\fP characters. 170 */ 171 { "askbcc", DT_BOOL, R_NONE, OPTASKBCC, 0 }, 172 /* 173 ** .pp 174 ** If \fIset\fP, Mutt will prompt you for blind-carbon-copy (Bcc) recipients 175 ** before editing an outgoing message. 176 */ 177 { "askcc", DT_BOOL, R_NONE, OPTASKCC, 0 }, 178 /* 179 ** .pp 180 ** If \fIset\fP, Mutt will prompt you for carbon-copy (Cc) recipients before 181 ** editing the body of an outgoing message. 182 */ 183 { "assumed_charset", DT_STR, R_NONE, UL &AssumedCharset, UL 0}, 184 /* 185 ** .pp 186 ** This variable is a colon-separated list of character encoding 187 ** schemes for messages without character encoding indication. 188 ** Header field values and message body content without character encoding 189 ** indication would be assumed that they are written in one of this list. 190 ** By default, all the header fields and message body without any charset 191 ** indication are assumed to be in ``us-ascii''. 192 ** .pp 193 ** For example, Japanese users might prefer this: 194 ** .ts 195 ** set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" 196 ** .te 197 ** .pp 198 ** However, only the first content is valid for the message body. 199 */ 200 { "attach_charset", DT_STR, R_NONE, UL &AttachCharset, UL 0 }, 201 /* 202 ** .pp 203 ** This variable is a colon-separated list of character encoding 204 ** schemes for text file attachments. Mutt uses this setting to guess 205 ** which encoding files being attached are encoded in to convert them to 206 ** a proper character set given in $$send_charset. 207 ** .pp 208 ** If \fIunset\fP, the value of $$charset will be used instead. 209 ** For example, the following configuration would work for Japanese 210 ** text handling: 211 ** .ts 212 ** set attach_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" 213 ** .te 214 ** .pp 215 ** Note: for Japanese users, ``iso-2022-*'' must be put at the head 216 ** of the value as shown above if included. 217 */ 218 { "attach_format", DT_STR, R_NONE, UL &AttachFormat, UL "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " }, 219 /* 220 ** .pp 221 ** This variable describes the format of the ``attachment'' menu. The 222 ** following \fCprintf(3)\fP-style sequences are understood: 223 ** .dl 224 ** .dt %C .dd charset 225 ** .dt %c .dd requires charset conversion (``n'' or ``c'') 226 ** .dt %D .dd deleted flag 227 ** .dt %d .dd description 228 ** .dt %e .dd MIME content-transfer-encoding 229 ** .dt %F .dd filename for content-disposition header 230 ** .dt %f .dd filename 231 ** .dt %I .dd disposition (``I'' for inline, ``A'' for attachment) 232 ** .dt %m .dd major MIME type 233 ** .dt %M .dd MIME subtype 234 ** .dt %n .dd attachment number 235 ** .dt %Q .dd ``Q'', if MIME part qualifies for attachment counting 236 ** .dt %s .dd size 237 ** .dt %t .dd tagged flag 238 ** .dt %T .dd graphic tree characters 239 ** .dt %u .dd unlink (=to delete) flag 240 ** .dt %X .dd number of qualifying MIME parts in this part and its children 241 ** (please see the ``$attachments'' section for possible speed effects) 242 ** .dt %>X .dd right justify the rest of the string and pad with character ``X'' 243 ** .dt %|X .dd pad to the end of the line with character ``X'' 244 ** .dt %*X .dd soft-fill with character ``X'' as pad 245 ** .de 246 ** .pp 247 ** For an explanation of ``soft-fill'', see the $$index_format documentation. 248 */ 249 { "attach_sep", DT_STR, R_NONE, UL &AttachSep, UL "\n" }, 250 /* 251 ** .pp 252 ** The separator to add between attachments when operating (saving, 253 ** printing, piping, etc) on a list of tagged attachments. 254 */ 255 { "attach_split", DT_BOOL, R_NONE, OPTATTACHSPLIT, 1 }, 256 /* 257 ** .pp 258 ** If this variable is \fIunset\fP, when operating (saving, printing, piping, 259 ** etc) on a list of tagged attachments, Mutt will concatenate the 260 ** attachments and will operate on them as a single attachment. The 261 ** $$attach_sep separator is added after each attachment. When \fIset\fP, 262 ** Mutt will operate on the attachments one by one. 263 */ 264 { "attribution", DT_STR, R_NONE, UL &Attribution, UL "On %d, %n wrote:" }, 265 /* 266 ** .pp 267 ** This is the string that will precede a message which has been included 268 ** in a reply. For a full listing of defined \fCprintf(3)\fP-like sequences see 269 ** the section on $$index_format. 270 */ 271 { "attribution_locale", DT_STR, R_NONE, UL &AttributionLocale, UL "" }, 272 /* 273 ** .pp 274 ** The locale used by \fCstrftime(3)\fP to format dates in the 275 ** $attribution string. Legal values are the strings your system 276 ** accepts for the locale environment variable \fC$$$LC_TIME\fP. 277 ** .pp 278 ** This variable is to allow the attribution date format to be 279 ** customized by recipient or folder using hooks. By default, Mutt 280 ** will use your locale environment, so there is no need to set 281 ** this except to override that default. 282 */ 283 { "auto_tag", DT_BOOL, R_NONE, OPTAUTOTAG, 0 }, 284 /* 285 ** .pp 286 ** When \fIset\fP, functions in the \fIindex\fP menu which affect a message 287 ** will be applied to all tagged messages (if there are any). When 288 ** unset, you must first use the \fC<tag-prefix>\fP function (bound to ``;'' 289 ** by default) to make the next function apply to all tagged messages. 290 */ 291 { "autoedit", DT_BOOL, R_NONE, OPTAUTOEDIT, 0 }, 292 /* 293 ** .pp 294 ** When \fIset\fP along with $$edit_headers, Mutt will skip the initial 295 ** send-menu (prompting for subject and recipients) and allow you to 296 ** immediately begin editing the body of your 297 ** message. The send-menu may still be accessed once you have finished 298 ** editing the body of your message. 299 ** .pp 300 ** .pp 301 ** \fBNote:\fP when this option is \fIset\fP, you cannot use send-hooks that depend 302 ** on the recipients when composing a new (non-reply) message, as the initial 303 ** list of recipients is empty. 304 ** .pp 305 ** Also see $$fast_reply. 306 */ 307 { "beep", DT_BOOL, R_NONE, OPTBEEP, 1 }, 308 /* 309 ** .pp 310 ** When this variable is \fIset\fP, mutt will beep when an error occurs. 311 */ 312 { "beep_new", DT_BOOL, R_NONE, OPTBEEPNEW, 0 }, 313 /* 314 ** .pp 315 ** When this variable is \fIset\fP, mutt will beep whenever it prints a message 316 ** notifying you of new mail. This is independent of the setting of the 317 ** $$beep variable. 318 */ 319 { "bounce", DT_QUAD, R_NONE, OPT_BOUNCE, MUTT_ASKYES }, 320 /* 321 ** .pp 322 ** Controls whether you will be asked to confirm bouncing messages. 323 ** If set to \fIyes\fP you don't get asked if you want to bounce a 324 ** message. Setting this variable to \fIno\fP is not generally useful, 325 ** and thus not recommended, because you are unable to bounce messages. 326 */ 327 { "bounce_delivered", DT_BOOL, R_NONE, OPTBOUNCEDELIVERED, 1 }, 328 /* 329 ** .pp 330 ** When this variable is \fIset\fP, mutt will include Delivered-To headers when 331 ** bouncing messages. Postfix users may wish to \fIunset\fP this variable. 332 */ 333 { "braille_friendly", DT_BOOL, R_NONE, OPTBRAILLEFRIENDLY, 0 }, 334 /* 335 ** .pp 336 ** When this variable is \fIset\fP, mutt will place the cursor at the beginning 337 ** of the current line in menus, even when the $$arrow_cursor variable 338 ** is \fIunset\fP, making it easier for blind persons using Braille displays to 339 ** follow these menus. The option is \fIunset\fP by default because many 340 ** visual terminals don't permit making the cursor invisible. 341 */ 342#if defined(USE_SSL) 343 { "certificate_file", DT_PATH, R_NONE, UL &SslCertFile, UL "~/.mutt_certificates" }, 344 /* 345 ** .pp 346 ** This variable specifies the file where the certificates you trust 347 ** are saved. When an unknown certificate is encountered, you are asked 348 ** if you accept it or not. If you accept it, the certificate can also 349 ** be saved in this file and further connections are automatically 350 ** accepted. 351 ** .pp 352 ** You can also manually add CA certificates in this file. Any server 353 ** certificate that is signed with one of these CA certificates is 354 ** also automatically accepted. 355 ** .pp 356 ** Example: 357 ** .ts 358 ** set certificate_file=~/.mutt/certificates 359 ** .te 360 ** 361 */ 362#endif 363 { "charset", DT_STR, R_NONE, UL &Charset, UL 0 }, 364 /* 365 ** .pp 366 ** Character set your terminal uses to display and enter textual data. 367 ** It is also the fallback for $$send_charset. 368 ** .pp 369 ** Upon startup Mutt tries to derive this value from environment variables 370 ** such as \fC$$$LC_CTYPE\fP or \fC$$$LANG\fP. 371 ** .pp 372 ** \fBNote:\fP It should only be set in case Mutt isn't able to determine the 373 ** character set used correctly. 374 */ 375 { "check_mbox_size", DT_BOOL, R_NONE, OPTCHECKMBOXSIZE, 0 }, 376 /* 377 ** .pp 378 ** When this variable is \fIset\fP, mutt will use file size attribute instead of 379 ** access time when checking for new mail in mbox and mmdf folders. 380 ** .pp 381 ** This variable is \fIunset\fP by default and should only be enabled when 382 ** new mail detection for these folder types is unreliable or doesn't work. 383 ** .pp 384 ** Note that enabling this variable should happen before any ``$mailboxes'' 385 ** directives occur in configuration files regarding mbox or mmdf folders 386 ** because mutt needs to determine the initial new mail status of such a 387 ** mailbox by performing a fast mailbox scan when it is defined. 388 ** Afterwards the new mail status is tracked by file size changes. 389 */ 390 { "check_new", DT_BOOL, R_NONE, OPTCHECKNEW, 1 }, 391 /* 392 ** .pp 393 ** \fBNote:\fP this option only affects \fImaildir\fP and \fIMH\fP style 394 ** mailboxes. 395 ** .pp 396 ** When \fIset\fP, Mutt will check for new mail delivered while the 397 ** mailbox is open. Especially with MH mailboxes, this operation can 398 ** take quite some time since it involves scanning the directory and 399 ** checking each file to see if it has already been looked at. If 400 ** this variable is \fIunset\fP, no check for new mail is performed 401 ** while the mailbox is open. 402 */ 403 { "collapse_unread", DT_BOOL, R_NONE, OPTCOLLAPSEUNREAD, 1 }, 404 /* 405 ** .pp 406 ** When \fIunset\fP, Mutt will not collapse a thread if it contains any 407 ** unread messages. 408 */ 409 { "compose_format", DT_STR, R_BOTH, UL &ComposeFormat, UL "-- Mutt: Compose [Approx. msg size: %l Atts: %a]%>-" }, 410 /* 411 ** .pp 412 ** Controls the format of the status line displayed in the ``compose'' 413 ** menu. This string is similar to $$status_format, but has its own 414 ** set of \fCprintf(3)\fP-like sequences: 415 ** .dl 416 ** .dt %a .dd total number of attachments 417 ** .dt %h .dd local hostname 418 ** .dt %l .dd approximate size (in bytes) of the current message 419 ** .dt %v .dd Mutt version string 420 ** .de 421 ** .pp 422 ** See the text describing the $$status_format option for more 423 ** information on how to set $$compose_format. 424 */ 425 { "config_charset", DT_STR, R_NONE, UL &ConfigCharset, UL 0 }, 426 /* 427 ** .pp 428 ** When defined, Mutt will recode commands in rc files from this 429 ** encoding to the current character set as specified by $$charset 430 ** and aliases written to $$alias_file from the current character set. 431 ** .pp 432 ** Please note that if setting $$charset it must be done before 433 ** setting $$config_charset. 434 ** .pp 435 ** Recoding should be avoided as it may render unconvertable 436 ** characters as question marks which can lead to undesired 437 ** side effects (for example in regular expressions). 438 */ 439 { "confirmappend", DT_BOOL, R_NONE, OPTCONFIRMAPPEND, 1 }, 440 /* 441 ** .pp 442 ** When \fIset\fP, Mutt will prompt for confirmation when appending messages to 443 ** an existing mailbox. 444 */ 445 { "confirmcreate", DT_BOOL, R_NONE, OPTCONFIRMCREATE, 1 }, 446 /* 447 ** .pp 448 ** When \fIset\fP, Mutt will prompt for confirmation when saving messages to a 449 ** mailbox which does not yet exist before creating it. 450 */ 451 { "connect_timeout", DT_NUM, R_NONE, UL &ConnectTimeout, 30 }, 452 /* 453 ** .pp 454 ** Causes Mutt to timeout a network connection (for IMAP, POP or SMTP) after this 455 ** many seconds if the connection is not able to be established. A negative 456 ** value causes Mutt to wait indefinitely for the connection attempt to succeed. 457 */ 458 { "content_type", DT_STR, R_NONE, UL &ContentType, UL "text/plain" }, 459 /* 460 ** .pp 461 ** Sets the default Content-Type for the body of newly composed messages. 462 */ 463 { "copy", DT_QUAD, R_NONE, OPT_COPY, MUTT_YES }, 464 /* 465 ** .pp 466 ** This variable controls whether or not copies of your outgoing messages 467 ** will be saved for later references. Also see $$record, 468 ** $$save_name, $$force_name and ``$fcc-hook''. 469 */ 470 { "pgp_autoencrypt", DT_SYN, R_NONE, UL "crypt_autoencrypt", 0 }, 471 { "crypt_autoencrypt", DT_BOOL, R_NONE, OPTCRYPTAUTOENCRYPT, 0 }, 472 /* 473 ** .pp 474 ** Setting this variable will cause Mutt to always attempt to PGP 475 ** encrypt outgoing messages. This is probably only useful in 476 ** connection to the ``$send-hook'' command. It can be overridden 477 ** by use of the pgp menu, when encryption is not required or 478 ** signing is requested as well. If $$smime_is_default is \fIset\fP, 479 ** then OpenSSL is used instead to create S/MIME messages and 480 ** settings can be overridden by use of the smime menu instead. 481 ** (Crypto only) 482 */ 483 { "crypt_autopgp", DT_BOOL, R_NONE, OPTCRYPTAUTOPGP, 1 }, 484 /* 485 ** .pp 486 ** This variable controls whether or not mutt may automatically enable 487 ** PGP encryption/signing for messages. See also $$crypt_autoencrypt, 488 ** $$crypt_replyencrypt, 489 ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default. 490 */ 491 { "pgp_autosign", DT_SYN, R_NONE, UL "crypt_autosign", 0 }, 492 { "crypt_autosign", DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 }, 493 /* 494 ** .pp 495 ** Setting this variable will cause Mutt to always attempt to 496 ** cryptographically sign outgoing messages. This can be overridden 497 ** by use of the pgp menu, when signing is not required or 498 ** encryption is requested as well. If $$smime_is_default is \fIset\fP, 499 ** then OpenSSL is used instead to create S/MIME messages and settings can 500 ** be overridden by use of the smime menu instead of the pgp menu. 501 ** (Crypto only) 502 */ 503 { "crypt_autosmime", DT_BOOL, R_NONE, OPTCRYPTAUTOSMIME, 1 }, 504 /* 505 ** .pp 506 ** This variable controls whether or not mutt may automatically enable 507 ** S/MIME encryption/signing for messages. See also $$crypt_autoencrypt, 508 ** $$crypt_replyencrypt, 509 ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default. 510 */ 511 { "crypt_confirmhook", DT_BOOL, R_NONE, OPTCRYPTCONFIRMHOOK, 1 }, 512 /* 513 ** .pp 514 ** If set, then you will be prompted for confirmation of keys when using 515 ** the \fIcrypt-hook\fP command. If unset, no such confirmation prompt will 516 ** be presented. This is generally considered unsafe, especially where 517 ** typos are concerned. 518 */ 519 { "crypt_opportunistic_encrypt", DT_BOOL, R_NONE, OPTCRYPTOPPORTUNISTICENCRYPT, 0 }, 520 /* 521 ** .pp 522 ** Setting this variable will cause Mutt to automatically enable and 523 ** disable encryption, based on whether all message recipient keys 524 ** can be located by Mutt. 525 ** .pp 526 ** When this option is enabled, Mutt will enable/disable encryption 527 ** each time the TO, CC, and BCC lists are edited. If 528 ** $$edit_headers is set, Mutt will also do so each time the message 529 ** is edited. 530 ** .pp 531 ** While this is set, encryption can't be manually enabled/disabled. 532 ** The pgp or smime menus provide a selection to temporarily disable 533 ** this option for the current message. 534 ** .pp 535 ** If $$crypt_autoencrypt or $$crypt_replyencrypt enable encryption for 536 ** a message, this option will be disabled for that message. It can 537 ** be manually re-enabled in the pgp or smime menus. 538 ** (Crypto only) 539 */ 540 { "pgp_replyencrypt", DT_SYN, R_NONE, UL "crypt_replyencrypt", 1 }, 541 { "crypt_replyencrypt", DT_BOOL, R_NONE, OPTCRYPTREPLYENCRYPT, 1 }, 542 /* 543 ** .pp 544 ** If \fIset\fP, automatically PGP or OpenSSL encrypt replies to messages which are 545 ** encrypted. 546 ** (Crypto only) 547 */ 548 { "pgp_replysign", DT_SYN, R_NONE, UL "crypt_replysign", 0 }, 549 { "crypt_replysign", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGN, 0 }, 550 /* 551 ** .pp 552 ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages which are 553 ** signed. 554 ** .pp 555 ** \fBNote:\fP this does not work on messages that are encrypted 556 ** \fIand\fP signed! 557 ** (Crypto only) 558 */ 559 { "pgp_replysignencrypted", DT_SYN, R_NONE, UL "crypt_replysignencrypted", 0}, 560 { "crypt_replysignencrypted", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGNENCRYPTED, 0 }, 561 /* 562 ** .pp 563 ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages 564 ** which are encrypted. This makes sense in combination with 565 ** $$crypt_replyencrypt, because it allows you to sign all 566 ** messages which are automatically encrypted. This works around 567 ** the problem noted in $$crypt_replysign, that mutt is not able 568 ** to find out whether an encrypted message is also signed. 569 ** (Crypto only) 570 */ 571 { "crypt_timestamp", DT_BOOL, R_NONE, OPTCRYPTTIMESTAMP, 1 }, 572 /* 573 ** .pp 574 ** If \fIset\fP, mutt will include a time stamp in the lines surrounding 575 ** PGP or S/MIME output, so spoofing such lines is more difficult. 576 ** If you are using colors to mark these lines, and rely on these, 577 ** you may \fIunset\fP this setting. 578 ** (Crypto only) 579 */ 580 { "crypt_use_gpgme", DT_BOOL, R_NONE, OPTCRYPTUSEGPGME, 0 }, 581 /* 582 ** .pp 583 ** This variable controls the use of the GPGME-enabled crypto backends. 584 ** If it is \fIset\fP and Mutt was built with gpgme support, the gpgme code for 585 ** S/MIME and PGP will be used instead of the classic code. Note that 586 ** you need to set this option in .muttrc; it won't have any effect when 587 ** used interactively. 588 ** .pp 589 ** Note that the GPGME backend does not support creating old-style inline 590 ** (traditional) PGP encrypted or signed messages (see $$pgp_autoinline). 591 */ 592 { "crypt_use_pka", DT_BOOL, R_NONE, OPTCRYPTUSEPKA, 0 }, 593 /* 594 ** .pp 595 ** Controls whether mutt uses PKA 596 ** (see http://www.g10code.de/docs/pka-intro.de.pdf) during signature 597 ** verification (only supported by the GPGME backend). 598 */ 599 { "pgp_verify_sig", DT_SYN, R_NONE, UL "crypt_verify_sig", 0}, 600 { "crypt_verify_sig", DT_QUAD, R_NONE, OPT_VERIFYSIG, MUTT_YES }, 601 /* 602 ** .pp 603 ** If \fI``yes''\fP, always attempt to verify PGP or S/MIME signatures. 604 ** If \fI``ask-*''\fP, ask whether or not to verify the signature. 605 ** If \fI``no''\fP, never attempt to verify cryptographic signatures. 606 ** (Crypto only) 607 */ 608 { "date_format", DT_STR, R_BOTH, UL &DateFmt, UL "!%a, %b %d, %Y at %I:%M:%S%p %Z" }, 609 /* 610 ** .pp 611 ** This variable controls the format of the date printed by the ``%d'' 612 ** sequence in $$index_format. This is passed to the \fCstrftime(3)\fP 613 ** function to process the date, see the man page for the proper syntax. 614 ** .pp 615 ** Unless the first character in the string is a bang (``!''), the month 616 ** and week day names are expanded according to the locale. 617 ** If the first character in the string is a 618 ** bang, the bang is discarded, and the month and week day names in the 619 ** rest of the string are expanded in the \fIC\fP locale (that is in US 620 ** English). 621 */ 622 { "default_hook", DT_STR, R_NONE, UL &DefaultHook, UL "~f %s !~P | (~P ~C %s)" }, 623 /* 624 ** .pp 625 ** This variable controls how ``$message-hook'', ``$reply-hook'', ``$send-hook'', 626 ** ``$send2-hook'', ``$save-hook'', and ``$fcc-hook'' will 627 ** be interpreted if they are specified with only a simple regexp, 628 ** instead of a matching pattern. The hooks are expanded when they are 629 ** declared, so a hook will be interpreted according to the value of this 630 ** variable at the time the hook is declared. 631 ** .pp 632 ** The default value matches 633 ** if the message is either from a user matching the regular expression 634 ** given, or if it is from you (if the from address matches 635 ** ``$alternates'') and is to or cc'ed to a user matching the given 636 ** regular expression. 637 */ 638 { "delete", DT_QUAD, R_NONE, OPT_DELETE, MUTT_ASKYES }, 639 /* 640 ** .pp 641 ** Controls whether or not messages are really deleted when closing or 642 ** synchronizing a mailbox. If set to \fIyes\fP, messages marked for 643 ** deleting will automatically be purged without prompting. If set to 644 ** \fIno\fP, messages marked for deletion will be kept in the mailbox. 645 */ 646 { "delete_untag", DT_BOOL, R_NONE, OPTDELETEUNTAG, 1 }, 647 /* 648 ** .pp 649 ** If this option is \fIset\fP, mutt will untag messages when marking them 650 ** for deletion. This applies when you either explicitly delete a message, 651 ** or when you save it to another folder. 652 */ 653 { "digest_collapse", DT_BOOL, R_NONE, OPTDIGESTCOLLAPSE, 1}, 654 /* 655 ** .pp 656 ** If this option is \fIset\fP, mutt's received-attachments menu will not show the subparts of 657 ** individual messages in a multipart/digest. To see these subparts, press ``v'' on that menu. 658 */ 659 { "display_filter", DT_PATH, R_PAGER, UL &DisplayFilter, UL "" }, 660 /* 661 ** .pp 662 ** When set, specifies a command used to filter messages. When a message 663 ** is viewed it is passed as standard input to $$display_filter, and the 664 ** filtered message is read from the standard output. 665 */ 666#if defined(DL_STANDALONE) && defined(USE_DOTLOCK) 667 { "dotlock_program", DT_PATH, R_NONE, UL &MuttDotlock, UL BINDIR "/mutt_dotlock" }, 668 /* 669 ** .pp 670 ** Contains the path of the \fCmutt_dotlock(8)\fP binary to be used by 671 ** mutt. 672 */ 673#endif 674 { "dsn_notify", DT_STR, R_NONE, UL &DsnNotify, UL "" }, 675 /* 676 ** .pp 677 ** This variable sets the request for when notification is returned. The 678 ** string consists of a comma separated list (no spaces!) of one or more 679 ** of the following: \fInever\fP, to never request notification, 680 ** \fIfailure\fP, to request notification on transmission failure, 681 ** \fIdelay\fP, to be notified of message delays, \fIsuccess\fP, to be 682 ** notified of successful transmission. 683 ** .pp 684 ** Example: 685 ** .ts 686 ** set dsn_notify="failure,delay" 687 ** .te 688 ** .pp 689 ** \fBNote:\fP when using $$sendmail for delivery, you should not enable 690 ** this unless you are either using Sendmail 8.8.x or greater or a MTA 691 ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-N\fP option 692 ** for DSN. For SMTP delivery, DSN support is auto-detected so that it 693 ** depends on the server whether DSN will be used or not. 694 */ 695 { "dsn_return", DT_STR, R_NONE, UL &DsnReturn, UL "" }, 696 /* 697 ** .pp 698 ** This variable controls how much of your message is returned in DSN 699 ** messages. It may be set to either \fIhdrs\fP to return just the 700 ** message header, or \fIfull\fP to return the full message. 701 ** .pp 702 ** Example: 703 ** .ts 704 ** set dsn_return=hdrs 705 ** .te 706 ** .pp 707 ** \fBNote:\fP when using $$sendmail for delivery, you should not enable 708 ** this unless you are either using Sendmail 8.8.x or greater or a MTA 709 ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-R\fP option 710 ** for DSN. For SMTP delivery, DSN support is auto-detected so that it 711 ** depends on the server whether DSN will be used or not. 712 */ 713 { "duplicate_threads", DT_BOOL, R_RESORT|R_RESORT_INIT|R_INDEX, OPTDUPTHREADS, 1 }, 714 /* 715 ** .pp 716 ** This variable controls whether mutt, when $$sort is set to \fIthreads\fP, threads 717 ** messages with the same Message-Id together. If it is \fIset\fP, it will indicate 718 ** that it thinks they are duplicates of each other with an equals sign 719 ** in the thread tree. 720 */ 721 { "edit_headers", DT_BOOL, R_NONE, OPTEDITHDRS, 0 }, 722 /* 723 ** .pp 724 ** This option allows you to edit the header of your outgoing messages 725 ** along with the body of your message. 726 ** .pp 727 ** \fBNote\fP that changes made to the References: and Date: headers are 728 ** ignored for interoperability reasons. 729 */ 730 { "edit_hdrs", DT_SYN, R_NONE, UL "edit_headers", 0 }, 731 /* 732 */ 733 { "editor", DT_PATH, R_NONE, UL &Editor, 0 }, 734 /* 735 ** .pp 736 ** This variable specifies which editor is used by mutt. 737 ** It defaults to the value of the \fC$$$VISUAL\fP, or \fC$$$EDITOR\fP, environment 738 ** variable, or to the string ``vi'' if neither of those are set. 739 ** .pp 740 ** The \fC$$editor\fP string may contain a \fI%s\fP escape, which will be replaced by the name 741 ** of the file to be edited. If the \fI%s\fP escape does not appear in \fC$$editor\fP, a 742 ** space and the name to be edited are appended. 743 ** .pp 744 ** The resulting string is then executed by running 745 ** .ts 746 ** sh -c 'string' 747 ** .te 748 ** .pp 749 ** where \fIstring\fP is the expansion of \fC$$editor\fP described above. 750 */ 751 { "encode_from", DT_BOOL, R_NONE, OPTENCODEFROM, 0 }, 752 /* 753 ** .pp 754 ** When \fIset\fP, mutt will quoted-printable encode messages when 755 ** they contain the string ``From '' (note the trailing space) in the beginning of a line. 756 ** This is useful to avoid the tampering certain mail delivery and transport 757 ** agents tend to do with messages (in order to prevent tools from 758 ** misinterpreting the line as a mbox message separator). 759 */ 760#if defined(USE_SSL_OPENSSL) 761 { "entropy_file", DT_PATH, R_NONE, UL &SslEntropyFile, 0 }, 762 /* 763 ** .pp 764 ** The file which includes random data that is used to initialize SSL 765 ** library functions. 766 */ 767#endif 768 { "envelope_from_address", DT_ADDR, R_NONE, UL &EnvFrom, 0 }, 769 /* 770 ** .pp 771 ** Manually sets the \fIenvelope\fP sender for outgoing messages. 772 ** This value is ignored if $$use_envelope_from is \fIunset\fP. 773 */ 774 { "escape", DT_STR, R_NONE, UL &EscChar, UL "~" }, 775 /* 776 ** .pp 777 ** Escape character to use for functions in the built-in editor. 778 */ 779 { "fast_reply", DT_BOOL, R_NONE, OPTFASTREPLY, 0 }, 780 /* 781 ** .pp 782 ** When \fIset\fP, the initial prompt for recipients and subject are skipped 783 ** when replying to messages, and the initial prompt for subject is 784 ** skipped when forwarding messages. 785 ** .pp 786 ** \fBNote:\fP this variable has no effect when the $$autoedit 787 ** variable is \fIset\fP. 788 */ 789 { "fcc_attach", DT_QUAD, R_NONE, OPT_FCCATTACH, MUTT_YES }, 790 /* 791 ** .pp 792 ** This variable controls whether or not attachments on outgoing messages 793 ** are saved along with the main body of your message. 794 */ 795 { "fcc_clear", DT_BOOL, R_NONE, OPTFCCCLEAR, 0 }, 796 /* 797 ** .pp 798 ** When this variable is \fIset\fP, FCCs will be stored unencrypted and 799 ** unsigned, even when the actual message is encrypted and/or 800 ** signed. 801 ** (PGP only) 802 */ 803 { "flag_safe", DT_BOOL, R_NONE, OPTFLAGSAFE, 0 }, 804 /* 805 ** .pp 806 ** If set, flagged messages cannot be deleted. 807 */ 808 { "folder", DT_PATH, R_NONE, UL &Maildir, UL "~/Mail" }, 809 /* 810 ** .pp 811 ** Specifies the default location of your mailboxes. A ``+'' or ``='' at the 812 ** beginning of a pathname will be expanded to the value of this 813 ** variable. Note that if you change this variable (from the default) 814 ** value you need to make sure that the assignment occurs \fIbefore\fP 815 ** you use ``+'' or ``='' for any other variables since expansion takes place 816 ** when handling the ``$mailboxes'' command. 817 */ 818 { "folder_format", DT_STR, R_INDEX, UL &FolderFormat, UL "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f" }, 819 /* 820 ** .pp 821 ** This variable allows you to customize the file browser display to your 822 ** personal taste. This string is similar to $$index_format, but has 823 ** its own set of \fCprintf(3)\fP-like sequences: 824 ** .dl 825 ** .dt %C .dd current file number 826 ** .dt %d .dd date/time folder was last modified 827 ** .dt %D .dd date/time folder was last modified using $$date_format. 828 ** .dt %f .dd filename (``/'' is appended to directory names, 829 ** ``@'' to symbolic links and ``*'' to executable 830 ** files) 831 ** .dt %F .dd file permissions 832 ** .dt %g .dd group name (or numeric gid, if missing) 833 ** .dt %l .dd number of hard links 834 ** .dt %m .dd number of messages in the mailbox * 835 ** .dt %n .dd number of unread messages in the mailbox * 836 ** .dt %N .dd N if mailbox has new mail, blank otherwise 837 ** .dt %s .dd size in bytes 838 ** .dt %t .dd ``*'' if the file is tagged, blank otherwise 839 ** .dt %u .dd owner name (or numeric uid, if missing) 840 ** .dt %>X .dd right justify the rest of the string and pad with character ``X'' 841 ** .dt %|X .dd pad to the end of the line with character ``X'' 842 ** .dt %*X .dd soft-fill with character ``X'' as pad 843 ** .de 844 ** .pp 845 ** For an explanation of ``soft-fill'', see the $$index_format documentation. 846 ** .pp 847 ** * = can be optionally printed if nonzero 848 ** .pp 849 ** %m, %n, and %N only work for monitored mailboxes. 850 ** %m requires $$mail_check_stats to be set. 851 ** %n requires $$mail_check_stats to be set (except for IMAP mailboxes). 852 */ 853 { "followup_to", DT_BOOL, R_NONE, OPTFOLLOWUPTO, 1 }, 854 /* 855 ** .pp 856 ** Controls whether or not the ``Mail-Followup-To:'' header field is 857 ** generated when sending mail. When \fIset\fP, Mutt will generate this 858 ** field when you are replying to a known mailing list, specified with 859 ** the ``$subscribe'' or ``$lists'' commands. 860 ** .pp 861 ** This field has two purposes. First, preventing you from 862 ** receiving duplicate copies of replies to messages which you send 863 ** to mailing lists, and second, ensuring that you do get a reply 864 ** separately for any messages sent to known lists to which you are 865 ** not subscribed. 866 ** .pp 867 ** The header will contain only the list's address 868 ** for subscribed lists, and both the list address and your own 869 ** email address for unsubscribed lists. Without this header, a 870 ** group reply to your message sent to a subscribed list will be 871 ** sent to both the list and your address, resulting in two copies 872 ** of the same email for you. 873 */ 874 { "force_name", DT_BOOL, R_NONE, OPTFORCENAME, 0 }, 875 /* 876 ** .pp 877 ** This variable is similar to $$save_name, except that Mutt will 878 ** store a copy of your outgoing message by the username of the address 879 ** you are sending to even if that mailbox does not exist. 880 ** .pp 881 ** Also see the $$record variable. 882 */ 883 { "forward_decode", DT_BOOL, R_NONE, OPTFORWDECODE, 1 }, 884 /* 885 ** .pp 886 ** Controls the decoding of complex MIME messages into \fCtext/plain\fP when 887 ** forwarding a message. The message header is also RFC2047 decoded. 888 ** This variable is only used, if $$mime_forward is \fIunset\fP, 889 ** otherwise $$mime_forward_decode is used instead. 890 */ 891 { "forw_decode", DT_SYN, R_NONE, UL "forward_decode", 0 }, 892 /* 893 */ 894 { "forward_decrypt", DT_BOOL, R_NONE, OPTFORWDECRYPT, 1 }, 895 /* 896 ** .pp 897 ** Controls the handling of encrypted messages when forwarding a message. 898 ** When \fIset\fP, the outer layer of encryption is stripped off. This 899 ** variable is only used if $$mime_forward is \fIset\fP and 900 ** $$mime_forward_decode is \fIunset\fP. 901 ** (PGP only) 902 */ 903 { "forw_decrypt", DT_SYN, R_NONE, UL "forward_decrypt", 0 }, 904 /* 905 */ 906 { "forward_edit", DT_QUAD, R_NONE, OPT_FORWEDIT, MUTT_YES }, 907 /* 908 ** .pp 909 ** This quadoption controls whether or not the user is automatically 910 ** placed in the editor when forwarding messages. For those who always want 911 ** to forward with no modification, use a setting of ``no''. 912 */ 913 { "forward_format", DT_STR, R_NONE, UL &ForwFmt, UL "[%a: %s]" }, 914 /* 915 ** .pp 916 ** This variable controls the default subject when forwarding a message. 917 ** It uses the same format sequences as the $$index_format variable. 918 */ 919 { "forw_format", DT_SYN, R_NONE, UL "forward_format", 0 }, 920 /* 921 */ 922 { "forward_quote", DT_BOOL, R_NONE, OPTFORWQUOTE, 0 }, 923 /* 924 ** .pp 925 ** When \fIset\fP, forwarded messages included in the main body of the 926 ** message (when $$mime_forward is \fIunset\fP) will be quoted using 927 ** $$indent_string. 928 */ 929 { "forw_quote", DT_SYN, R_NONE, UL "forward_quote", 0 }, 930 /* 931 */ 932 { "from", DT_ADDR, R_NONE, UL &From, UL 0 }, 933 /* 934 ** .pp 935 ** When \fIset\fP, this variable contains a default from address. It 936 ** can be overridden using ``$my_hdr'' (including from a ``$send-hook'') and 937 ** $$reverse_name. This variable is ignored if $$use_from is \fIunset\fP. 938 ** .pp 939 ** This setting defaults to the contents of the environment variable \fC$$$EMAIL\fP. 940 */ 941 { "gecos_mask", DT_RX, R_NONE, UL &GecosMask, UL "^[^,]*" }, 942 /* 943 ** .pp 944 ** A regular expression used by mutt to parse the GECOS field of a password 945 ** entry when expanding the alias. The default value 946 ** will return the string up to the first ``,'' encountered. 947 ** If the GECOS field contains a string like ``lastname, firstname'' then you 948 ** should set it to ``\fC.*\fP''. 949 ** .pp 950 ** This can be useful if you see the following behavior: you address an e-mail 951 ** to user ID ``stevef'' whose full name is ``Steve Franklin''. If mutt expands 952 ** ``stevef'' to ``"Franklin" stevef@foo.bar'' then you should set the $$gecos_mask to 953 ** a regular expression that will match the whole name so mutt will expand 954 ** ``Franklin'' to ``Franklin, Steve''. 955 */ 956 { "hdr_format", DT_SYN, R_NONE, UL "index_format", 0 }, 957 /* 958 */ 959 { "hdrs", DT_BOOL, R_NONE, OPTHDRS, 1 }, 960 /* 961 ** .pp 962 ** When \fIunset\fP, the header fields normally added by the ``$my_hdr'' 963 ** command are not created. This variable \fImust\fP be unset before 964 ** composing a new message or replying in order to take effect. If \fIset\fP, 965 ** the user defined header fields are added to every new message. 966 */ 967 { "header", DT_BOOL, R_NONE, OPTHEADER, 0 }, 968 /* 969 ** .pp 970 ** When \fIset\fP, this variable causes Mutt to include the header 971 ** of the message you are replying to into the edit buffer. 972 ** The $$weed setting applies. 973 */ 974#ifdef USE_HCACHE 975 { "header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0 }, 976 /* 977 ** .pp 978 ** This variable points to the header cache database. 979 ** If pointing to a directory Mutt will contain a header cache 980 ** database file per folder, if pointing to a file that file will 981 ** be a single global header cache. By default it is \fIunset\fP so no header 982 ** caching will be used. 983 ** .pp 984 ** Header caching can greatly improve speed when opening POP, IMAP 985 ** MH or Maildir folders, see ``$caching'' for details. 986 */ 987#if defined(HAVE_QDBM) || defined(HAVE_TC) 988 { "header_cache_compress", DT_BOOL, R_NONE, OPTHCACHECOMPRESS, 1 }, 989 /* 990 ** .pp 991 ** When mutt is compiled with qdbm or tokyocabinet as header cache backend, 992 ** this option determines whether the database will be compressed. 993 ** Compression results in database files roughly being one fifth 994 ** of the usual diskspace, but the decompression can result in a 995 ** slower opening of cached folder(s) which in general is still 996 ** much faster than opening non header cached folders. 997 */ 998#endif /* HAVE_QDBM */ 999#if defined(HAVE_GDBM) || defined(HAVE_DB4) 1000 { "header_cache_pagesize", DT_STR, R_NONE, UL &HeaderCachePageSize, UL "16384" }, 1001 /* 1002 ** .pp 1003 ** When mutt is compiled with either gdbm or bdb4 as the header cache backend, 1004 ** this option changes the database page size. Too large or too small 1005 ** values can waste space, memory, or CPU time. The default should be more 1006 ** or less optimal for most use cases. 1007 */ 1008#endif /* HAVE_GDBM || HAVE_DB4 */ 1009#endif /* USE_HCACHE */ 1010 { "help", DT_BOOL, R_BOTH|R_REFLOW, OPTHELP, 1 }, 1011 /* 1012 ** .pp 1013 ** When \fIset\fP, help lines describing the bindings for the major functions 1014 ** provided by each menu are displayed on the first line of the screen. 1015 ** .pp 1016 ** \fBNote:\fP The binding will not be displayed correctly if the 1017 ** function is bound to a sequence rather than a single keystroke. Also, 1018 ** the help line may not be updated if a binding is changed while Mutt is 1019 ** running. Since this variable is primarily aimed at new users, neither 1020 ** of these should present a major problem. 1021 */ 1022 { "hidden_host", DT_BOOL, R_NONE, OPTHIDDENHOST, 0 }, 1023 /* 1024 ** .pp 1025 ** When \fIset\fP, mutt will skip the host name part of $$hostname variable 1026 ** when adding the domain part to addresses. This variable does not 1027 ** affect the generation of Message-IDs, and it will not lead to the 1028 ** cut-off of first-level domains. 1029 */ 1030 { "hide_limited", DT_BOOL, R_TREE|R_INDEX, OPTHIDELIMITED, 0 }, 1031 /* 1032 ** .pp 1033 ** When \fIset\fP, mutt will not show the presence of messages that are hidden 1034 ** by limiting, in the thread tree. 1035 */ 1036 { "hide_missing", DT_BOOL, R_TREE|R_INDEX, OPTHIDEMISSING, 1 }, 1037 /* 1038 ** .pp 1039 ** When \fIset\fP, mutt will not show the presence of missing messages in the 1040 ** thread tree. 1041 */ 1042 { "hide_thread_subject", DT_BOOL, R_TREE|R_INDEX, OPTHIDETHREADSUBJECT, 1 }, 1043 /* 1044 ** .pp 1045 ** When \fIset\fP, mutt will not show the subject of messages in the thread 1046 ** tree that have the same subject as their parent or closest previously 1047 ** displayed sibling. 1048 */ 1049 { "hide_top_limited", DT_BOOL, R_TREE|R_INDEX, OPTHIDETOPLIMITED, 0 }, 1050 /* 1051 ** .pp 1052 ** When \fIset\fP, mutt will not show the presence of messages that are hidden 1053 ** by limiting, at the top of threads in the thread tree. Note that when 1054 ** $$hide_limited is \fIset\fP, this option will have no effect. 1055 */ 1056 { "hide_top_missing", DT_BOOL, R_TREE|R_INDEX, OPTHIDETOPMISSING, 1 }, 1057 /* 1058 ** .pp 1059 ** When \fIset\fP, mutt will not show the presence of missing messages at the 1060 ** top of threads in the thread tree. Note that when $$hide_missing is 1061 ** \fIset\fP, this option will have no effect. 1062 */ 1063 { "history", DT_NUM, R_NONE, UL &HistSize, 10 }, 1064 /* 1065 ** .pp 1066 ** This variable controls the size (in number of strings remembered) of 1067 ** the string history buffer per category. The buffer is cleared each time the 1068 ** variable is set. 1069 */ 1070 { "history_file", DT_PATH, R_NONE, UL &HistFile, UL "~/.mutthistory" }, 1071 /* 1072 ** .pp 1073 ** The file in which Mutt will save its history. 1074 */ 1075 { "honor_disposition", DT_BOOL, R_NONE, OPTHONORDISP, 0 }, 1076 /* 1077 ** .pp 1078 ** When \fIset\fP, Mutt will not display attachments with a 1079 ** disposition of ``attachment'' inline even if it could 1080 ** render the part to plain text. These MIME parts can only 1081 ** be viewed from the attachment menu. 1082 ** .pp 1083 ** If \fIunset\fP, Mutt will render all MIME parts it can 1084 ** properly transform to plain text. 1085 */ 1086 { "honor_followup_to", DT_QUAD, R_NONE, OPT_MFUPTO, MUTT_YES }, 1087 /* 1088 ** .pp 1089 ** This variable controls whether or not a Mail-Followup-To header is 1090 ** honored when group-replying to a message. 1091 */ 1092 { "hostname", DT_STR, R_NONE, UL &Fqdn, 0 }, 1093 /* 1094 ** .pp 1095 ** Specifies the fully-qualified hostname of the system mutt is running on 1096 ** containing the host's name and the DNS domain it belongs to. It is used 1097 ** as the domain part (after ``@'') for local email addresses as well as 1098 ** Message-Id headers. 1099 ** .pp 1100 ** Its value is determined at startup as follows: the node's 1101 ** hostname is first determined by the \fCuname(3)\fP function. The 1102 ** domain is then looked up using the \fCgethostname(2)\fP and 1103 ** \fCgetaddrinfo(3)\fP functions. If those calls are unable to 1104 ** determine the domain, the full value returned by uname is used. 1105 ** Optionally, Mutt can be compiled with a fixed domain name in 1106 ** which case a detected one is not used. 1107 ** .pp 1108 ** Also see $$use_domain and $$hidden_host. 1109 */ 1110#ifdef HAVE_LIBIDN 1111 { "idn_decode", DT_BOOL, R_BOTH, OPTIDNDECODE, 1}, 1112 /* 1113 ** .pp 1114 ** When \fIset\fP, Mutt will show you international domain names decoded. 1115 ** Note: You can use IDNs for addresses even if this is \fIunset\fP. 1116 ** This variable only affects decoding. (IDN only) 1117 */ 1118 { "idn_encode", DT_BOOL, R_BOTH, OPTIDNENCODE, 1}, 1119 /* 1120 ** .pp 1121 ** When \fIset\fP, Mutt will encode international domain names using 1122 ** IDN. Unset this if your SMTP server can handle newer (RFC 6531) 1123 ** UTF-8 encoded domains. (IDN only) 1124 */ 1125#endif /* HAVE_LIBIDN */ 1126 { "ignore_linear_white_space", DT_BOOL, R_NONE, OPTIGNORELWS, 0 }, 1127 /* 1128 ** .pp 1129 ** This option replaces linear-white-space between encoded-word 1130 ** and text to a single space to prevent the display of MIME-encoded 1131 ** ``Subject:'' field from being divided into multiple lines. 1132 */ 1133 { "ignore_list_reply_to", DT_BOOL, R_NONE, OPTIGNORELISTREPLYTO, 0 }, 1134 /* 1135 ** .pp 1136 ** Affects the behavior of the \fC<reply>\fP function when replying to 1137 ** messages from mailing lists (as defined by the ``$subscribe'' or 1138 ** ``$lists'' commands). When \fIset\fP, if the ``Reply-To:'' field is 1139 ** set to the same value as the ``To:'' field, Mutt assumes that the 1140 ** ``Reply-To:'' field was set by the mailing list to automate responses 1141 ** to the list, and will ignore this field. To direct a response to the 1142 ** mailing list when this option is \fIset\fP, use the \fC$<list-reply>\fP 1143 ** function; \fC<group-reply>\fP will reply to both the sender and the 1144 ** list. 1145 */ 1146#ifdef USE_IMAP 1147 { "imap_authenticators", DT_STR, R_NONE, UL &ImapAuthenticators, UL 0 }, 1148 /* 1149 ** .pp 1150 ** This is a colon-delimited list of authentication methods mutt may 1151 ** attempt to use to log in to an IMAP server, in the order mutt should 1152 ** try them. Authentication methods are either ``login'' or the right 1153 ** side of an IMAP ``AUTH=xxx'' capability string, e.g. ``digest-md5'', ``gssapi'' 1154 ** or ``cram-md5''. This option is case-insensitive. If it's 1155 ** \fIunset\fP (the default) mutt will try all available methods, 1156 ** in order from most-secure to least-secure. 1157 ** .pp 1158 ** Example: 1159 ** .ts 1160 ** set imap_authenticators="gssapi:cram-md5:login" 1161 ** .te 1162 ** .pp 1163 ** \fBNote:\fP Mutt will only fall back to other authentication methods if 1164 ** the previous methods are unavailable. If a method is available but 1165 ** authentication fails, mutt will not connect to the IMAP server. 1166 */ 1167 { "imap_check_subscribed", DT_BOOL, R_NONE, OPTIMAPCHECKSUBSCRIBED, 0 }, 1168 /* 1169 ** .pp 1170 ** When \fIset\fP, mutt will fetch the set of subscribed folders from 1171 ** your server on connection, and add them to the set of mailboxes 1172 ** it polls for new mail just as if you had issued individual ``$mailboxes'' 1173 ** commands. 1174 */ 1175 { "imap_delim_chars", DT_STR, R_NONE, UL &ImapDelimChars, UL "/." }, 1176 /* 1177 ** .pp 1178 ** This contains the list of characters which you would like to treat 1179 ** as folder separators for displaying IMAP paths. In particular it 1180 ** helps in using the ``='' shortcut for your \fIfolder\fP variable. 1181 */ 1182 { "imap_headers", DT_STR, R_INDEX, UL &ImapHeaders, UL 0}, 1183 /* 1184 ** .pp 1185 ** Mutt requests these header fields in addition to the default headers 1186 ** (``Date:'', ``From:'', ``Subject:'', ``To:'', ``Cc:'', ``Message-Id:'', 1187 ** ``References:'', ``Content-Type:'', ``Content-Description:'', ``In-Reply-To:'', 1188 ** ``Reply-To:'', ``Lines:'', ``List-Post:'', ``X-Label:'') from IMAP 1189 ** servers before displaying the index menu. You may want to add more 1190 ** headers for spam detection. 1191 ** .pp 1192 ** \fBNote:\fP This is a space separated list, items should be uppercase 1193 ** and not contain the colon, e.g. ``X-BOGOSITY X-SPAM-STATUS'' for the 1194 ** ``X-Bogosity:'' and ``X-Spam-Status:'' header fields. 1195 */ 1196 { "imap_idle", DT_BOOL, R_NONE, OPTIMAPIDLE, 0 }, 1197 /* 1198 ** .pp 1199 ** When \fIset\fP, mutt will attempt to use the IMAP IDLE extension 1200 ** to check for new mail in the current mailbox. Some servers 1201 ** (dovecot was the inspiration for this option) react badly 1202 ** to mutt's implementation. If your connection seems to freeze 1203 ** up periodically, try unsetting this. 1204 */ 1205 { "imap_keepalive", DT_NUM, R_NONE, UL &ImapKeepalive, 300 }, 1206 /* 1207 ** .pp 1208 ** This variable specifies the maximum amount of time in seconds that mutt 1209 ** will wait before polling open IMAP connections, to prevent the server 1210 ** from closing them before mutt has finished with them. The default is 1211 ** well within the RFC-specified minimum amount of time (30 minutes) before 1212 ** a server is allowed to do this, but in practice the RFC does get 1213 ** violated every now and then. Reduce this number if you find yourself 1214 ** getting disconnected from your IMAP server due to inactivity. 1215 */ 1216 { "imap_list_subscribed", DT_BOOL, R_NONE, OPTIMAPLSUB, 0 }, 1217 /* 1218 ** .pp 1219 ** This variable configures whether IMAP folder browsing will look for 1220 ** only subscribed folders or all folders. This can be toggled in the 1221 ** IMAP browser with the \fC<toggle-subscribed>\fP function. 1222 */ 1223 { "imap_login", DT_STR, R_NONE, UL &ImapLogin, UL 0 }, 1224 /* 1225 ** .pp 1226 ** Your login name on the IMAP server. 1227 ** .pp 1228 ** This variable defaults to the value of $$imap_user. 1229 */ 1230 { "imap_pass", DT_STR, R_NONE, UL &ImapPass, UL 0 }, 1231 /* 1232 ** .pp 1233 ** Specifies the password for your IMAP account. If \fIunset\fP, Mutt will 1234 ** prompt you for your password when you invoke the \fC<imap-fetch-mail>\fP function 1235 ** or try to open an IMAP folder. 1236 ** .pp 1237 ** \fBWarning\fP: you should only use this option when you are on a 1238 ** fairly secure machine, because the superuser can read your muttrc even 1239 ** if you are the only one who can read the file. 1240 */ 1241 { "imap_passive", DT_BOOL, R_NONE, OPTIMAPPASSIVE, 1 }, 1242 /* 1243 ** .pp 1244 ** When \fIset\fP, mutt will not open new IMAP connections to check for new 1245 ** mail. Mutt will only check for new mail over existing IMAP 1246 ** connections. This is useful if you don't want to be prompted to 1247 ** user/password pairs on mutt invocation, or if opening the connection 1248 ** is slow. 1249 */ 1250 { "imap_peek", DT_BOOL, R_NONE, OPTIMAPPEEK, 1 }, 1251 /* 1252 ** .pp 1253 ** When \fIset\fP, mutt will avoid implicitly marking your mail as read whenever 1254 ** you fetch a message from the server. This is generally a good thing, 1255 ** but can make closing an IMAP folder somewhat slower. This option 1256 ** exists to appease speed freaks. 1257 */ 1258 { "imap_pipeline_depth", DT_NUM, R_NONE, UL &ImapPipelineDepth, 15 }, 1259 /* 1260 ** .pp 1261 ** Controls the number of IMAP commands that may be queued up before they 1262 ** are sent to the server. A deeper pipeline reduces the amount of time 1263 ** mutt must wait for the server, and can make IMAP servers feel much 1264 ** more responsive. But not all servers correctly handle pipelined commands, 1265 ** so if you have problems you might want to try setting this variable to 0. 1266 ** .pp 1267 ** \fBNote:\fP Changes to this variable have no effect on open connections. 1268 */ 1269 { "imap_servernoise", DT_BOOL, R_NONE, OPTIMAPSERVERNOISE, 1 }, 1270 /* 1271 ** .pp 1272 ** When \fIset\fP, mutt will display warning messages from the IMAP 1273 ** server as error messages. Since these messages are often 1274 ** harmless, or generated due to configuration problems on the 1275 ** server which are out of the users' hands, you may wish to suppress 1276 ** them at some point. 1277 */ 1278 { "imap_user", DT_STR, R_NONE, UL &ImapUser, UL 0 }, 1279 /* 1280 ** .pp 1281 ** The name of the user whose mail you intend to access on the IMAP 1282 ** server. 1283 ** .pp 1284 ** This variable defaults to your user name on the local machine. 1285 */ 1286#endif 1287 { "implicit_autoview", DT_BOOL,R_NONE, OPTIMPLICITAUTOVIEW, 0}, 1288 /* 1289 ** .pp 1290 ** If set to ``yes'', mutt will look for a mailcap entry with the 1291 ** ``\fCcopiousoutput\fP'' flag set for \fIevery\fP MIME attachment it doesn't have 1292 ** an internal viewer defined for. If such an entry is found, mutt will 1293 ** use the viewer defined in that entry to convert the body part to text 1294 ** form. 1295 */ 1296 { "include", DT_QUAD, R_NONE, OPT_INCLUDE, MUTT_ASKYES }, 1297 /* 1298 ** .pp 1299 ** Controls whether or not a copy of the message(s) you are replying to 1300 ** is included in your reply. 1301 */ 1302 { "include_onlyfirst", DT_BOOL, R_NONE, OPTINCLUDEONLYFIRST, 0}, 1303 /* 1304 ** .pp 1305 ** Controls whether or not Mutt includes only the first attachment 1306 ** of the message you are replying. 1307 */ 1308 { "indent_string", DT_STR, R_NONE, UL &Prefix, UL "> " }, 1309 /* 1310 ** .pp 1311 ** Specifies the string to prepend to each line of text quoted in a 1312 ** message to which you are replying. You are strongly encouraged not to 1313 ** change this value, as it tends to agitate the more fanatical netizens. 1314 ** .pp 1315 ** The value of this option is ignored if $$text_flowed is set, too because 1316 ** the quoting mechanism is strictly defined for format=flowed. 1317 ** .pp 1318 ** This option is a format string, please see the description of 1319 ** $$index_format for supported \fCprintf(3)\fP-style sequences. 1320 */ 1321 { "indent_str", DT_SYN, R_NONE, UL "indent_string", 0 }, 1322 /* 1323 */ 1324 { "index_format", DT_STR, R_BOTH, UL &HdrFmt, UL "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s" }, 1325 /* 1326 ** .pp 1327 ** This variable allows you to customize the message index display to 1328 ** your personal taste. 1329 ** .pp 1330 ** ``Format strings'' are similar to the strings used in the C 1331 ** function \fCprintf(3)\fP to format output (see the man page for more details). 1332 ** The following sequences are defined in Mutt: 1333 ** .dl 1334 ** .dt %a .dd address of the author 1335 ** .dt %A .dd reply-to address (if present; otherwise: address of author) 1336 ** .dt %b .dd filename of the original message folder (think mailbox) 1337 ** .dt %B .dd the list to which the letter was sent, or else the folder name (%b). 1338 ** .dt %c .dd number of characters (bytes) in the message 1339 ** .dt %C .dd current message number 1340 ** .dt %d .dd date and time of the message in the format specified by 1341 ** $$date_format converted to sender's time zone 1342 ** .dt %D .dd date and time of the message in the format specified by 1343 ** $$date_format converted to the local time zone 1344 ** .dt %e .dd current message number in thread 1345 ** .dt %E .dd number of messages in current thread 1346 ** .dt %f .dd sender (address + real name), either From: or Return-Path: 1347 ** .dt %F .dd author name, or recipient name if the message is from you 1348 ** .dt %H .dd spam attribute(s) of this message 1349 ** .dt %i .dd message-id of the current message 1350 ** .dt %l .dd number of lines in the message (does not work with maildir, 1351 ** mh, and possibly IMAP folders) 1352 ** .dt %L .dd If an address in the ``To:'' or ``Cc:'' header field matches an address 1353 ** defined by the users ``$subscribe'' command, this displays 1354 ** "To <list-name>", otherwise the same as %F. 1355 ** .dt %m .dd total number of message in the mailbox 1356 ** .dt %M .dd number of hidden messages if the thread is collapsed. 1357 ** .dt %N .dd message score 1358 ** .dt %n .dd author's real name (or address if missing) 1359 ** .dt %O .dd original save folder where mutt would formerly have 1360 ** stashed the message: list name or recipient name 1361 ** if not sent to a list 1362 ** .dt %P .dd progress indicator for the built-in pager (how much of the file has been displayed) 1363 ** .dt %r .dd comma separated list of ``To:'' recipients 1364 ** .dt %R .dd comma separated list of ``Cc:'' recipients 1365 ** .dt %s .dd subject of the message 1366 ** .dt %S .dd status of the message (``N''/``D''/``d''/``!''/``r''/\(as) 1367 ** .dt %t .dd ``To:'' field (recipients) 1368 ** .dt %T .dd the appropriate character from the $$to_chars string 1369 ** .dt %u .dd user (login) name of the author 1370 ** .dt %v .dd first name of the author, or the recipient if the message is from you 1371 ** .dt %X .dd number of attachments 1372 ** (please see the ``$attachments'' section for possible speed effects) 1373 ** .dt %y .dd ``X-Label:'' field, if present 1374 ** .dt %Y .dd ``X-Label:'' field, if present, and \fI(1)\fP not at part of a thread tree, 1375 ** \fI(2)\fP at the top of a thread, or \fI(3)\fP ``X-Label:'' is different from 1376 ** preceding message's ``X-Label:''. 1377 ** .dt %Z .dd message status flags 1378 ** .dt %{fmt} .dd the date and time of the message is converted to sender's 1379 ** time zone, and ``fmt'' is expanded by the library function 1380 ** \fCstrftime(3)\fP; a leading bang disables locales 1381 ** .dt %[fmt] .dd the date and time of the message is converted to the local 1382 ** time zone, and ``fmt'' is expanded by the library function 1383 ** \fCstrftime(3)\fP; a leading bang disables locales 1384 ** .dt %(fmt) .dd the local date and time when the message was received. 1385 ** ``fmt'' is expanded by the library function \fCstrftime(3)\fP; 1386 ** a leading bang disables locales 1387 ** .dt %<fmt> .dd the current local time. ``fmt'' is expanded by the library 1388 ** function \fCstrftime(3)\fP; a leading bang disables locales. 1389 ** .dt %>X .dd right justify the rest of the string and pad with character ``X'' 1390 ** .dt %|X .dd pad to the end of the line with character ``X'' 1391 ** .dt %*X .dd soft-fill with character ``X'' as pad 1392 ** .de 1393 ** .pp 1394 ** ``Soft-fill'' deserves some explanation: Normal right-justification 1395 ** will print everything to the left of the ``%>'', displaying padding and 1396 ** whatever lies to the right only if there's room. By contrast, 1397 ** soft-fill gives priority to the right-hand side, guaranteeing space 1398 ** to display it and showing padding only if there's still room. If 1399 ** necessary, soft-fill will eat text leftwards to make room for 1400 ** rightward text. 1401 ** .pp 1402 ** Note that these expandos are supported in 1403 ** ``$save-hook'', ``$fcc-hook'' and ``$fcc-save-hook'', too. 1404 */ 1405 { "ispell", DT_PATH, R_NONE, UL &Ispell, UL ISPELL }, 1406 /* 1407 ** .pp 1408 ** How to invoke ispell (GNU's spell-checking software). 1409 */ 1410 { "keep_flagged", DT_BOOL, R_NONE, OPTKEEPFLAGGED, 0 }, 1411 /* 1412 ** .pp 1413 ** If \fIset\fP, read messages marked as flagged will not be moved 1414 ** from your spool mailbox to your $$mbox mailbox, or as a result of 1415 ** a ``$mbox-hook'' command. 1416 */ 1417 { "mail_check", DT_NUM, R_NONE, UL &BuffyTimeout, 5 }, 1418 /* 1419 ** .pp 1420 ** This variable configures how often (in seconds) mutt should look for 1421 ** new mail. Also see the $$timeout variable. 1422 */ 1423 { "mail_check_recent",DT_BOOL, R_NONE, OPTMAILCHECKRECENT, 1 }, 1424 /* 1425 ** .pp 1426 ** When \fIset\fP, Mutt will only notify you about new mail that has been received 1427 ** since the last time you opened the mailbox. When \fIunset\fP, Mutt will notify you 1428 ** if any new mail exists in the mailbox, regardless of whether you have visited it 1429 ** recently. 1430 ** .pp 1431 ** When \fI$$mark_old\fP is set, Mutt does not consider the mailbox to contain new 1432 ** mail if only old messages exist. 1433 */ 1434 { "mail_check_stats", DT_BOOL, R_NONE, OPTMAILCHECKSTATS, 0 }, 1435 /* 1436 ** .pp 1437 ** When \fIset\fP, mutt will periodically calculate message 1438 ** statistics of a mailbox while polling for new mail. It will 1439 ** check for unread, flagged, and total message counts. Because 1440 ** this operation is more performance intensive, it defaults to 1441 ** \fIunset\fP, and has a separate option, $$mail_check_stats_interval, to 1442 ** control how often to update these counts. 1443 */ 1444 { "mail_check_stats_interval", DT_NUM, R_NONE, UL &BuffyCheckStatsInterval, 60 }, 1445 /* 1446 ** .pp 1447 ** When $$mail_check_stats is \fIset\fP, this variable configures 1448 ** how often (in seconds) mutt will update message counts. 1449 */ 1450 { "mailcap_path", DT_STR, R_NONE, UL &MailcapPath, 0 }, 1451 /* 1452 ** .pp 1453 ** This variable specifies which files to consult when attempting to 1454 ** display MIME bodies not directly supported by Mutt. 1455 */ 1456 { "mailcap_sanitize", DT_BOOL, R_NONE, OPTMAILCAPSANITIZE, 1 }, 1457 /* 1458 ** .pp 1459 ** If \fIset\fP, mutt will restrict possible characters in mailcap % expandos 1460 ** to a well-defined set of safe characters. This is the safe setting, 1461 ** but we are not sure it doesn't break some more advanced MIME stuff. 1462 ** .pp 1463 ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE 1464 ** DOING!\fP 1465 */ 1466#ifdef USE_HCACHE 1467 { "maildir_header_cache_verify", DT_BOOL, R_NONE, OPTHCACHEVERIFY, 1 }, 1468 /* 1469 ** .pp 1470 ** Check for Maildir unaware programs other than mutt having modified maildir 1471 ** files when the header cache is in use. This incurs one \fCstat(2)\fP per 1472 ** message every time the folder is opened (which can be very slow for NFS 1473 ** folders). 1474 */ 1475#endif 1476 { "maildir_trash", DT_BOOL, R_NONE, OPTMAILDIRTRASH, 0 }, 1477 /* 1478 ** .pp 1479 ** If \fIset\fP, messages marked as deleted will be saved with the maildir 1480 ** trashed flag instead of unlinked. \fBNote:\fP this only applies 1481 ** to maildir-style mailboxes. Setting it will have no effect on other 1482 ** mailbox types. 1483 */ 1484 { "maildir_check_cur", DT_BOOL, R_NONE, OPTMAILDIRCHECKCUR, 0 }, 1485 /* 1486 ** .pp 1487 ** If \fIset\fP, mutt will poll both the new and cur directories of 1488 ** a maildir folder for new messages. This might be useful if other 1489 ** programs interacting with the folder (e.g. dovecot) are moving new 1490 ** messages to the cur directory. Note that setting this option may 1491 ** slow down polling for new messages in large folders, since mutt has 1492 ** to scan all cur messages. 1493 */ 1494 { "mark_macro_prefix",DT_STR, R_NONE, UL &MarkMacroPrefix, UL "'" }, 1495 /* 1496 ** .pp 1497 ** Prefix for macros created using mark-message. A new macro 1498 ** automatically generated with \fI<mark-message>a\fP will be composed 1499 ** from this prefix and the letter \fIa\fP. 1500 */ 1501 { "mark_old", DT_BOOL, R_BOTH, OPTMARKOLD, 1 }, 1502 /* 1503 ** .pp 1504 ** Controls whether or not mutt marks \fInew\fP \fBunread\fP 1505 ** messages as \fIold\fP if you exit a mailbox without reading them. 1506 ** With this option \fIset\fP, the next time you start mutt, the messages 1507 ** will show up with an ``O'' next to them in the index menu, 1508 ** indicating that they are old. 1509 */ 1510 { "markers", DT_BOOL, R_PAGER, OPTMARKERS, 1 }, 1511 /* 1512 ** .pp 1513 ** Controls the display of wrapped lines in the internal pager. If set, a 1514 ** ``+'' marker is displayed at the beginning of wrapped lines. 1515 ** .pp 1516 ** Also see the $$smart_wrap variable. 1517 */ 1518 { "mask", DT_RX, R_NONE, UL &Mask, UL "!^\\.[^.]" }, 1519 /* 1520 ** .pp 1521 ** A regular expression used in the file browser, optionally preceded by 1522 ** the \fInot\fP operator ``!''. Only files whose names match this mask 1523 ** will be shown. The match is always case-sensitive. 1524 */ 1525 { "mbox", DT_PATH, R_BOTH, UL &Inbox, UL "~/mbox" }, 1526 /* 1527 ** .pp 1528 ** This specifies the folder into which read mail in your $$spoolfile 1529 ** folder will be appended. 1530 ** .pp 1531 ** Also see the $$move variable. 1532 */ 1533 { "mbox_type", DT_MAGIC,R_NONE, UL &DefaultMagic, MUTT_MBOX }, 1534 /* 1535 ** .pp 1536 ** The default mailbox type used when creating new folders. May be any of 1537 ** ``mbox'', ``MMDF'', ``MH'' and ``Maildir''. This is overridden by the 1538 ** \fC-m\fP command-line option. 1539 */ 1540 { "menu_context", DT_NUM, R_NONE, UL &MenuContext, 0 }, 1541 /* 1542 ** .pp 1543 ** This variable controls the number of lines of context that are given 1544 ** when scrolling through menus. (Similar to $$pager_context.) 1545 */ 1546 { "menu_move_off", DT_BOOL, R_NONE, OPTMENUMOVEOFF, 1 }, 1547 /* 1548 ** .pp 1549 ** When \fIunset\fP, the bottom entry of menus will never scroll up past 1550 ** the bottom of the screen, unless there are less entries than lines. 1551 ** When \fIset\fP, the bottom entry may move off the bottom. 1552 */ 1553 { "menu_scroll", DT_BOOL, R_NONE, OPTMENUSCROLL, 0 }, 1554 /* 1555 ** .pp 1556 ** When \fIset\fP, menus will be scrolled up or down one line when you 1557 ** attempt to move across a screen boundary. If \fIunset\fP, the screen 1558 ** is cleared and the next or previous page of the menu is displayed 1559 ** (useful for slow links to avoid many redraws). 1560 */ 1561#if defined(USE_IMAP) || defined(USE_POP) 1562 { "message_cache_clean", DT_BOOL, R_NONE, OPTMESSAGECACHECLEAN, 0 }, 1563 /* 1564 ** .pp 1565 ** If \fIset\fP, mutt will clean out obsolete entries from the message cache when 1566 ** the mailbox is synchronized. You probably only want to set it 1567 ** every once in a while, since it can be a little slow 1568 ** (especially for large folders). 1569 */ 1570 { "message_cachedir", DT_PATH, R_NONE, UL &MessageCachedir, 0 }, 1571 /* 1572 ** .pp 1573 ** Set this to a directory and mutt will cache copies of messages from 1574 ** your IMAP and POP servers here. You are free to remove entries at any 1575 ** time. 1576 ** .pp 1577 ** When setting this variable to a directory, mutt needs to fetch every 1578 ** remote message only once and can perform regular expression searches 1579 ** as fast as for local folders. 1580 ** .pp 1581 ** Also see the $$message_cache_clean variable. 1582 */ 1583#endif 1584 { "message_format", DT_STR, R_NONE, UL &MsgFmt, UL "%s" }, 1585 /* 1586 ** .pp 1587 ** This is the string displayed in the ``attachment'' menu for 1588 ** attachments of type \fCmessage/rfc822\fP. For a full listing of defined 1589 ** \fCprintf(3)\fP-like sequences see the section on $$index_format. 1590 */ 1591 { "msg_format", DT_SYN, R_NONE, UL "message_format", 0 }, 1592 /* 1593 */ 1594 { "meta_key", DT_BOOL, R_NONE, OPTMETAKEY, 0 }, 1595 /* 1596 ** .pp 1597 ** If \fIset\fP, forces Mutt to interpret keystrokes with the high bit (bit 8) 1598 ** set as if the user had pressed the Esc key and whatever key remains 1599 ** after having the high bit removed. For example, if the key pressed 1600 ** has an ASCII value of \fC0xf8\fP, then this is treated as if the user had 1601 ** pressed Esc then ``x''. This is because the result of removing the 1602 ** high bit from \fC0xf8\fP is \fC0x78\fP, which is the ASCII character 1603 ** ``x''. 1604 */ 1605 { "metoo", DT_BOOL, R_NONE, OPTMETOO, 0 }, 1606 /* 1607 ** .pp 1608 ** If \fIunset\fP, Mutt will remove your address (see the ``$alternates'' 1609 ** command) from the list of recipients when replying to a message. 1610 */ 1611 { "mh_purge", DT_BOOL, R_NONE, OPTMHPURGE, 0 }, 1612 /* 1613 ** .pp 1614 ** When \fIunset\fP, mutt will mimic mh's behavior and rename deleted messages 1615 ** to \fI,<old file name>\fP in mh folders instead of really deleting 1616 ** them. This leaves the message on disk but makes programs reading the folder 1617 ** ignore it. If the variable is \fIset\fP, the message files will simply be 1618 ** deleted. 1619 ** .pp 1620 ** This option is similar to $$maildir_trash for Maildir folders. 1621 */ 1622 { "mh_seq_flagged", DT_STR, R_NONE, UL &MhFlagged, UL "flagged" }, 1623 /* 1624 ** .pp 1625 ** The name of the MH sequence used for flagged messages. 1626 */ 1627 { "mh_seq_replied", DT_STR, R_NONE, UL &MhReplied, UL "replied" }, 1628 /* 1629 ** .pp 1630 ** The name of the MH sequence used to tag replied messages. 1631 */ 1632 { "mh_seq_unseen", DT_STR, R_NONE, UL &MhUnseen, UL "unseen" }, 1633 /* 1634 ** .pp 1635 ** The name of the MH sequence used for unseen messages. 1636 */ 1637 { "mime_forward", DT_QUAD, R_NONE, OPT_MIMEFWD, MUTT_NO }, 1638 /* 1639 ** .pp 1640 ** When \fIset\fP, the message you are forwarding will be attached as a 1641 ** separate \fCmessage/rfc822\fP MIME part instead of included in the main body of the 1642 ** message. This is useful for forwarding MIME messages so the receiver 1643 ** can properly view the message as it was delivered to you. If you like 1644 ** to switch between MIME and not MIME from mail to mail, set this 1645 ** variable to ``ask-no'' or ``ask-yes''. 1646 ** .pp 1647 ** Also see $$forward_decode and $$mime_forward_decode. 1648 */ 1649 { "mime_forward_decode", DT_BOOL, R_NONE, OPTMIMEFORWDECODE, 0 }, 1650 /* 1651 ** .pp 1652 ** Controls the decoding of complex MIME messages into \fCtext/plain\fP when 1653 ** forwarding a message while $$mime_forward is \fIset\fP. Otherwise 1654 ** $$forward_decode is used instead. 1655 */ 1656 { "mime_fwd", DT_SYN, R_NONE, UL "mime_forward", 0 }, 1657 /* 1658 */ 1659 { "mime_forward_rest", DT_QUAD, R_NONE, OPT_MIMEFWDREST, MUTT_YES }, 1660 /* 1661 ** .pp 1662 ** When forwarding multiple attachments of a MIME message from the attachment 1663 ** menu, attachments which cannot be decoded in a reasonable manner will 1664 ** be attached to the newly composed message if this option is \fIset\fP. 1665 */ 1666#ifdef MIXMASTER 1667 { "mix_entry_format", DT_STR, R_NONE, UL &MixEntryFormat, UL "%4n %c %-16s %a" }, 1668 /* 1669 ** .pp 1670 ** This variable describes the format of a remailer line on the mixmaster 1671 ** chain selection screen. The following \fCprintf(3)\fP-like sequences are 1672 ** supported: 1673 ** .dl 1674 ** .dt %n .dd The running number on the menu. 1675 ** .dt %c .dd Remailer capabilities. 1676 ** .dt %s .dd The remailer's short name. 1677 ** .dt %a .dd The remailer's e-mail address. 1678 ** .de 1679 */ 1680 { "mixmaster", DT_PATH, R_NONE, UL &Mixmaster, UL MIXMASTER }, 1681 /* 1682 ** .pp 1683 ** This variable contains the path to the Mixmaster binary on your 1684 ** system. It is used with various sets of parameters to gather the 1685 ** list of known remailers, and to finally send a message through the 1686 ** mixmaster chain. 1687 */ 1688#endif 1689 { "move", DT_QUAD, R_NONE, OPT_MOVE, MUTT_NO }, 1690 /* 1691 ** .pp 1692 ** Controls whether or not Mutt will move read messages 1693 ** from your spool mailbox to your $$mbox mailbox, or as a result of 1694 ** a ``$mbox-hook'' command. 1695 */ 1696 { "narrow_tree", DT_BOOL, R_TREE|R_INDEX, OPTNARROWTREE, 0 }, 1697 /* 1698 ** .pp 1699 ** This variable, when \fIset\fP, makes the thread tree narrower, allowing 1700 ** deeper threads to fit on the screen. 1701 */ 1702#ifdef USE_SOCKET 1703 { "net_inc", DT_NUM, R_NONE, UL &NetInc, 10 }, 1704 /* 1705 ** .pp 1706 ** Operations that expect to transfer a large amount of data over the 1707 ** network will update their progress every $$net_inc kilobytes. 1708 ** If set to 0, no progress messages will be displayed. 1709 ** .pp 1710 ** See also $$read_inc, $$write_inc and $$net_inc. 1711 */ 1712#endif 1713 { "pager", DT_PATH, R_NONE, UL &Pager, UL "builtin" }, 1714 /* 1715 ** .pp 1716 ** This variable specifies which pager you would like to use to view 1717 ** messages. The value ``builtin'' means to use the built-in pager, otherwise this 1718 ** variable should specify the pathname of the external pager you would 1719 ** like to use. 1720 ** .pp 1721 ** Using an external pager may have some disadvantages: Additional 1722 ** keystrokes are necessary because you can't call mutt functions 1723 ** directly from the pager, and screen resizes cause lines longer than 1724 ** the screen width to be badly formatted in the help menu. 1725 */ 1726 { "pager_context", DT_NUM, R_NONE, UL &PagerContext, 0 }, 1727 /* 1728 ** .pp 1729 ** This variable controls the number of lines of context that are given 1730 ** when displaying the next or previous page in the internal pager. By 1731 ** default, Mutt will display the line after the last one on the screen 1732 ** at the top of the next page (0 lines of context). 1733 ** .pp 1734 ** This variable also specifies the amount of context given for search 1735 ** results. If positive, this many lines will be given before a match, 1736 ** if 0, the match will be top-aligned. 1737 */ 1738 { "pager_format", DT_STR, R_PAGER, UL &PagerFmt, UL "-%Z- %C/%m: %-20.20n %s%* -- (%P)" }, 1739 /* 1740 ** .pp 1741 ** This variable controls the format of the one-line message ``status'' 1742 ** displayed before each message in either the internal or an external 1743 ** pager. The valid sequences are listed in the $$index_format 1744 ** section. 1745 */ 1746 { "pager_index_lines",DT_NUM, R_PAGER, UL &PagerIndexLines, 0 }, 1747 /* 1748 ** .pp 1749 ** Determines the number of lines of a mini-index which is shown when in 1750 ** the pager. The current message, unless near the top or bottom of the 1751 ** folder, will be roughly one third of the way down this mini-index, 1752 ** giving the reader the context of a few messages before and after the 1753 ** message. This is useful, for example, to determine how many messages 1754 ** remain to be read in the current thread. One of the lines is reserved 1755 ** for the status bar from the index, so a setting of 6 1756 ** will only show 5 lines of the actual index. A value of 0 results in 1757 ** no index being shown. If the number of messages in the current folder 1758 ** is less than $$pager_index_lines, then the index will only use as 1759 ** many lines as it needs. 1760 */ 1761 { "pager_stop", DT_BOOL, R_NONE, OPTPAGERSTOP, 0 }, 1762 /* 1763 ** .pp 1764 ** When \fIset\fP, the internal-pager will \fBnot\fP move to the next message 1765 ** when you are at the end of a message and invoke the \fC<next-page>\fP 1766 ** function. 1767 */ 1768 { "pgp_auto_decode", DT_BOOL, R_NONE, OPTPGPAUTODEC, 0 }, 1769 /* 1770 ** .pp 1771 ** If \fIset\fP, mutt will automatically attempt to decrypt traditional PGP 1772 ** messages whenever the user performs an operation which ordinarily would 1773 ** result in the contents of the message being operated on. For example, 1774 ** if the user displays a pgp-traditional message which has not been manually 1775 ** checked with the \fC$<check-traditional-pgp>\fP function, mutt will automatically 1776 ** check the message for traditional pgp. 1777 */ 1778 { "pgp_create_traditional", DT_SYN, R_NONE, UL "pgp_autoinline", 0 }, 1779 { "pgp_autoinline", DT_BOOL, R_NONE, OPTPGPAUTOINLINE, 0 }, 1780 /* 1781 ** .pp 1782 ** This option controls whether Mutt generates old-style inline 1783 ** (traditional) PGP encrypted or signed messages under certain 1784 ** circumstances. This can be overridden by use of the pgp menu, 1785 ** when inline is not required. The GPGME backend does not support 1786 ** this option. 1787 ** .pp 1788 ** Note that Mutt might automatically use PGP/MIME for messages 1789 ** which consist of more than a single MIME part. Mutt can be 1790 ** configured to ask before sending PGP/MIME messages when inline 1791 ** (traditional) would not work. 1792 ** .pp 1793 ** Also see the $$pgp_mime_auto variable. 1794 ** .pp 1795 ** Also note that using the old-style PGP message format is \fBstrongly\fP 1796 ** \fBdeprecated\fP. 1797 ** (PGP only) 1798 */ 1799 { "pgp_check_exit", DT_BOOL, R_NONE, OPTPGPCHECKEXIT, 1 }, 1800 /* 1801 ** .pp 1802 ** If \fIset\fP, mutt will check the exit code of the PGP subprocess when 1803 ** signing or encrypting. A non-zero exit code means that the 1804 ** subprocess failed. 1805 ** (PGP only) 1806 */ 1807 { "pgp_clearsign_command", DT_STR, R_NONE, UL &PgpClearSignCommand, 0 }, 1808 /* 1809 ** .pp 1810 ** This format is used to create an old-style ``clearsigned'' PGP 1811 ** message. Note that the use of this format is \fBstrongly\fP 1812 ** \fBdeprecated\fP. 1813 ** .pp 1814 ** This is a format string, see the $$pgp_decode_command command for 1815 ** possible \fCprintf(3)\fP-like sequences. 1816 ** (PGP only) 1817 */ 1818 { "pgp_decode_command", DT_STR, R_NONE, UL &PgpDecodeCommand, 0}, 1819 /* 1820 ** .pp 1821 ** This format strings specifies a command which is used to decode 1822 ** application/pgp attachments. 1823 ** .pp 1824 ** The PGP command formats have their own set of \fCprintf(3)\fP-like sequences: 1825 ** .dl 1826 ** .dt %p .dd Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty 1827 ** string otherwise. Note: This may be used with a %? construct. 1828 ** .dt %f .dd Expands to the name of a file containing a message. 1829 ** .dt %s .dd Expands to the name of a file containing the signature part 1830 ** . of a \fCmultipart/signed\fP attachment when verifying it. 1831 ** .dt %a .dd The value of $$pgp_sign_as. 1832 ** .dt %r .dd One or more key IDs (or fingerprints if available). 1833 ** .de 1834 ** .pp 1835 ** For examples on how to configure these formats for the various versions 1836 ** of PGP which are floating around, see the pgp and gpg sample configuration files in 1837 ** the \fCsamples/\fP subdirectory which has been installed on your system 1838 ** alongside the documentation. 1839 ** (PGP only) 1840 */ 1841 { "pgp_decrypt_command", DT_STR, R_NONE, UL &PgpDecryptCommand, 0}, 1842 /* 1843 ** .pp 1844 ** This command is used to decrypt a PGP encrypted message. 1845 ** .pp 1846 ** This is a format string, see the $$pgp_decode_command command for 1847 ** possible \fCprintf(3)\fP-like sequences. 1848 ** (PGP only) 1849 */ 1850 { "pgp_decryption_okay", DT_RX, R_NONE, UL &PgpDecryptionOkay, 0 }, 1851 /* 1852 ** .pp 1853 ** If you assign text to this variable, then an encrypted PGP 1854 ** message is only considered successfully decrypted if the output 1855 ** from $$pgp_decrypt_command contains the text. This is used to 1856 ** protect against a spoofed encrypted message, with multipart/encrypted 1857 ** headers but containing a block that is not actually encrypted. 1858 ** (e.g. simply signed and ascii armored text). 1859 ** (PGP only) 1860 */ 1861 { "pgp_encrypt_only_command", DT_STR, R_NONE, UL &PgpEncryptOnlyCommand, 0}, 1862 /* 1863 ** .pp 1864 ** This command is used to encrypt a body part without signing it. 1865 ** .pp 1866 ** This is a format string, see the $$pgp_decode_command command for 1867 ** possible \fCprintf(3)\fP-like sequences. 1868 ** (PGP only) 1869 */ 1870 { "pgp_encrypt_sign_command", DT_STR, R_NONE, UL &PgpEncryptSignCommand, 0}, 1871 /* 1872 ** .pp 1873 ** This command is used to both sign and encrypt a body part. 1874 ** .pp 1875 ** This is a format string, see the $$pgp_decode_command command for 1876 ** possible \fCprintf(3)\fP-like sequences. 1877 ** (PGP only) 1878 */ 1879 { "pgp_entry_format", DT_STR, R_NONE, UL &PgpEntryFormat, UL "%4n %t%f %4l/0x%k %-4a %2c %u" }, 1880 /* 1881 ** .pp 1882 ** This variable allows you to customize the PGP key selection menu to 1883 ** your personal taste. This string is similar to $$index_format, but 1884 ** has its own set of \fCprintf(3)\fP-like sequences: 1885 ** .dl 1886 ** .dt %n .dd number 1887 ** .dt %k .dd key id 1888 ** .dt %u .dd user id 1889 ** .dt %a .dd algorithm 1890 ** .dt %l .dd key length 1891 ** .dt %f .dd flags 1892 ** .dt %c .dd capabilities 1893 ** .dt %t .dd trust/validity of the key-uid association 1894 ** .dt %[<s>] .dd date of the key where <s> is an \fCstrftime(3)\fP expression 1895 ** .de 1896 ** .pp 1897 ** (PGP only) 1898 */ 1899 { "pgp_export_command", DT_STR, R_NONE, UL &PgpExportCommand, 0}, 1900 /* 1901 ** .pp 1902 ** This command is used to export a public key from the user's 1903 ** key ring. 1904 ** .pp 1905 ** This is a format string, see the $$pgp_decode_command command for 1906 ** possible \fCprintf(3)\fP-like sequences. 1907 ** (PGP only) 1908 */ 1909 { "pgp_getkeys_command", DT_STR, R_NONE, UL &PgpGetkeysCommand, 0}, 1910 /* 1911 ** .pp 1912 ** This command is invoked whenever Mutt needs to fetch the public key associated with 1913 ** an email address. Of the sequences supported by $$pgp_decode_command, %r is 1914 ** the only \fCprintf(3)\fP-like sequence used with this format. Note that 1915 ** in this case, %r expands to the email address, not the public key ID (the key ID is 1916 ** unknown, which is why Mutt is invoking this command). 1917 ** (PGP only) 1918 */ 1919 { "pgp_good_sign", DT_RX, R_NONE, UL &PgpGoodSign, 0 }, 1920 /* 1921 ** .pp 1922 ** If you assign a text to this variable, then a PGP signature is only 1923 ** considered verified if the output from $$pgp_verify_command contains 1924 ** the text. Use this variable if the exit code from the command is 0 1925 ** even for bad signatures. 1926 ** (PGP only) 1927 */ 1928 { "pgp_ignore_subkeys", DT_BOOL, R_NONE, OPTPGPIGNORESUB, 1}, 1929 /* 1930 ** .pp 1931 ** Setting this variable will cause Mutt to ignore OpenPGP subkeys. Instead, 1932 ** the principal key will inherit the subkeys' capabilities. \fIUnset\fP this 1933 ** if you want to play interesting key selection games. 1934 ** (PGP only) 1935 */ 1936 { "pgp_import_command", DT_STR, R_NONE, UL &PgpImportCommand, 0}, 1937 /* 1938 ** .pp 1939 ** This command is used to import a key from a message into 1940 ** the user's public key ring. 1941 ** .pp 1942 ** This is a format string, see the $$pgp_decode_command command for 1943 ** possible \fCprintf(3)\fP-like sequences. 1944 ** (PGP only) 1945 */ 1946 { "pgp_list_pubring_command", DT_STR, R_NONE, UL &PgpListPubringCommand, 0}, 1947 /* 1948 ** .pp 1949 ** This command is used to list the public key ring's contents. The 1950 ** output format must be analogous to the one used by 1951 ** .ts 1952 ** gpg --list-keys --with-colons --with-fingerprint 1953 ** .te 1954 ** .pp 1955 ** This format is also generated by the \fCpgpring\fP utility which comes 1956 ** with mutt. 1957 ** .pp 1958 ** Note: gpg's \fCfixed-list-mode\fP option should not be used. It 1959 ** produces a different date format which may result in mutt showing 1960 ** incorrect key generation dates. 1961 ** .pp 1962 ** This is a format string, see the $$pgp_decode_command command for 1963 ** possible \fCprintf(3)\fP-like sequences. 1964 ** (PGP only) 1965 */ 1966 { "pgp_list_secring_command", DT_STR, R_NONE, UL &PgpListSecringCommand, 0}, 1967 /* 1968 ** .pp 1969 ** This command is used to list the secret key ring's contents. The 1970 ** output format must be analogous to the one used by: 1971 ** .ts 1972 ** gpg --list-keys --with-colons --with-fingerprint 1973 ** .te 1974 ** .pp 1975 ** This format is also generated by the \fCpgpring\fP utility which comes 1976 ** with mutt. 1977 ** .pp 1978 ** Note: gpg's \fCfixed-list-mode\fP option should not be used. It 1979 ** produces a different date format which may result in mutt showing 1980 ** incorrect key generation dates. 1981 ** .pp 1982 ** This is a format string, see the $$pgp_decode_command command for 1983 ** possible \fCprintf(3)\fP-like sequences. 1984 ** (PGP only) 1985 */ 1986 { "pgp_long_ids", DT_BOOL, R_NONE, OPTPGPLONGIDS, 1 }, 1987 /* 1988 ** .pp 1989 ** If \fIset\fP, use 64 bit PGP key IDs, if \fIunset\fP use the normal 32 bit key IDs. 1990 ** NOTE: Internally, Mutt has transitioned to using fingerprints (or long key IDs 1991 ** as a fallback). This option now only controls the display of key IDs 1992 ** in the key selection menu and a few other places. 1993 ** (PGP only) 1994 */ 1995 { "pgp_mime_auto", DT_QUAD, R_NONE, OPT_PGPMIMEAUTO, MUTT_ASKYES }, 1996 /* 1997 ** .pp 1998 ** This option controls whether Mutt will prompt you for 1999 ** automatically sending a (signed/encrypted) message using 2000 ** PGP/MIME when inline (traditional) fails (for any reason). 2001 ** .pp 2002 ** Also note that using the old-style PGP message format is \fBstrongly\fP 2003 ** \fBdeprecated\fP. 2004 ** (PGP only) 2005 */ 2006 { "pgp_auto_traditional", DT_SYN, R_NONE, UL "pgp_replyinline", 0 }, 2007 { "pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0 }, 2008 /* 2009 ** .pp 2010 ** Setting this variable will cause Mutt to always attempt to 2011 ** create an inline (traditional) message when replying to a 2012 ** message which is PGP encrypted/signed inline. This can be 2013 ** overridden by use of the pgp menu, when inline is not 2014 ** required. This option does not automatically detect if the 2015 ** (replied-to) message is inline; instead it relies on Mutt 2016 ** internals for previously checked/flagged messages. 2017 ** .pp 2018 ** Note that Mutt might automatically use PGP/MIME for messages 2019 ** which consist of more than a single MIME part. Mutt can be 2020 ** configured to ask before sending PGP/MIME messages when inline 2021 ** (traditional) would not work. 2022 ** .pp 2023 ** Also see the $$pgp_mime_auto variable. 2024 ** .pp 2025 ** Also note that using the old-style PGP message format is \fBstrongly\fP 2026 ** \fBdeprecated\fP. 2027 ** (PGP only) 2028 ** 2029 */ 2030 { "pgp_retainable_sigs", DT_BOOL, R_NONE, OPTPGPRETAINABLESIG, 0 }, 2031 /* 2032 ** .pp 2033 ** If \fIset\fP, signed and encrypted messages will consist of nested 2034 ** \fCmultipart/signed\fP and \fCmultipart/encrypted\fP body parts. 2035 ** .pp 2036 ** This is useful for applications like encrypted and signed mailing 2037 ** lists, where the outer layer (\fCmultipart/encrypted\fP) can be easily 2038 ** removed, while the inner \fCmultipart/signed\fP part is retained. 2039 ** (PGP only) 2040 */ 2041 { "pgp_show_unusable", DT_BOOL, R_NONE, OPTPGPSHOWUNUSABLE, 1 }, 2042 /* 2043 ** .pp 2044 ** If \fIset\fP, mutt will display non-usable keys on the PGP key selection 2045 ** menu. This includes keys which have been revoked, have expired, or 2046 ** have been marked as ``disabled'' by the user. 2047 ** (PGP only) 2048 */ 2049 { "pgp_sign_as", DT_STR, R_NONE, UL &PgpSignAs, 0 }, 2050 /* 2051 ** .pp 2052 ** If you have more than one key pair, this option allows you to specify 2053 ** which of your private keys to use. It is recommended that you use the 2054 ** keyid form to specify your key (e.g. \fC0x00112233\fP). 2055 ** (PGP only) 2056 */ 2057 { "pgp_sign_command", DT_STR, R_NONE, UL &PgpSignCommand, 0}, 2058 /* 2059 ** .pp 2060 ** This command is used to create the detached PGP signature for a 2061 ** \fCmultipart/signed\fP PGP/MIME body part. 2062 ** .pp 2063 ** This is a format string, see the $$pgp_decode_command command for 2064 ** possible \fCprintf(3)\fP-like sequences. 2065 ** (PGP only) 2066 */ 2067 { "pgp_sort_keys", DT_SORT|DT_SORT_KEYS, R_NONE, UL &PgpSortKeys, SORT_ADDRESS }, 2068 /* 2069 ** .pp 2070 ** Specifies how the entries in the pgp menu are sorted. The 2071 ** following are legal values: 2072 ** .dl 2073 ** .dt address .dd sort alphabetically by user id 2074 ** .dt keyid .dd sort alphabetically by key id 2075 ** .dt date .dd sort by key creation date 2076 ** .dt trust .dd sort by the trust of the key 2077 ** .de 2078 ** .pp 2079 ** If you prefer reverse order of the above values, prefix it with 2080 ** ``reverse-''. 2081 ** (PGP only) 2082 */ 2083 { "pgp_strict_enc", DT_BOOL, R_NONE, OPTPGPSTRICTENC, 1 }, 2084 /* 2085 ** .pp 2086 ** If \fIset\fP, Mutt will automatically encode PGP/MIME signed messages as 2087 ** quoted-printable. Please note that unsetting this variable may 2088 ** lead to problems with non-verifyable PGP signatures, so only change 2089 ** this if you know what you are doing. 2090 ** (PGP only) 2091 */ 2092 { "pgp_timeout", DT_NUM, R_NONE, UL &PgpTimeout, 300 }, 2093 /* 2094 ** .pp 2095 ** The number of seconds after which a cached passphrase will expire if 2096 ** not used. 2097 ** (PGP only) 2098 */ 2099 { "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0}, 2100 /* 2101 ** .pp 2102 ** If \fIset\fP, mutt will use a possibly-running \fCgpg-agent(1)\fP process. 2103 ** Note that as of version 2.1, GnuPG no longer exports GPG_AGENT_INFO, so 2104 ** mutt no longer verifies if the agent is running. 2105 ** (PGP only) 2106 */ 2107 { "pgp_verify_command", DT_STR, R_NONE, UL &PgpVerifyCommand, 0}, 2108 /* 2109 ** .pp 2110 ** This command is used to verify PGP signatures. 2111 ** .pp 2112 ** This is a format string, see the $$pgp_decode_command command for 2113 ** possible \fCprintf(3)\fP-like sequences. 2114 ** (PGP only) 2115 */ 2116 { "pgp_verify_key_command", DT_STR, R_NONE, UL &PgpVerifyKeyCommand, 0}, 2117 /* 2118 ** .pp 2119 ** This command is used to verify key information from the key selection 2120 ** menu. 2121 ** .pp 2122 ** This is a format string, see the $$pgp_decode_command command for 2123 ** possible \fCprintf(3)\fP-like sequences. 2124 ** (PGP only) 2125 */ 2126 { "pipe_decode", DT_BOOL, R_NONE, OPTPIPEDECODE, 0 }, 2127 /* 2128 ** .pp 2129 ** Used in connection with the \fC<pipe-message>\fP command. When \fIunset\fP, 2130 ** Mutt will pipe the messages without any preprocessing. When \fIset\fP, Mutt 2131 ** will weed headers and will attempt to decode the messages 2132 ** first. 2133 */ 2134 { "pipe_sep", DT_STR, R_NONE, UL &PipeSep, UL "\n" }, 2135 /* 2136 ** .pp 2137 ** The separator to add between messages when piping a list of tagged 2138 ** messages to an external Unix command. 2139 */ 2140 { "pipe_split", DT_BOOL, R_NONE, OPTPIPESPLIT, 0 }, 2141 /* 2142 ** .pp 2143 ** Used in connection with the \fC<pipe-message>\fP function following 2144 ** \fC<tag-prefix>\fP. If this variable is \fIunset\fP, when piping a list of 2145 ** tagged messages Mutt will concatenate the messages and will pipe them 2146 ** all concatenated. When \fIset\fP, Mutt will pipe the messages one by one. 2147 ** In both cases the messages are piped in the current sorted order, 2148 ** and the $$pipe_sep separator is added after each message. 2149 */ 2150#ifdef USE_POP 2151 { "pop_auth_try_all", DT_BOOL, R_NONE, OPTPOPAUTHTRYALL, 1 }, 2152 /* 2153 ** .pp 2154 ** If \fIset\fP, Mutt will try all available authentication methods. 2155 ** When \fIunset\fP, Mutt will only fall back to other authentication 2156 ** methods if the previous methods are unavailable. If a method is 2157 ** available but authentication fails, Mutt will not connect to the POP server. 2158 */ 2159 { "pop_authenticators", DT_STR, R_NONE, UL &PopAuthenticators, UL 0 }, 2160 /* 2161 ** .pp 2162 ** This is a colon-delimited list of authentication methods mutt may 2163 ** attempt to use to log in to an POP server, in the order mutt should 2164 ** try them. Authentication methods are either ``user'', ``apop'' or any 2165 ** SASL mechanism, e.g. ``digest-md5'', ``gssapi'' or ``cram-md5''. 2166 ** This option is case-insensitive. If this option is \fIunset\fP 2167 ** (the default) mutt will try all available methods, in order from 2168 ** most-secure to least-secure. 2169 ** .pp 2170 ** Example: 2171 ** .ts 2172 ** set pop_authenticators="digest-md5:apop:user" 2173 ** .te 2174 */ 2175 { "pop_checkinterval", DT_NUM, R_NONE, UL &PopCheckTimeout, 60 }, 2176 /* 2177 ** .pp 2178 ** This variable configures how often (in seconds) mutt should look for 2179 ** new mail in the currently selected mailbox if it is a POP mailbox. 2180 */ 2181 { "pop_delete", DT_QUAD, R_NONE, OPT_POPDELETE, MUTT_ASKNO }, 2182 /* 2183 ** .pp 2184 ** If \fIset\fP, Mutt will delete successfully downloaded messages from the POP 2185 ** server when using the \fC$<fetch-mail>\fP function. When \fIunset\fP, Mutt will 2186 ** download messages but also leave them on the POP server. 2187 */ 2188 { "pop_host", DT_STR, R_NONE, UL &PopHost, UL "" }, 2189 /* 2190 ** .pp 2191 ** The name of your POP server for the \fC$<fetch-mail>\fP function. You 2192 ** can also specify an alternative port, username and password, i.e.: 2193 ** .ts 2194 ** [pop[s]://][username[:password]@]popserver[:port] 2195 ** .te 2196 ** .pp 2197 ** where ``[...]'' denotes an optional part. 2198 */ 2199 { "pop_last", DT_BOOL, R_NONE, OPTPOPLAST, 0 }, 2200 /* 2201 ** .pp 2202 ** If this variable is \fIset\fP, mutt will try to use the ``\fCLAST\fP'' POP command 2203 ** for retrieving only unread messages from the POP server when using 2204 ** the \fC$<fetch-mail>\fP function. 2205 */ 2206 { "pop_pass", DT_STR, R_NONE, UL &PopPass, UL "" }, 2207 /* 2208 ** .pp 2209 ** Specifies the password for your POP account. If \fIunset\fP, Mutt will 2210 ** prompt you for your password when you open a POP mailbox. 2211 ** .pp 2212 ** \fBWarning\fP: you should only use this option when you are on a 2213 ** fairly secure machine, because the superuser can read your muttrc 2214 ** even if you are the only one who can read the file. 2215 */ 2216 { "pop_reconnect", DT_QUAD, R_NONE, OPT_POPRECONNECT, MUTT_ASKYES }, 2217 /* 2218 ** .pp 2219 ** Controls whether or not Mutt will try to reconnect to the POP server if 2220 ** the connection is lost. 2221 */ 2222 { "pop_user", DT_STR, R_NONE, UL &PopUser, 0 }, 2223 /* 2224 ** .pp 2225 ** Your login name on the POP server. 2226 ** .pp 2227 ** This variable defaults to your user name on the local machine. 2228 */ 2229#endif /* USE_POP */ 2230 { "post_indent_string",DT_STR, R_NONE, UL &PostIndentString, UL "" }, 2231 /* 2232 ** .pp 2233 ** Similar to the $$attribution variable, Mutt will append this 2234 ** string after the inclusion of a message which is being replied to. 2235 */ 2236 { "post_indent_str", DT_SYN, R_NONE, UL "post_indent_string", 0 }, 2237 /* 2238 */ 2239 { "postpone", DT_QUAD, R_NONE, OPT_POSTPONE, MUTT_ASKYES }, 2240 /* 2241 ** .pp 2242 ** Controls whether or not messages are saved in the $$postponed 2243 ** mailbox when you elect not to send immediately. 2244 ** .pp 2245 ** Also see the $$recall variable. 2246 */ 2247 { "postponed", DT_PATH, R_INDEX, UL &Postponed, UL "~/postponed" }, 2248 /* 2249 ** .pp 2250 ** Mutt allows you to indefinitely ``$postpone sending a message'' which 2251 ** you are editing. When you choose to postpone a message, Mutt saves it 2252 ** in the mailbox specified by this variable. 2253 ** .pp 2254 ** Also see the $$postpone variable. 2255 */ 2256 { "postpone_encrypt", DT_BOOL, R_NONE, OPTPOSTPONEENCRYPT, 0 }, 2257 /* 2258 ** .pp 2259 ** When \fIset\fP, postponed messages that are marked for encryption will be 2260 ** encrypted using the key in $$postpone_encrypt_as before saving. 2261 ** (Crypto only) 2262 */ 2263 { "postpone_encrypt_as", DT_STR, R_NONE, UL &PostponeEncryptAs, 0 }, 2264 /* 2265 ** .pp 2266 ** This is the key used to encrypt postponed messages. It should be in 2267 ** keyid or fingerprint form (e.g. 0x00112233 for PGP or the 2268 ** hash-value that OpenSSL generates for S/MIME). 2269 ** (Crypto only) 2270 */ 2271#ifdef USE_SOCKET 2272 { "preconnect", DT_STR, R_NONE, UL &Preconnect, UL 0}, 2273 /* 2274 ** .pp 2275 ** If \fIset\fP, a shell command to be executed if mutt fails to establish 2276 ** a connection to the server. This is useful for setting up secure 2277 ** connections, e.g. with \fCssh(1)\fP. If the command returns a nonzero 2278 ** status, mutt gives up opening the server. Example: 2279 ** .ts 2280 ** set preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net \(rs 2281 ** sleep 20 < /dev/null > /dev/null" 2282 ** .te 2283 ** .pp 2284 ** Mailbox ``foo'' on ``mailhost.net'' can now be reached 2285 ** as ``{localhost:1234}foo''. 2286 ** .pp 2287 ** Note: For this example to work, you must be able to log in to the 2288 ** remote machine without having to enter a password. 2289 */ 2290#endif /* USE_SOCKET */ 2291 { "print", DT_QUAD, R_NONE, OPT_PRINT, MUTT_ASKNO }, 2292 /* 2293 ** .pp 2294 ** Controls whether or not Mutt really prints messages. 2295 ** This is set to ``ask-no'' by default, because some people 2296 ** accidentally hit ``p'' often. 2297 */ 2298 { "print_command", DT_PATH, R_NONE, UL &PrintCmd, UL "lpr" }, 2299 /* 2300 ** .pp 2301 ** This specifies the command pipe that should be used to print messages. 2302 */ 2303 { "print_cmd", DT_SYN, R_NONE, UL "print_command", 0 }, 2304 /* 2305 */ 2306 { "print_decode", DT_BOOL, R_NONE, OPTPRINTDECODE, 1 }, 2307 /* 2308 ** .pp 2309 ** Used in connection with the \fC<print-message>\fP command. If this 2310 ** option is \fIset\fP, the message is decoded before it is passed to the 2311 ** external command specified by $$print_command. If this option 2312 ** is \fIunset\fP, no processing will be applied to the message when 2313 ** printing it. The latter setting may be useful if you are using 2314 ** some advanced printer filter which is able to properly format 2315 ** e-mail messages for printing. 2316 */ 2317 { "print_split", DT_BOOL, R_NONE, OPTPRINTSPLIT, 0 }, 2318 /* 2319 ** .pp 2320 ** Used in connection with the \fC<print-message>\fP command. If this option 2321 ** is \fIset\fP, the command specified by $$print_command is executed once for 2322 ** each message which is to be printed. If this option is \fIunset\fP, 2323 ** the command specified by $$print_command is executed only once, and 2324 ** all the messages are concatenated, with a form feed as the message 2325 ** separator. 2326 ** .pp 2327 ** Those who use the \fCenscript\fP(1) program's mail-printing mode will 2328 ** most likely want to \fIset\fP this option. 2329 */ 2330 { "prompt_after", DT_BOOL, R_NONE, OPTPROMPTAFTER, 1 }, 2331 /* 2332 ** .pp 2333 ** If you use an \fIexternal\fP $$pager, setting this variable will 2334 ** cause Mutt to prompt you for a command when the pager exits rather 2335 ** than returning to the index menu. If \fIunset\fP, Mutt will return to the 2336 ** index menu when the external pager exits. 2337 */ 2338 { "query_command", DT_PATH, R_NONE, UL &QueryCmd, UL "" }, 2339 /* 2340 ** .pp 2341 ** This specifies the command Mutt will use to make external address 2342 ** queries. The string may contain a ``%s'', which will be substituted 2343 ** with the query string the user types. Mutt will add quotes around the 2344 ** string substituted for ``%s'' automatically according to shell quoting 2345 ** rules, so you should avoid adding your own. If no ``%s'' is found in 2346 ** the string, Mutt will append the user's query to the end of the string. 2347 ** See ``$query'' for more information. 2348 */ 2349 { "query_format", DT_STR, R_NONE, UL &QueryFormat, UL "%4c %t %-25.25a %-25.25n %?e?(%e)?" }, 2350 /* 2351 ** .pp 2352 ** This variable describes the format of the ``query'' menu. The 2353 ** following \fCprintf(3)\fP-style sequences are understood: 2354 ** .dl 2355 ** .dt %a .dd destination address 2356 ** .dt %c .dd current entry number 2357 ** .dt %e .dd extra information * 2358 ** .dt %n .dd destination name 2359 ** .dt %t .dd ``*'' if current entry is tagged, a space otherwise 2360 ** .dt %>X .dd right justify the rest of the string and pad with ``X'' 2361 ** .dt %|X .dd pad to the end of the line with ``X'' 2362 ** .dt %*X .dd soft-fill with character ``X'' as pad 2363 ** .de 2364 ** .pp 2365 ** For an explanation of ``soft-fill'', see the $$index_format documentation. 2366 ** .pp 2367 ** * = can be optionally printed if nonzero, see the $$status_format documentation. 2368 */ 2369 { "quit", DT_QUAD, R_NONE, OPT_QUIT, MUTT_YES }, 2370 /* 2371 ** .pp 2372 ** This variable controls whether ``quit'' and ``exit'' actually quit 2373 ** from mutt. If this option is \fIset\fP, they do quit, if it is \fIunset\fP, they 2374 ** have no effect, and if it is set to \fIask-yes\fP or \fIask-no\fP, you are 2375 ** prompted for confirmation when you try to quit. 2376 */ 2377 { "quote_regexp", DT_RX, R_PAGER, UL &QuoteRegexp, UL "^([ \t]*[|>:}#])+" }, 2378 /* 2379 ** .pp 2380 ** A regular expression used in the internal pager to determine quoted 2381 ** sections of text in the body of a message. Quoted text may be filtered 2382 ** out using the \fC<toggle-quoted>\fP command, or colored according to the 2383 ** ``color quoted'' family of directives. 2384 ** .pp 2385 ** Higher levels of quoting may be colored differently (``color quoted1'', 2386 ** ``color quoted2'', etc.). The quoting level is determined by removing 2387 ** the last character from the matched text and recursively reapplying 2388 ** the regular expression until it fails to produce a match. 2389 ** .pp 2390 ** Match detection may be overridden by the $$smileys regular expression. 2391 */ 2392 { "read_inc", DT_NUM, R_NONE, UL &ReadInc, 10 }, 2393 /* 2394 ** .pp 2395 ** If set to a value greater than 0, Mutt will display which message it 2396 ** is currently on when reading a mailbox or when performing search actions 2397 ** such as search and limit. The message is printed after 2398 ** this many messages have been read or searched (e.g., if set to 25, Mutt will 2399 ** print a message when it is at message 25, and then again when it gets 2400 ** to message 50). This variable is meant to indicate progress when 2401 ** reading or searching large mailboxes which may take some time. 2402 ** When set to 0, only a single message will appear before the reading 2403 ** the mailbox. 2404 ** .pp 2405 ** Also see the $$write_inc, $$net_inc and $$time_inc variables and the 2406 ** ``$tuning'' section of the manual for performance considerations. 2407 */ 2408 { "read_only", DT_BOOL, R_NONE, OPTREADONLY, 0 }, 2409 /* 2410 ** .pp 2411 ** If \fIset\fP, all folders are opened in read-only mode. 2412 */ 2413 { "realname", DT_STR, R_BOTH, UL &Realname, 0 }, 2414 /* 2415 ** .pp 2416 ** This variable specifies what ``real'' or ``personal'' name should be used 2417 ** when sending messages. 2418 ** .pp 2419 ** By default, this is the GECOS field from \fC/etc/passwd\fP. Note that this 2420 ** variable will \fInot\fP be used when the user has set a real name 2421 ** in the $$from variable. 2422 */ 2423 { "recall", DT_QUAD, R_NONE, OPT_RECALL, MUTT_ASKYES }, 2424 /* 2425 ** .pp 2426 ** Controls whether or not Mutt recalls postponed messages 2427 ** when composing a new message. 2428 ** .pp 2429 ** Setting this variable to \fIyes\fP is not generally useful, and thus not 2430 ** recommended. Note that the \fC<recall-message>\fP function can be used 2431 ** to manually recall postponed messages. 2432 ** .pp 2433 ** Also see $$postponed variable. 2434 */ 2435 { "record", DT_PATH, R_NONE, UL &Outbox, UL "~/sent" }, 2436 /* 2437 ** .pp 2438 ** This specifies the file into which your outgoing messages should be 2439 ** appended. (This is meant as the primary method for saving a copy of 2440 ** your messages, but another way to do this is using the ``$my_hdr'' 2441 ** command to create a ``Bcc:'' field with your email address in it.) 2442 ** .pp 2443 ** The value of \fI$$record\fP is overridden by the $$force_name and 2444 ** $$save_name variables, and the ``$fcc-hook'' command. 2445 */ 2446 { "reflow_space_quotes", DT_BOOL, R_NONE, OPTREFLOWSPACEQUOTES, 1 }, 2447 /* 2448 ** .pp 2449 ** This option controls how quotes from format=flowed messages are displayed 2450 ** in the pager and when replying (with $$text_flowed \fIunset\fP). 2451 ** When set, this option adds spaces after each level of quote marks, turning 2452 ** ">>>foo" into "> > > foo". 2453 ** .pp 2454 ** \fBNote:\fP If $$reflow_text is \fIunset\fP, this option has no effect. 2455 ** Also, this option does not affect replies when $$text_flowed is \fIset\fP. 2456 */ 2457 { "reflow_text", DT_BOOL, R_NONE, OPTREFLOWTEXT, 1 }, 2458 /* 2459 ** .pp 2460 ** When \fIset\fP, Mutt will reformat paragraphs in text/plain 2461 ** parts marked format=flowed. If \fIunset\fP, Mutt will display paragraphs 2462 ** unaltered from how they appear in the message body. See RFC3676 for 2463 ** details on the \fIformat=flowed\fP format. 2464 ** .pp 2465 ** Also see $$reflow_wrap, and $$wrap. 2466 */ 2467 { "reflow_wrap", DT_NUM, R_NONE, UL &ReflowWrap, 78 }, 2468 /* 2469 ** .pp 2470 ** This variable controls the maximum paragraph width when reformatting text/plain 2471 ** parts when $$reflow_text is \fIset\fP. When the value is 0, paragraphs will 2472 ** be wrapped at the terminal's right margin. A positive value sets the 2473 ** paragraph width relative to the left margin. A negative value set the 2474 ** paragraph width relative to the right margin. 2475 ** .pp 2476 ** Also see $$wrap. 2477 */ 2478 { "reply_regexp", DT_RX, R_INDEX|R_RESORT, UL &ReplyRegexp, UL "^(re([\\[0-9\\]+])*|aw):[ \t]*" }, 2479 /* 2480 ** .pp 2481 ** A regular expression used to recognize reply messages when threading 2482 ** and replying. The default value corresponds to the English "Re:" and 2483 ** the German "Aw:". 2484 */ 2485 { "reply_self", DT_BOOL, R_NONE, OPTREPLYSELF, 0 }, 2486 /* 2487 ** .pp 2488 ** If \fIunset\fP and you are replying to a message sent by you, Mutt will 2489 ** assume that you want to reply to the recipients of that message rather 2490 ** than to yourself. 2491 ** .pp 2492 ** Also see the ``$alternates'' command. 2493 */ 2494 { "reply_to", DT_QUAD, R_NONE, OPT_REPLYTO, MUTT_ASKYES }, 2495 /* 2496 ** .pp 2497 ** If \fIset\fP, when replying to a message, Mutt will use the address listed 2498 ** in the Reply-to: header as the recipient of the reply. If \fIunset\fP, 2499 ** it will use the address in the From: header field instead. This 2500 ** option is useful for reading a mailing list that sets the Reply-To: 2501 ** header field to the list address and you want to send a private 2502 ** message to the author of a message. 2503 */ 2504 { "resolve", DT_BOOL, R_NONE, OPTRESOLVE, 1 }, 2505 /* 2506 ** .pp 2507 ** When \fIset\fP, the cursor will be automatically advanced to the next 2508 ** (possibly undeleted) message whenever a command that modifies the 2509 ** current message is executed. 2510 */ 2511 { "resume_draft_files", DT_BOOL, R_NONE, OPTRESUMEDRAFTFILES, 0 }, 2512 /* 2513 ** .pp 2514 ** If \fIset\fP, draft files (specified by \fC-H\fP on the command 2515 ** line) are processed similarly to when resuming a postponed 2516 ** message. Recipients are not prompted for; send-hooks are not 2517 ** evaluated; no alias expansion takes place; user-defined headers 2518 ** and signatures are not added to the message. 2519 */ 2520 { "resume_edited_draft_files", DT_BOOL, R_NONE, OPTRESUMEEDITEDDRAFTFILES, 1 }, 2521 /* 2522 ** .pp 2523 ** If \fIset\fP, draft files previously edited (via \fC-E -H\fP on 2524 ** the command line) will have $$resume_draft_files automatically 2525 ** set when they are used as a draft file again. 2526 ** .pp 2527 ** The first time a draft file is saved, mutt will add a header, 2528 ** X-Mutt-Resume-Draft to the saved file. The next time the draft 2529 ** file is read in, if mutt sees the header, it will set 2530 ** $$resume_draft_files. 2531 ** .pp 2532 ** This option is designed to prevent multiple signatures, 2533 ** user-defined headers, and other processing effects from being 2534 ** made multiple times to the draft file. 2535 */ 2536 { "reverse_alias", DT_BOOL, R_BOTH, OPTREVALIAS, 0 }, 2537 /* 2538 ** .pp 2539 ** This variable controls whether or not Mutt will display the ``personal'' 2540 ** name from your aliases in the index menu if it finds an alias that 2541 ** matches the message's sender. For example, if you have the following 2542 ** alias: 2543 ** .ts 2544 ** alias juser abd30425@somewhere.net (Joe User) 2545 ** .te 2546 ** .pp 2547 ** and then you receive mail which contains the following header: 2548 ** .ts 2549 ** From: abd30425@somewhere.net 2550 ** .te 2551 ** .pp 2552 ** It would be displayed in the index menu as ``Joe User'' instead of 2553 ** ``abd30425@somewhere.net.'' This is useful when the person's e-mail 2554 ** address is not human friendly. 2555 */ 2556 { "reverse_name", DT_BOOL, R_BOTH, OPTREVNAME, 0 }, 2557 /* 2558 ** .pp 2559 ** It may sometimes arrive that you receive mail to a certain machine, 2560 ** move the messages to another machine, and reply to some the messages 2561 ** from there. If this variable is \fIset\fP, the default \fIFrom:\fP line of 2562 ** the reply messages is built using the address where you received the 2563 ** messages you are replying to \fBif\fP that address matches your 2564 ** ``$alternates''. If the variable is \fIunset\fP, or the address that would be 2565 ** used doesn't match your ``$alternates'', the \fIFrom:\fP line will use 2566 ** your address on the current machine. 2567 ** .pp 2568 ** Also see the ``$alternates'' command. 2569 */ 2570 { "reverse_realname", DT_BOOL, R_BOTH, OPTREVREAL, 1 }, 2571 /* 2572 ** .pp 2573 ** This variable fine-tunes the behavior of the $$reverse_name feature. 2574 ** When it is \fIset\fP, mutt will use the address from incoming messages as-is, 2575 ** possibly including eventual real names. When it is \fIunset\fP, mutt will 2576 ** override any such real names with the setting of the $$realname variable. 2577 */ 2578 { "rfc2047_parameters", DT_BOOL, R_NONE, OPTRFC2047PARAMS, 0 }, 2579 /* 2580 ** .pp 2581 ** When this variable is \fIset\fP, Mutt will decode RFC2047-encoded MIME 2582 ** parameters. You want to set this variable when mutt suggests you 2583 ** to save attachments to files named like: 2584 ** .ts 2585 ** =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?= 2586 ** .te 2587 ** .pp 2588 ** When this variable is \fIset\fP interactively, the change won't be 2589 ** active until you change folders. 2590 ** .pp 2591 ** Note that this use of RFC2047's encoding is explicitly 2592 ** prohibited by the standard, but nevertheless encountered in the 2593 ** wild. 2594 ** .pp 2595 ** Also note that setting this parameter will \fInot\fP have the effect 2596 ** that mutt \fIgenerates\fP this kind of encoding. Instead, mutt will 2597 ** unconditionally use the encoding specified in RFC2231. 2598 */ 2599 { "save_address", DT_BOOL, R_NONE, OPTSAVEADDRESS, 0 }, 2600 /* 2601 ** .pp 2602 ** If \fIset\fP, mutt will take the sender's full address when choosing a 2603 ** default folder for saving a mail. If $$save_name or $$force_name 2604 ** is \fIset\fP too, the selection of the Fcc folder will be changed as well. 2605 */ 2606 { "save_empty", DT_BOOL, R_NONE, OPTSAVEEMPTY, 1 }, 2607 /* 2608 ** .pp 2609 ** When \fIunset\fP, mailboxes which contain no saved messages will be removed 2610 ** when closed (the exception is $$spoolfile which is never removed). 2611 ** If \fIset\fP, mailboxes are never removed. 2612 ** .pp 2613 ** \fBNote:\fP This only applies to mbox and MMDF folders, Mutt does not 2614 ** delete MH and Maildir directories. 2615 */ 2616 { "save_history", DT_NUM, R_NONE, UL &SaveHist, 0 }, 2617 /* 2618 ** .pp 2619 ** This variable controls the size of the history (per category) saved in the 2620 ** $$history_file file. 2621 */ 2622 { "save_name", DT_BOOL, R_NONE, OPTSAVENAME, 0 }, 2623 /* 2624 ** .pp 2625 ** This variable controls how copies of outgoing messages are saved. 2626 ** When \fIset\fP, a check is made to see if a mailbox specified by the 2627 ** recipient address exists (this is done by searching for a mailbox in 2628 ** the $$folder directory with the \fIusername\fP part of the 2629 ** recipient address). If the mailbox exists, the outgoing message will 2630 ** be saved to that mailbox, otherwise the message is saved to the 2631 ** $$record mailbox. 2632 ** .pp 2633 ** Also see the $$force_name variable. 2634 */ 2635 { "score", DT_BOOL, R_NONE, OPTSCORE, 1 }, 2636 /* 2637 ** .pp 2638 ** When this variable is \fIunset\fP, scoring is turned off. This can 2639 ** be useful to selectively disable scoring for certain folders when the 2640 ** $$score_threshold_delete variable and related are used. 2641 ** 2642 */ 2643 { "score_threshold_delete", DT_NUM, R_NONE, UL &ScoreThresholdDelete, UL -1 }, 2644 /* 2645 ** .pp 2646 ** Messages which have been assigned a score equal to or lower than the value 2647 ** of this variable are automatically marked for deletion by mutt. Since 2648 ** mutt scores are always greater than or equal to zero, the default setting 2649 ** of this variable will never mark a message for deletion. 2650 */ 2651 { "score_threshold_flag", DT_NUM, R_NONE, UL &ScoreThresholdFlag, 9999 }, 2652 /* 2653 ** .pp 2654 ** Messages which have been assigned a score greater than or equal to this 2655 ** variable's value are automatically marked "flagged". 2656 */ 2657 { "score_threshold_read", DT_NUM, R_NONE, UL &ScoreThresholdRead, UL -1 }, 2658 /* 2659 ** .pp 2660 ** Messages which have been assigned a score equal to or lower than the value 2661 ** of this variable are automatically marked as read by mutt. Since 2662 ** mutt scores are always greater than or equal to zero, the default setting 2663 ** of this variable will never mark a message read. 2664 */ 2665 { "search_context", DT_NUM, R_NONE, UL &SearchContext, UL 0 }, 2666 /* 2667 ** .pp 2668 ** For the pager, this variable specifies the number of lines shown 2669 ** before search results. By default, search results will be top-aligned. 2670 */ 2671 { "send_charset", DT_STR, R_NONE, UL &SendCharset, UL "us-ascii:iso-8859-1:utf-8" }, 2672 /* 2673 ** .pp 2674 ** A colon-delimited list of character sets for outgoing messages. Mutt will use the 2675 ** first character set into which the text can be converted exactly. 2676 ** If your $$charset is not ``iso-8859-1'' and recipients may not 2677 ** understand ``UTF-8'', it is advisable to include in the list an 2678 ** appropriate widely used standard character set (such as 2679 ** ``iso-8859-2'', ``koi8-r'' or ``iso-2022-jp'') either instead of or after 2680 ** ``iso-8859-1''. 2681 ** .pp 2682 ** In case the text cannot be converted into one of these exactly, 2683 ** mutt uses $$charset as a fallback. 2684 */ 2685 { "sendmail", DT_PATH, R_NONE, UL &Sendmail, UL SENDMAIL " -oem -oi" }, 2686 /* 2687 ** .pp 2688 ** Specifies the program and arguments used to deliver mail sent by Mutt. 2689 ** Mutt expects that the specified program interprets additional 2690 ** arguments as recipient addresses. Mutt appends all recipients after 2691 ** adding a \fC--\fP delimiter (if not already present). Additional 2692 ** flags, such as for $$use_8bitmime, $$use_envelope_from, 2693 ** $$dsn_notify, or $$dsn_return will be added before the delimiter. 2694 */ 2695 { "sendmail_wait", DT_NUM, R_NONE, UL &SendmailWait, 0 }, 2696 /* 2697 ** .pp 2698 ** Specifies the number of seconds to wait for the $$sendmail process 2699 ** to finish before giving up and putting delivery in the background. 2700 ** .pp 2701 ** Mutt interprets the value of this variable as follows: 2702 ** .dl 2703 ** .dt >0 .dd number of seconds to wait for sendmail to finish before continuing 2704 ** .dt 0 .dd wait forever for sendmail to finish 2705 ** .dt <0 .dd always put sendmail in the background without waiting 2706 ** .de 2707 ** .pp 2708 ** Note that if you specify a value other than 0, the output of the child 2709 ** process will be put in a temporary file. If there is some error, you 2710 ** will be informed as to where to find the output. 2711 */ 2712 { "shell", DT_PATH, R_NONE, UL &Shell, 0 }, 2713 /* 2714 ** .pp 2715 ** Command to use when spawning a subshell. By default, the user's login 2716 ** shell from \fC/etc/passwd\fP is used. 2717 */ 2718#ifdef USE_SIDEBAR 2719 { "sidebar_delim_chars", DT_STR, R_SIDEBAR, UL &SidebarDelimChars, UL "/." }, 2720 /* 2721 ** .pp 2722 ** This contains the list of characters which you would like to treat 2723 ** as folder separators for displaying paths in the sidebar. 2724 ** .pp 2725 ** Local mail is often arranged in directories: `dir1/dir2/mailbox'. 2726 ** .ts 2727 ** set sidebar_delim_chars='/' 2728 ** .te 2729 ** .pp 2730 ** IMAP mailboxes are often named: `folder1.folder2.mailbox'. 2731 ** .ts 2732 ** set sidebar_delim_chars='.' 2733 ** .te 2734 ** .pp 2735 ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_indent_string. 2736 */ 2737 { "sidebar_divider_char", DT_STR, R_SIDEBAR, UL &SidebarDividerChar, UL "|" }, 2738 /* 2739 ** .pp 2740 ** This specifies the characters to be drawn between the sidebar (when 2741 ** visible) and the other Mutt panels. ASCII and Unicode line-drawing 2742 ** characters are supported. 2743 */ 2744 { "sidebar_folder_indent", DT_BOOL, R_SIDEBAR, OPTSIDEBARFOLDERINDENT, 0 }, 2745 /* 2746 ** .pp 2747 ** Set this to indent mailboxes in the sidebar. 2748 ** .pp 2749 ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_indent_string, $$sidebar_delim_chars. 2750 */ 2751 { "sidebar_format", DT_STR, R_SIDEBAR, UL &SidebarFormat, UL "%B%* %n" }, 2752 /* 2753 ** .pp 2754 ** This variable allows you to customize the sidebar display. This string is 2755 ** similar to $$index_format, but has its own set of \fCprintf(3)\fP-like 2756 ** sequences: 2757 ** .dl 2758 ** .dt %B .dd Name of the mailbox 2759 ** .dt %S .dd * Size of mailbox (total number of messages) 2760 ** .dt %N .dd * Number of New messages in the mailbox 2761 ** .dt %n .dd N if mailbox has new mail, blank otherwise 2762 ** .dt %F .dd * Number of Flagged messages in the mailbox 2763 ** .dt %! .dd ``!'' : one flagged message; 2764 ** ``!!'' : two flagged messages; 2765 ** ``n!'' : n flagged messages (for n > 2). 2766 ** Otherwise prints nothing. 2767 ** .dt %d .dd * @ Number of deleted messages 2768 ** .dt %L .dd * @ Number of messages after limiting 2769 ** .dt %t .dd * @ Number of tagged messages 2770 ** .dt %>X .dd right justify the rest of the string and pad with ``X'' 2771 ** .dt %|X .dd pad to the end of the line with ``X'' 2772 ** .dt %*X .dd soft-fill with character ``X'' as pad 2773 ** .de 2774 ** .pp 2775 ** * = Can be optionally printed if nonzero 2776 ** @ = Only applicable to the current folder 2777 ** .pp 2778 ** In order to use %S, %N, %F, and %!, $$mail_check_stats must 2779 ** be \fIset\fP. When thus set, a suggested value for this option is 2780 ** "%B%?F? [%F]?%* %?N?%N/?%S". 2781 */ 2782 { "sidebar_indent_string", DT_STR, R_SIDEBAR, UL &SidebarIndentString, UL " " }, 2783 /* 2784 ** .pp 2785 ** This specifies the string that is used to indent mailboxes in the sidebar. 2786 ** It defaults to two spaces. 2787 ** .pp 2788 ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_delim_chars. 2789 */ 2790 { "sidebar_new_mail_only", DT_BOOL, R_SIDEBAR, OPTSIDEBARNEWMAILONLY, 0 }, 2791 /* 2792 ** .pp 2793 ** When set, the sidebar will only display mailboxes containing new, or 2794 ** flagged, mail. 2795 ** .pp 2796 ** \fBSee also:\fP $sidebar_whitelist. 2797 */ 2798 { "sidebar_next_new_wrap", DT_BOOL, R_NONE, UL OPTSIDEBARNEXTNEWWRAP, 0 }, 2799 /* 2800 ** .pp 2801 ** When set, the \fC<sidebar-next-new>\fP command will not stop and the end of 2802 ** the list of mailboxes, but wrap around to the beginning. The 2803 ** \fC<sidebar-prev-new>\fP command is similarly affected, wrapping around to 2804 ** the end of the list. 2805 */ 2806 { "sidebar_short_path", DT_BOOL, R_SIDEBAR, OPTSIDEBARSHORTPATH, 0 }, 2807 /* 2808 ** .pp 2809 ** By default the sidebar will show the mailbox's path, relative to the 2810 ** $$folder variable. Setting \fCsidebar_shortpath=yes\fP will shorten the 2811 ** names relative to the previous name. Here's an example: 2812 ** .dl 2813 ** .dt \fBshortpath=no\fP .dd \fBshortpath=yes\fP .dd \fBshortpath=yes, folderindent=yes, indentstr=".."\fP 2814 ** .dt \fCfruit\fP .dd \fCfruit\fP .dd \fCfruit\fP 2815 ** .dt \fCfruit.apple\fP .dd \fCapple\fP .dd \fC..apple\fP 2816 ** .dt \fCfruit.banana\fP .dd \fCbanana\fP .dd \fC..banana\fP 2817 ** .dt \fCfruit.cherry\fP .dd \fCcherry\fP .dd \fC..cherry\fP 2818 ** .de 2819 ** .pp 2820 ** \fBSee also:\fP $$sidebar_delim_chars, $$sidebar_folder_indent, $$sidebar_indent_string. 2821 */ 2822 { "sidebar_sort_method", DT_SORT|DT_SORT_SIDEBAR, R_SIDEBAR, UL &SidebarSortMethod, SORT_ORDER }, 2823 /* 2824 ** .pp 2825 ** Specifies how to sort entries in the file browser. By default, the 2826 ** entries are sorted alphabetically. Valid values: 2827 ** .il 2828 ** .dd alpha (alphabetically) 2829 ** .dd count (all message count) 2830 ** .dd flagged (flagged message count) 2831 ** .dd new (new message count) 2832 ** .dd unsorted 2833 ** .ie 2834 ** .pp 2835 ** You may optionally use the ``reverse-'' prefix to specify reverse sorting 2836 ** order (example: ``\fCset sort_browser=reverse-date\fP''). 2837 */ 2838 { "sidebar_visible", DT_BOOL, R_BOTH|R_REFLOW, OPTSIDEBAR, 0 }, 2839 /* 2840 ** .pp 2841 ** This specifies whether or not to show sidebar. The sidebar shows a list of 2842 ** all your mailboxes. 2843 ** .pp 2844 ** \fBSee also:\fP $$sidebar_format, $$sidebar_width 2845 */ 2846 { "sidebar_width", DT_NUM, R_BOTH|R_REFLOW, UL &SidebarWidth, 30 }, 2847 /* 2848 ** .pp 2849 ** This controls the width of the sidebar. It is measured in screen columns. 2850 ** For example: sidebar_width=20 could display 20 ASCII characters, or 10 2851 ** Chinese characters. 2852 */ 2853#endif 2854 { "sig_dashes", DT_BOOL, R_NONE, OPTSIGDASHES, 1 }, 2855 /* 2856 ** .pp 2857 ** If \fIset\fP, a line containing ``-- '' (note the trailing space) will be inserted before your 2858 ** $$signature. It is \fBstrongly\fP recommended that you not \fIunset\fP 2859 ** this variable unless your signature contains just your name. The 2860 ** reason for this is because many software packages use ``-- \n'' to 2861 ** detect your signature. For example, Mutt has the ability to highlight 2862 ** the signature in a different color in the built-in pager. 2863 */ 2864 { "sig_on_top", DT_BOOL, R_NONE, OPTSIGONTOP, 0}, 2865 /* 2866 ** .pp 2867 ** If \fIset\fP, the signature will be included before any quoted or forwarded 2868 ** text. It is \fBstrongly\fP recommended that you do not set this variable 2869 ** unless you really know what you are doing, and are prepared to take 2870 ** some heat from netiquette guardians. 2871 */ 2872 { "signature", DT_PATH, R_NONE, UL &Signature, UL "~/.signature" }, 2873 /* 2874 ** .pp 2875 ** Specifies the filename of your signature, which is appended to all 2876 ** outgoing messages. If the filename ends with a pipe (``|''), it is 2877 ** assumed that filename is a shell command and input should be read from 2878 ** its standard output. 2879 */ 2880 { "simple_search", DT_STR, R_NONE, UL &SimpleSearch, UL "~f %s | ~s %s" }, 2881 /* 2882 ** .pp 2883 ** Specifies how Mutt should expand a simple search into a real search 2884 ** pattern. A simple search is one that does not contain any of the ``~'' pattern 2885 ** operators. See ``$patterns'' for more information on search patterns. 2886 ** .pp 2887 ** For example, if you simply type ``joe'' at a search or limit prompt, Mutt 2888 ** will automatically expand it to the value specified by this variable by 2889 ** replacing ``%s'' with the supplied string. 2890 ** For the default value, ``joe'' would be expanded to: ``~f joe | ~s joe''. 2891 */ 2892 { "sleep_time", DT_NUM, R_NONE, UL &SleepTime, 1 }, 2893 /* 2894 ** .pp 2895 ** Specifies time, in seconds, to pause while displaying certain informational 2896 ** messages, while moving from folder to folder and after expunging 2897 ** messages from the current folder. The default is to pause one second, so 2898 ** a value of zero for this option suppresses the pause. 2899 */ 2900 { "smart_wrap", DT_BOOL, R_PAGER, OPTWRAP, 1 }, 2901 /* 2902 ** .pp 2903 ** Controls the display of lines longer than the screen width in the 2904 ** internal pager. If \fIset\fP, long lines are wrapped at a word boundary. If 2905 ** \fIunset\fP, lines are simply wrapped at the screen edge. Also see the 2906 ** $$markers variable. 2907 */ 2908 { "smileys", DT_RX, R_PAGER, UL &Smileys, UL "(>From )|(:[-^]?[][)(><}{|/DP])" }, 2909 /* 2910 ** .pp 2911 ** The \fIpager\fP uses this variable to catch some common false 2912 ** positives of $$quote_regexp, most notably smileys and not consider 2913 ** a line quoted text if it also matches $$smileys. This mostly 2914 ** happens at the beginning of a line. 2915 */ 2916 2917 2918 2919 { "smime_ask_cert_label", DT_BOOL, R_NONE, OPTASKCERTLABEL, 1 }, 2920 /* 2921 ** .pp 2922 ** This flag controls whether you want to be asked to enter a label 2923 ** for a certificate about to be added to the database or not. It is 2924 ** \fIset\fP by default. 2925 ** (S/MIME only) 2926 */ 2927 { "smime_ca_location", DT_PATH, R_NONE, UL &SmimeCALocation, 0 }, 2928 /* 2929 ** .pp 2930 ** This variable contains the name of either a directory, or a file which 2931 ** contains trusted certificates for use with OpenSSL. 2932 ** (S/MIME only) 2933 */ 2934 { "smime_certificates", DT_PATH, R_NONE, UL &SmimeCertificates, 0 }, 2935 /* 2936 ** .pp 2937 ** Since for S/MIME there is no pubring/secring as with PGP, mutt has to handle 2938 ** storage and retrieval of keys by itself. This is very basic right 2939 ** now, and keys and certificates are stored in two different 2940 ** directories, both named as the hash-value retrieved from 2941 ** OpenSSL. There is an index file which contains mailbox-address 2942 ** keyid pairs, and which can be manually edited. This option points to 2943 ** the location of the certificates. 2944 ** (S/MIME only) 2945 */ 2946 { "smime_decrypt_command", DT_STR, R_NONE, UL &SmimeDecryptCommand, 0}, 2947 /* 2948 ** .pp 2949 ** This format string specifies a command which is used to decrypt 2950 ** \fCapplication/x-pkcs7-mime\fP attachments. 2951 ** .pp 2952 ** The OpenSSL command formats have their own set of \fCprintf(3)\fP-like sequences 2953 ** similar to PGP's: 2954 ** .dl 2955 ** .dt %f .dd Expands to the name of a file containing a message. 2956 ** .dt %s .dd Expands to the name of a file containing the signature part 2957 ** . of a \fCmultipart/signed\fP attachment when verifying it. 2958 ** .dt %k .dd The key-pair specified with $$smime_default_key 2959 ** .dt %c .dd One or more certificate IDs. 2960 ** .dt %a .dd The algorithm used for encryption. 2961 ** .dt %d .dd The message digest algorithm specified with $$smime_sign_digest_alg. 2962 ** .dt %C .dd CA location: Depending on whether $$smime_ca_location 2963 ** . points to a directory or file, this expands to 2964 ** . ``-CApath $$smime_ca_location'' or ``-CAfile $$smime_ca_location''. 2965 ** .de 2966 ** .pp 2967 ** For examples on how to configure these formats, see the \fCsmime.rc\fP in 2968 ** the \fCsamples/\fP subdirectory which has been installed on your system 2969 ** alongside the documentation. 2970 ** (S/MIME only) 2971 */ 2972 { "smime_decrypt_use_default_key", DT_BOOL, R_NONE, OPTSDEFAULTDECRYPTKEY, 1 }, 2973 /* 2974 ** .pp 2975 ** If \fIset\fP (default) this tells mutt to use the default key for decryption. Otherwise, 2976 ** if managing multiple certificate-key-pairs, mutt will try to use the mailbox-address 2977 ** to determine the key to use. It will ask you to supply a key, if it can't find one. 2978 ** (S/MIME only) 2979 */ 2980 { "smime_sign_as", DT_SYN, R_NONE, UL "smime_default_key", 0 }, 2981 { "smime_default_key", DT_STR, R_NONE, UL &SmimeDefaultKey, 0 }, 2982 /* 2983 ** .pp 2984 ** This is the default key-pair to use for signing. This must be set to the 2985 ** keyid (the hash-value that OpenSSL generates) to work properly 2986 ** (S/MIME only) 2987 */ 2988 { "smime_encrypt_command", DT_STR, R_NONE, UL &SmimeEncryptCommand, 0}, 2989 /* 2990 ** .pp 2991 ** This command is used to create encrypted S/MIME messages. 2992 ** .pp 2993 ** This is a format string, see the $$smime_decrypt_command command for 2994 ** possible \fCprintf(3)\fP-like sequences. 2995 ** (S/MIME only) 2996 */ 2997 { "smime_encrypt_with", DT_STR, R_NONE, UL &SmimeCryptAlg, UL "aes256" }, 2998 /* 2999 ** .pp 3000 ** This sets the algorithm that should be used for encryption. 3001 ** Valid choices are ``aes128'', ``aes192'', ``aes256'', ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``rc2-128''. 3002 ** (S/MIME only) 3003 */ 3004 { "smime_get_cert_command", DT_STR, R_NONE, UL &SmimeGetCertCommand, 0}, 3005 /* 3006 ** .pp 3007 ** This command is used to extract X509 certificates from a PKCS7 structure. 3008 ** .pp 3009 ** This is a format string, see the $$smime_decrypt_command command for 3010 ** possible \fCprintf(3)\fP-like sequences. 3011 ** (S/MIME only) 3012 */ 3013 { "smime_get_cert_email_command", DT_STR, R_NONE, UL &SmimeGetCertEmailCommand, 0}, 3014 /* 3015 ** .pp 3016 ** This command is used to extract the mail address(es) used for storing 3017 ** X509 certificates, and for verification purposes (to check whether the 3018 ** certificate was issued for the sender's mailbox). 3019 ** .pp 3020 ** This is a format string, see the $$smime_decrypt_command command for 3021 ** possible \fCprintf(3)\fP-like sequences. 3022 ** (S/MIME only) 3023 */ 3024 { "smime_get_signer_cert_command", DT_STR, R_NONE, UL &SmimeGetSignerCertCommand, 0}, 3025 /* 3026 ** .pp 3027 ** This command is used to extract only the signers X509 certificate from a S/MIME 3028 ** signature, so that the certificate's owner may get compared to the 3029 ** email's ``From:'' field. 3030 ** .pp 3031 ** This is a format string, see the $$smime_decrypt_command command for 3032 ** possible \fCprintf(3)\fP-like sequences. 3033 ** (S/MIME only) 3034 */ 3035 { "smime_import_cert_command", DT_STR, R_NONE, UL &SmimeImportCertCommand, 0}, 3036 /* 3037 ** .pp 3038 ** This command is used to import a certificate via smime_keys. 3039 ** .pp 3040 ** This is a format string, see the $$smime_decrypt_command command for 3041 ** possible \fCprintf(3)\fP-like sequences. 3042 ** (S/MIME only) 3043 */ 3044 { "smime_is_default", DT_BOOL, R_NONE, OPTSMIMEISDEFAULT, 0}, 3045 /* 3046 ** .pp 3047 ** The default behavior of mutt is to use PGP on all auto-sign/encryption 3048 ** operations. To override and to use OpenSSL instead this must be \fIset\fP. 3049 ** However, this has no effect while replying, since mutt will automatically 3050 ** select the same application that was used to sign/encrypt the original 3051 ** message. (Note that this variable can be overridden by unsetting $$crypt_autosmime.) 3052 ** (S/MIME only) 3053 */ 3054 { "smime_keys", DT_PATH, R_NONE, UL &SmimeKeys, 0 }, 3055 /* 3056 ** .pp 3057 ** Since for S/MIME there is no pubring/secring as with PGP, mutt has to handle 3058 ** storage and retrieval of keys/certs by itself. This is very basic right now, 3059 ** and stores keys and certificates in two different directories, both 3060 ** named as the hash-value retrieved from OpenSSL. There is an index file 3061 ** which contains mailbox-address keyid pair, and which can be manually 3062 ** edited. This option points to the location of the private keys. 3063 ** (S/MIME only) 3064 */ 3065 { "smime_pk7out_command", DT_STR, R_NONE, UL &SmimePk7outCommand, 0}, 3066 /* 3067 ** .pp 3068 ** This command is used to extract PKCS7 structures of S/MIME signatures, 3069 ** in order to extract the public X509 certificate(s). 3070 ** .pp 3071 ** This is a format string, see the $$smime_decrypt_command command for 3072 ** possible \fCprintf(3)\fP-like sequences. 3073 ** (S/MIME only) 3074 */ 3075 { "smime_sign_command", DT_STR, R_NONE, UL &SmimeSignCommand, 0}, 3076 /* 3077 ** .pp 3078 ** This command is used to created S/MIME signatures of type 3079 ** \fCmultipart/signed\fP, which can be read by all mail clients. 3080 ** .pp 3081 ** This is a format string, see the $$smime_decrypt_command command for 3082 ** possible \fCprintf(3)\fP-like sequences. 3083 ** (S/MIME only) 3084 */ 3085 { "smime_sign_digest_alg", DT_STR, R_NONE, UL &SmimeDigestAlg, UL "sha256" }, 3086 /* 3087 ** .pp 3088 ** This sets the algorithm that should be used for the signature message digest. 3089 ** Valid choices are ``md5'', ``sha1'', ``sha224'', ``sha256'', ``sha384'', ``sha512''. 3090 ** (S/MIME only) 3091 */ 3092 { "smime_sign_opaque_command", DT_STR, R_NONE, UL &SmimeSignOpaqueCommand, 0}, 3093 /* 3094 ** .pp 3095 ** This command is used to created S/MIME signatures of type 3096 ** \fCapplication/x-pkcs7-signature\fP, which can only be handled by mail 3097 ** clients supporting the S/MIME extension. 3098 ** .pp 3099 ** This is a format string, see the $$smime_decrypt_command command for 3100 ** possible \fCprintf(3)\fP-like sequences. 3101 ** (S/MIME only) 3102 */ 3103 { "smime_timeout", DT_NUM, R_NONE, UL &SmimeTimeout, 300 }, 3104 /* 3105 ** .pp 3106 ** The number of seconds after which a cached passphrase will expire if 3107 ** not used. 3108 ** (S/MIME only) 3109 */ 3110 { "smime_verify_command", DT_STR, R_NONE, UL &SmimeVerifyCommand, 0}, 3111 /* 3112 ** .pp 3113 ** This command is used to verify S/MIME signatures of type \fCmultipart/signed\fP. 3114 ** .pp 3115 ** This is a format string, see the $$smime_decrypt_command command for 3116 ** possible \fCprintf(3)\fP-like sequences. 3117 ** (S/MIME only) 3118 */ 3119 { "smime_verify_opaque_command", DT_STR, R_NONE, UL &SmimeVerifyOpaqueCommand, 0}, 3120 /* 3121 ** .pp 3122 ** This command is used to verify S/MIME signatures of type 3123 ** \fCapplication/x-pkcs7-mime\fP. 3124 ** .pp 3125 ** This is a format string, see the $$smime_decrypt_command command for 3126 ** possible \fCprintf(3)\fP-like sequences. 3127 ** (S/MIME only) 3128 */ 3129#ifdef USE_SMTP 3130# ifdef USE_SASL 3131 { "smtp_authenticators", DT_STR, R_NONE, UL &SmtpAuthenticators, UL 0 }, 3132 /* 3133 ** .pp 3134 ** This is a colon-delimited list of authentication methods mutt may 3135 ** attempt to use to log in to an SMTP server, in the order mutt should 3136 ** try them. Authentication methods are any SASL mechanism, e.g. 3137 ** ``digest-md5'', ``gssapi'' or ``cram-md5''. 3138 ** This option is case-insensitive. If it is ``unset'' 3139 ** (the default) mutt will try all available methods, in order from 3140 ** most-secure to least-secure. 3141 ** .pp 3142 ** Example: 3143 ** .ts 3144 ** set smtp_authenticators="digest-md5:cram-md5" 3145 ** .te 3146 */ 3147# endif /* USE_SASL */ 3148 { "smtp_pass", DT_STR, R_NONE, UL &SmtpPass, UL 0 }, 3149 /* 3150 ** .pp 3151 ** Specifies the password for your SMTP account. If \fIunset\fP, Mutt will 3152 ** prompt you for your password when you first send mail via SMTP. 3153 ** See $$smtp_url to configure mutt to send mail via SMTP. 3154 ** .pp 3155 ** \fBWarning\fP: you should only use this option when you are on a 3156 ** fairly secure machine, because the superuser can read your muttrc even 3157 ** if you are the only one who can read the file. 3158 */ 3159 { "smtp_url", DT_STR, R_NONE, UL &SmtpUrl, UL 0 }, 3160 /* 3161 ** .pp 3162 ** Defines the SMTP smarthost where sent messages should relayed for 3163 ** delivery. This should take the form of an SMTP URL, e.g.: 3164 ** .ts 3165 ** smtp[s]://[user[:pass]@]host[:port] 3166 ** .te 3167 ** .pp 3168 ** where ``[...]'' denotes an optional part. 3169 ** Setting this variable overrides the value of the $$sendmail 3170 ** variable. 3171 */ 3172#endif /* USE_SMTP */ 3173 { "sort", DT_SORT, R_INDEX|R_RESORT, UL &Sort, SORT_DATE }, 3174 /* 3175 ** .pp 3176 ** Specifies how to sort messages in the ``index'' menu. Valid values 3177 ** are: 3178 ** .il 3179 ** .dd date or date-sent 3180 ** .dd date-received 3181 ** .dd from 3182 ** .dd mailbox-order (unsorted) 3183 ** .dd score 3184 ** .dd size 3185 ** .dd spam 3186 ** .dd subject 3187 ** .dd threads 3188 ** .dd to 3189 ** .ie 3190 ** .pp 3191 ** You may optionally use the ``reverse-'' prefix to specify reverse sorting 3192 ** order (example: ``\fCset sort=reverse-date-sent\fP''). 3193 */ 3194 { "sort_alias", DT_SORT|DT_SORT_ALIAS, R_NONE, UL &SortAlias, SORT_ALIAS }, 3195 /* 3196 ** .pp 3197 ** Specifies how the entries in the ``alias'' menu are sorted. The 3198 ** following are legal values: 3199 ** .il 3200 ** .dd address (sort alphabetically by email address) 3201 ** .dd alias (sort alphabetically by alias name) 3202 ** .dd unsorted (leave in order specified in .muttrc) 3203 ** .ie 3204 */ 3205 { "sort_aux", DT_SORT|DT_SORT_AUX, R_INDEX|R_RESORT_BOTH, UL &SortAux, SORT_DATE }, 3206 /* 3207 ** .pp 3208 ** When sorting by threads, this variable controls how threads are sorted 3209 ** in relation to other threads, and how the branches of the thread trees 3210 ** are sorted. This can be set to any value that $$sort can, except 3211 ** ``threads'' (in that case, mutt will just use ``date-sent''). You can also 3212 ** specify the ``last-'' prefix in addition to the ``reverse-'' prefix, but ``last-'' 3213 ** must come after ``reverse-''. The ``last-'' prefix causes messages to be 3214 ** sorted against its siblings by which has the last descendant, using 3215 ** the rest of $$sort_aux as an ordering. For instance, 3216 ** .ts 3217 ** set sort_aux=last-date-received 3218 ** .te 3219 ** .pp 3220 ** would mean that if a new message is received in a 3221 ** thread, that thread becomes the last one displayed (or the first, if 3222 ** you have ``\fCset sort=reverse-threads\fP''.) 3223 ** .pp 3224 ** Note: For reversed $$sort 3225 ** order $$sort_aux is reversed again (which is not the right thing to do, 3226 ** but kept to not break any existing configuration setting). 3227 */ 3228 { "sort_browser", DT_SORT|DT_SORT_BROWSER, R_NONE, UL &BrowserSort, SORT_ALPHA }, 3229 /* 3230 ** .pp 3231 ** Specifies how to sort entries in the file browser. By default, the 3232 ** entries are sorted alphabetically. Valid values: 3233 ** .il 3234 ** .dd alpha (alphabetically) 3235 ** .dd date 3236 ** .dd size 3237 ** .dd unsorted 3238 ** .ie 3239 ** .pp 3240 ** You may optionally use the ``reverse-'' prefix to specify reverse sorting 3241 ** order (example: ``\fCset sort_browser=reverse-date\fP''). 3242 */ 3243 { "sort_re", DT_BOOL, R_INDEX|R_RESORT|R_RESORT_INIT, OPTSORTRE, 1 }, 3244 /* 3245 ** .pp 3246 ** This variable is only useful when sorting by threads with 3247 ** $$strict_threads \fIunset\fP. In that case, it changes the heuristic 3248 ** mutt uses to thread messages by subject. With $$sort_re \fIset\fP, mutt will 3249 ** only attach a message as the child of another message by subject if 3250 ** the subject of the child message starts with a substring matching the 3251 ** setting of $$reply_regexp. With $$sort_re \fIunset\fP, mutt will attach 3252 ** the message whether or not this is the case, as long as the 3253 ** non-$$reply_regexp parts of both messages are identical. 3254 */ 3255 { "spam_separator", DT_STR, R_NONE, UL &SpamSep, UL "," }, 3256 /* 3257 ** .pp 3258 ** This variable controls what happens when multiple spam headers 3259 ** are matched: if \fIunset\fP, each successive header will overwrite any 3260 ** previous matches value for the spam label. If \fIset\fP, each successive 3261 ** match will append to the previous, using this variable's value as a 3262 ** separator. 3263 */ 3264 { "spoolfile", DT_PATH, R_NONE, UL &Spoolfile, 0 }, 3265 /* 3266 ** .pp 3267 ** If your spool mailbox is in a non-default place where Mutt cannot find 3268 ** it, you can specify its location with this variable. Mutt will 3269 ** initially set this variable to the value of the environment 3270 ** variable \fC$$$MAIL\fP or \fC$$$MAILDIR\fP if either is defined. 3271 */ 3272#if defined(USE_SSL) 3273#ifdef USE_SSL_GNUTLS 3274 { "ssl_ca_certificates_file", DT_PATH, R_NONE, UL &SslCACertFile, 0 }, 3275 /* 3276 ** .pp 3277 ** This variable specifies a file containing trusted CA certificates. 3278 ** Any server certificate that is signed with one of these CA 3279 ** certificates is also automatically accepted. 3280 ** .pp 3281 ** Example: 3282 ** .ts 3283 ** set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt 3284 ** .te 3285 */ 3286#endif /* USE_SSL_GNUTLS */ 3287 { "ssl_client_cert", DT_PATH, R_NONE, UL &SslClientCert, 0 }, 3288 /* 3289 ** .pp 3290 ** The file containing a client certificate and its associated private 3291 ** key. 3292 */ 3293 { "ssl_force_tls", DT_BOOL, R_NONE, OPTSSLFORCETLS, 0 }, 3294 /* 3295 ** .pp 3296 ** If this variable is \fIset\fP, Mutt will require that all connections 3297 ** to remote servers be encrypted. Furthermore it will attempt to 3298 ** negotiate TLS even if the server does not advertise the capability, 3299 ** since it would otherwise have to abort the connection anyway. This 3300 ** option supersedes $$ssl_starttls. 3301 */ 3302# ifdef USE_SSL_GNUTLS 3303 { "ssl_min_dh_prime_bits", DT_NUM, R_NONE, UL &SslDHPrimeBits, 0 }, 3304 /* 3305 ** .pp 3306 ** This variable specifies the minimum acceptable prime size (in bits) 3307 ** for use in any Diffie-Hellman key exchange. A value of 0 will use 3308 ** the default from the GNUTLS library. 3309 */ 3310# endif /* USE_SSL_GNUTLS */ 3311 { "ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, MUTT_YES }, 3312 /* 3313 ** .pp 3314 ** If \fIset\fP (the default), mutt will attempt to use \fCSTARTTLS\fP on servers 3315 ** advertising the capability. When \fIunset\fP, mutt will not attempt to 3316 ** use \fCSTARTTLS\fP regardless of the server's capabilities. 3317 */ 3318# ifdef USE_SSL_OPENSSL 3319 { "ssl_use_sslv2", DT_BOOL, R_NONE, OPTSSLV2, 0 }, 3320 /* 3321 ** .pp 3322 ** This variable specifies whether to attempt to use SSLv2 in the 3323 ** SSL authentication process. Note that SSLv2 and SSLv3 are now 3324 ** considered fundamentally insecure and are no longer recommended. 3325 */ 3326# endif /* defined USE_SSL_OPENSSL */ 3327 { "ssl_use_sslv3", DT_BOOL, R_NONE, OPTSSLV3, 0 }, 3328 /* 3329 ** .pp 3330 ** This variable specifies whether to attempt to use SSLv3 in the 3331 ** SSL authentication process. Note that SSLv2 and SSLv3 are now 3332 ** considered fundamentally insecure and are no longer recommended. 3333 */ 3334 { "ssl_use_tlsv1", DT_BOOL, R_NONE, OPTTLSV1, 1 }, 3335 /* 3336 ** .pp 3337 ** This variable specifies whether to attempt to use TLSv1.0 in the 3338 ** SSL authentication process. 3339 */ 3340 { "ssl_use_tlsv1_1", DT_BOOL, R_NONE, OPTTLSV1_1, 1 }, 3341 /* 3342 ** .pp 3343 ** This variable specifies whether to attempt to use TLSv1.1 in the 3344 ** SSL authentication process. 3345 */ 3346 { "ssl_use_tlsv1_2", DT_BOOL, R_NONE, OPTTLSV1_2, 1 }, 3347 /* 3348 ** .pp 3349 ** This variable specifies whether to attempt to use TLSv1.2 in the 3350 ** SSL authentication process. 3351 */ 3352#ifdef USE_SSL_OPENSSL 3353 { "ssl_usesystemcerts", DT_BOOL, R_NONE, OPTSSLSYSTEMCERTS, 1 }, 3354 /* 3355 ** .pp 3356 ** If set to \fIyes\fP, mutt will use CA certificates in the 3357 ** system-wide certificate store when checking if a server certificate 3358 ** is signed by a trusted CA. 3359 */ 3360#endif 3361 { "ssl_verify_dates", DT_BOOL, R_NONE, OPTSSLVERIFYDATES, 1 }, 3362 /* 3363 ** .pp 3364 ** If \fIset\fP (the default), mutt will not automatically accept a server 3365 ** certificate that is either not yet valid or already expired. You should 3366 ** only unset this for particular known hosts, using the 3367 ** \fC$<account-hook>\fP function. 3368 */ 3369 { "ssl_verify_host", DT_BOOL, R_NONE, OPTSSLVERIFYHOST, 1 }, 3370 /* 3371 ** .pp 3372 ** If \fIset\fP (the default), mutt will not automatically accept a server 3373 ** certificate whose host name does not match the host used in your folder 3374 ** URL. You should only unset this for particular known hosts, using 3375 ** the \fC$<account-hook>\fP function. 3376 */ 3377 { "ssl_ciphers", DT_STR, R_NONE, UL &SslCiphers, UL 0 }, 3378 /* 3379 ** .pp 3380 ** Contains a colon-seperated list of ciphers to use when using SSL. 3381 ** For OpenSSL, see ciphers(1) for the syntax of the string. 3382 ** .pp 3383 ** For GnuTLS, this option will be used in place of "NORMAL" at the 3384 ** start of the priority string. See gnutls_priority_init(3) for the 3385 ** syntax and more details. (Note: GnuTLS version 2.1.7 or higher is 3386 ** required.) 3387 */ 3388#endif /* defined(USE_SSL) */ 3389 { "status_chars", DT_MBCHARTBL, R_BOTH, UL &StChars, UL "-*%A" }, 3390 /* 3391 ** .pp 3392 ** Controls the characters used by the ``%r'' indicator in 3393 ** $$status_format. The first character is used when the mailbox is 3394 ** unchanged. The second is used when the mailbox has been changed, and 3395 ** it needs to be resynchronized. The third is used if the mailbox is in 3396 ** read-only mode, or if the mailbox will not be written when exiting 3397 ** that mailbox (You can toggle whether to write changes to a mailbox 3398 ** with the \fC<toggle-write>\fP operation, bound by default to ``%''). The fourth 3399 ** is used to indicate that the current folder has been opened in attach- 3400 ** message mode (Certain operations like composing a new mail, replying, 3401 ** forwarding, etc. are not permitted in this mode). 3402 */ 3403 { "status_format", DT_STR, R_BOTH, UL &Status, UL "-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---" }, 3404 /* 3405 ** .pp 3406 ** Controls the format of the status line displayed in the ``index'' 3407 ** menu. This string is similar to $$index_format, but has its own 3408 ** set of \fCprintf(3)\fP-like sequences: 3409 ** .dl 3410 ** .dt %b .dd number of mailboxes with new mail * 3411 ** .dt %d .dd number of deleted messages * 3412 ** .dt %f .dd the full pathname of the current mailbox 3413 ** .dt %F .dd number of flagged messages * 3414 ** .dt %h .dd local hostname 3415 ** .dt %l .dd size (in bytes) of the current mailbox * 3416 ** .dt %L .dd size (in bytes) of the messages shown 3417 ** (i.e., which match the current limit) * 3418 ** .dt %m .dd the number of messages in the mailbox * 3419 ** .dt %M .dd the number of messages shown (i.e., which match the current limit) * 3420 ** .dt %n .dd number of new messages in the mailbox * 3421 ** .dt %o .dd number of old unread messages * 3422 ** .dt %p .dd number of postponed messages * 3423 ** .dt %P .dd percentage of the way through the index 3424 ** .dt %r .dd modified/read-only/won't-write/attach-message indicator, 3425 ** according to $$status_chars 3426 ** .dt %s .dd current sorting mode ($$sort) 3427 ** .dt %S .dd current aux sorting method ($$sort_aux) 3428 ** .dt %t .dd number of tagged messages * 3429 ** .dt %u .dd number of unread messages * 3430 ** .dt %v .dd Mutt version string 3431 ** .dt %V .dd currently active limit pattern, if any * 3432 ** .dt %>X .dd right justify the rest of the string and pad with ``X'' 3433 ** .dt %|X .dd pad to the end of the line with ``X'' 3434 ** .dt %*X .dd soft-fill with character ``X'' as pad 3435 ** .de 3436 ** .pp 3437 ** For an explanation of ``soft-fill'', see the $$index_format documentation. 3438 ** .pp 3439 ** * = can be optionally printed if nonzero 3440 ** .pp 3441 ** Some of the above sequences can be used to optionally print a string 3442 ** if their value is nonzero. For example, you may only want to see the 3443 ** number of flagged messages if such messages exist, since zero is not 3444 ** particularly meaningful. To optionally print a string based upon one 3445 ** of the above sequences, the following construct is used: 3446 ** .pp 3447 ** \fC%?<sequence_char>?<optional_string>?\fP 3448 ** .pp 3449 ** where \fIsequence_char\fP is a character from the table above, and 3450 ** \fIoptional_string\fP is the string you would like printed if 3451 ** \fIsequence_char\fP is nonzero. \fIoptional_string\fP \fBmay\fP contain 3452 ** other sequences as well as normal text, but you may \fBnot\fP nest 3453 ** optional strings. 3454 ** .pp 3455 ** Here is an example illustrating how to optionally print the number of 3456 ** new messages in a mailbox: 3457 ** .pp 3458 ** \fC%?n?%n new messages.?\fP 3459 ** .pp 3460 ** You can also switch between two strings using the following construct: 3461 ** .pp 3462 ** \fC%?<sequence_char>?<if_string>&<else_string>?\fP 3463 ** .pp 3464 ** If the value of \fIsequence_char\fP is non-zero, \fIif_string\fP will 3465 ** be expanded, otherwise \fIelse_string\fP will be expanded. 3466 ** .pp 3467 ** You can force the result of any \fCprintf(3)\fP-like sequence to be lowercase 3468 ** by prefixing the sequence character with an underscore (``_'') sign. 3469 ** For example, if you want to display the local hostname in lowercase, 3470 ** you would use: ``\fC%_h\fP''. 3471 ** .pp 3472 ** If you prefix the sequence character with a colon (``:'') character, mutt 3473 ** will replace any dots in the expansion by underscores. This might be helpful 3474 ** with IMAP folders that don't like dots in folder names. 3475 */ 3476 { "status_on_top", DT_BOOL, R_BOTH|R_REFLOW, OPTSTATUSONTOP, 0 }, 3477 /* 3478 ** .pp 3479 ** Setting this variable causes the ``status bar'' to be displayed on 3480 ** the first line of the screen rather than near the bottom. If $$help 3481 ** is \fIset\fP, too it'll be placed at the bottom. 3482 */ 3483 { "strict_threads", DT_BOOL, R_RESORT|R_RESORT_INIT|R_INDEX, OPTSTRICTTHREADS, 0 }, 3484 /* 3485 ** .pp 3486 ** If \fIset\fP, threading will only make use of the ``In-Reply-To'' and 3487 ** ``References:'' fields when you $$sort by message threads. By 3488 ** default, messages with the same subject are grouped together in 3489 ** ``pseudo threads.''. This may not always be desirable, such as in a 3490 ** personal mailbox where you might have several unrelated messages with 3491 ** the subjects like ``hi'' which will get grouped together. See also 3492 ** $$sort_re for a less drastic way of controlling this 3493 ** behavior. 3494 */ 3495 { "suspend", DT_BOOL, R_NONE, OPTSUSPEND, 1 }, 3496 /* 3497 ** .pp 3498 ** When \fIunset\fP, mutt won't stop when the user presses the terminal's 3499 ** \fIsusp\fP key, usually ``^Z''. This is useful if you run mutt 3500 ** inside an xterm using a command like ``\fCxterm -e mutt\fP''. 3501 */ 3502 { "text_flowed", DT_BOOL, R_NONE, OPTTEXTFLOWED, 0 }, 3503 /* 3504 ** .pp 3505 ** When \fIset\fP, mutt will generate ``format=flowed'' bodies with a content type 3506 ** of ``\fCtext/plain; format=flowed\fP''. 3507 ** This format is easier to handle for some mailing software, and generally 3508 ** just looks like ordinary text. To actually make use of this format's 3509 ** features, you'll need support in your editor. 3510 ** .pp 3511 ** Note that $$indent_string is ignored when this option is \fIset\fP. 3512 */ 3513 { "thorough_search", DT_BOOL, R_NONE, OPTTHOROUGHSRC, 1 }, 3514 /* 3515 ** .pp 3516 ** Affects the \fC~b\fP and \fC~h\fP search operations described in 3517 ** section ``$patterns''. If \fIset\fP, the headers and body/attachments of 3518 ** messages to be searched are decoded before searching. If \fIunset\fP, 3519 ** messages are searched as they appear in the folder. 3520 ** .pp 3521 ** Users searching attachments or for non-ASCII characters should \fIset\fP 3522 ** this value because decoding also includes MIME parsing/decoding and possible 3523 ** character set conversions. Otherwise mutt will attempt to match against the 3524 ** raw message received (for example quoted-printable encoded or with encoded 3525 ** headers) which may lead to incorrect search results. 3526 */ 3527 { "thread_received", DT_BOOL, R_RESORT|R_RESORT_INIT|R_INDEX, OPTTHREADRECEIVED, 0 }, 3528 /* 3529 ** .pp 3530 ** When \fIset\fP, mutt uses the date received rather than the date sent 3531 ** to thread messages by subject. 3532 */ 3533 { "tilde", DT_BOOL, R_PAGER, OPTTILDE, 0 }, 3534 /* 3535 ** .pp 3536 ** When \fIset\fP, the internal-pager will pad blank lines to the bottom of the 3537 ** screen with a tilde (``~''). 3538 */ 3539 { "time_inc", DT_NUM, R_NONE, UL &TimeInc, 0 }, 3540 /* 3541 ** .pp 3542 ** Along with $$read_inc, $$write_inc, and $$net_inc, this 3543 ** variable controls the frequency with which progress updates are 3544 ** displayed. It suppresses updates less than $$time_inc milliseconds 3545 ** apart. This can improve throughput on systems with slow terminals, 3546 ** or when running mutt on a remote system. 3547 ** .pp 3548 ** Also see the ``$tuning'' section of the manual for performance considerations. 3549 */ 3550 { "timeout", DT_NUM, R_NONE, UL &Timeout, 600 }, 3551 /* 3552 ** .pp 3553 ** When Mutt is waiting for user input either idling in menus or 3554 ** in an interactive prompt, Mutt would block until input is 3555 ** present. Depending on the context, this would prevent certain 3556 ** operations from working, like checking for new mail or keeping 3557 ** an IMAP connection alive. 3558 ** .pp 3559 ** This variable controls how many seconds Mutt will at most wait 3560 ** until it aborts waiting for input, performs these operations and 3561 ** continues to wait for input. 3562 ** .pp 3563 ** A value of zero or less will cause Mutt to never time out. 3564 */ 3565 { "tmpdir", DT_PATH, R_NONE, UL &Tempdir, 0 }, 3566 /* 3567 ** .pp 3568 ** This variable allows you to specify where Mutt will place its 3569 ** temporary files needed for displaying and composing messages. If 3570 ** this variable is not set, the environment variable \fC$$$TMPDIR\fP is 3571 ** used. If \fC$$$TMPDIR\fP is not set then ``\fC/tmp\fP'' is used. 3572 */ 3573 { "to_chars", DT_MBCHARTBL, R_BOTH, UL &Tochars, UL " +TCFL" }, 3574 /* 3575 ** .pp 3576 ** Controls the character used to indicate mail addressed to you. The 3577 ** first character is the one used when the mail is \fInot\fP addressed to your 3578 ** address. The second is used when you are the only 3579 ** recipient of the message. The third is when your address 3580 ** appears in the ``To:'' header field, but you are not the only recipient of 3581 ** the message. The fourth character is used when your 3582 ** address is specified in the ``Cc:'' header field, but you are not the only 3583 ** recipient. The fifth character is used to indicate mail that was sent 3584 ** by \fIyou\fP. The sixth character is used to indicate when a mail 3585 ** was sent to a mailing-list you subscribe to. 3586 */ 3587 { "trash", DT_PATH, R_NONE, UL &TrashPath, 0 }, 3588 /* 3589 ** .pp 3590 ** If set, this variable specifies the path of the trash folder where the 3591 ** mails marked for deletion will be moved, instead of being irremediably 3592 ** purged. 3593 ** .pp 3594 ** NOTE: When you delete a message in the trash folder, it is really 3595 ** deleted, so that you have a way to clean the trash. 3596 */ 3597 {"ts_icon_format", DT_STR, R_BOTH, UL &TSIconFormat, UL "M%?n?AIL&ail?"}, 3598 /* 3599 ** .pp 3600 ** Controls the format of the icon title, as long as ``$$ts_enabled'' is set. 3601 ** This string is identical in formatting to the one used by 3602 ** ``$$status_format''. 3603 */ 3604 {"ts_enabled", DT_BOOL, R_BOTH, OPTTSENABLED, 0}, 3605 /* The default must be off to force in the validity checking. */ 3606 /* 3607 ** .pp 3608 ** Controls whether mutt tries to set the terminal status line and icon name. 3609 ** Most terminal emulators emulate the status line in the window title. 3610 */ 3611 {"ts_status_format", DT_STR, R_BOTH, UL &TSStatusFormat, UL "Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"}, 3612 /* 3613 ** .pp 3614 ** Controls the format of the terminal status line (or window title), 3615 ** provided that ``$$ts_enabled'' has been set. This string is identical in 3616 ** formatting to the one used by ``$$status_format''. 3617 */ 3618#ifdef USE_SOCKET 3619 { "tunnel", DT_STR, R_NONE, UL &Tunnel, UL 0 }, 3620 /* 3621 ** .pp 3622 ** Setting this variable will cause mutt to open a pipe to a command 3623 ** instead of a raw socket. You may be able to use this to set up 3624 ** preauthenticated connections to your IMAP/POP3/SMTP server. Example: 3625 ** .ts 3626 ** set tunnel="ssh -q mailhost.net /usr/local/libexec/imapd" 3627 ** .te 3628 ** .pp 3629 ** Note: For this example to work you must be able to log in to the remote 3630 ** machine without having to enter a password. 3631 ** .pp 3632 ** When set, Mutt uses the tunnel for all remote connections. 3633 ** Please see ``$account-hook'' in the manual for how to use different 3634 ** tunnel commands per connection. 3635 */ 3636#endif 3637 { "uncollapse_jump", DT_BOOL, R_NONE, OPTUNCOLLAPSEJUMP, 0 }, 3638 /* 3639 ** .pp 3640 ** When \fIset\fP, Mutt will jump to the next unread message, if any, 3641 ** when the current thread is \fIun\fPcollapsed. 3642 */ 3643 { "uncollapse_new", DT_BOOL, R_NONE, OPTUNCOLLAPSENEW, 1 }, 3644 /* 3645 ** .pp 3646 ** When \fIset\fP, Mutt will automatically uncollapse any collapsed thread 3647 ** that receives a new message. When \fIunset\fP, collapsed threads will 3648 ** remain collapsed. the presence of the new message will still affect 3649 ** index sorting, though. 3650 */ 3651 { "use_8bitmime", DT_BOOL, R_NONE, OPTUSE8BITMIME, 0 }, 3652 /* 3653 ** .pp 3654 ** \fBWarning:\fP do not set this variable unless you are using a version 3655 ** of sendmail which supports the \fC-B8BITMIME\fP flag (such as sendmail 3656 ** 8.8.x) or you may not be able to send mail. 3657 ** .pp 3658 ** When \fIset\fP, Mutt will invoke $$sendmail with the \fC-B8BITMIME\fP 3659 ** flag when sending 8-bit messages to enable ESMTP negotiation. 3660 */ 3661 { "use_domain", DT_BOOL, R_NONE, OPTUSEDOMAIN, 1 }, 3662 /* 3663 ** .pp 3664 ** When \fIset\fP, Mutt will qualify all local addresses (ones without the 3665 ** ``@host'' portion) with the value of $$hostname. If \fIunset\fP, no 3666 ** addresses will be qualified. 3667 */ 3668 { "use_envelope_from", DT_BOOL, R_NONE, OPTENVFROM, 0 }, 3669 /* 3670 ** .pp 3671 ** When \fIset\fP, mutt will set the \fIenvelope\fP sender of the message. 3672 ** If $$envelope_from_address is \fIset\fP, it will be used as the sender 3673 ** address. If \fIunset\fP, mutt will attempt to derive the sender from the 3674 ** ``From:'' header. 3675 ** .pp 3676 ** Note that this information is passed to sendmail command using the 3677 ** \fC-f\fP command line switch. Therefore setting this option is not useful 3678 ** if the $$sendmail variable already contains \fC-f\fP or if the 3679 ** executable pointed to by $$sendmail doesn't support the \fC-f\fP switch. 3680 */ 3681 { "envelope_from", DT_SYN, R_NONE, UL "use_envelope_from", 0 }, 3682 /* 3683 */ 3684 { "use_from", DT_BOOL, R_NONE, OPTUSEFROM, 1 }, 3685 /* 3686 ** .pp 3687 ** When \fIset\fP, Mutt will generate the ``From:'' header field when 3688 ** sending messages. If \fIunset\fP, no ``From:'' header field will be 3689 ** generated unless the user explicitly sets one using the ``$my_hdr'' 3690 ** command. 3691 */ 3692#ifdef HAVE_GETADDRINFO 3693 { "use_ipv6", DT_BOOL, R_NONE, OPTUSEIPV6, 1}, 3694 /* 3695 ** .pp 3696 ** When \fIset\fP, Mutt will look for IPv6 addresses of hosts it tries to 3697 ** contact. If this option is \fIunset\fP, Mutt will restrict itself to IPv4 addresses. 3698 ** Normally, the default should work. 3699 */ 3700#endif /* HAVE_GETADDRINFO */ 3701 { "user_agent", DT_BOOL, R_NONE, OPTXMAILER, 1}, 3702 /* 3703 ** .pp 3704 ** When \fIset\fP, mutt will add a ``User-Agent:'' header to outgoing 3705 ** messages, indicating which version of mutt was used for composing 3706 ** them. 3707 */ 3708 { "visual", DT_PATH, R_NONE, UL &Visual, 0 }, 3709 /* 3710 ** .pp 3711 ** Specifies the visual editor to invoke when the ``\fC~v\fP'' command is 3712 ** given in the built-in editor. 3713 */ 3714 { "wait_key", DT_BOOL, R_NONE, OPTWAITKEY, 1 }, 3715 /* 3716 ** .pp 3717 ** Controls whether Mutt will ask you to press a key after an external command 3718 ** has been invoked by these functions: \fC<shell-escape>\fP, 3719 ** \fC<pipe-message>\fP, \fC<pipe-entry>\fP, \fC<print-message>\fP, 3720 ** and \fC<print-entry>\fP commands. 3721 ** .pp 3722 ** It is also used when viewing attachments with ``$auto_view'', provided 3723 ** that the corresponding mailcap entry has a \fIneedsterminal\fP flag, 3724 ** and the external program is interactive. 3725 ** .pp 3726 ** When \fIset\fP, Mutt will always ask for a key. When \fIunset\fP, Mutt will wait 3727 ** for a key only if the external command returned a non-zero status. 3728 */ 3729 { "weed", DT_BOOL, R_NONE, OPTWEED, 1 }, 3730 /* 3731 ** .pp 3732 ** When \fIset\fP, mutt will weed headers when displaying, forwarding, 3733 ** printing, or replying to messages. 3734 */ 3735 { "wrap", DT_NUM, R_PAGER, UL &Wrap, 0 }, 3736 /* 3737 ** .pp 3738 ** When set to a positive value, mutt will wrap text at $$wrap characters. 3739 ** When set to a negative value, mutt will wrap text so that there are $$wrap 3740 ** characters of empty space on the right side of the terminal. Setting it 3741 ** to zero makes mutt wrap at the terminal width. 3742 ** .pp 3743 ** Also see $$reflow_wrap. 3744 */ 3745 { "wrap_headers", DT_NUM, R_PAGER, UL &WrapHeaders, 78 }, 3746 /* 3747 ** .pp 3748 ** This option specifies the number of characters to use for wrapping 3749 ** an outgoing message's headers. Allowed values are between 78 and 998 3750 ** inclusive. 3751 ** .pp 3752 ** \fBNote:\fP This option usually shouldn't be changed. RFC5233 3753 ** recommends a line length of 78 (the default), so \fBplease only change 3754 ** this setting when you know what you're doing\fP. 3755 */ 3756 { "wrap_search", DT_BOOL, R_NONE, OPTWRAPSEARCH, 1 }, 3757 /* 3758 ** .pp 3759 ** Controls whether searches wrap around the end. 3760 ** .pp 3761 ** When \fIset\fP, searches will wrap around the first (or last) item. When 3762 ** \fIunset\fP, incremental searches will not wrap. 3763 */ 3764 { "wrapmargin", DT_NUM, R_PAGER, UL &Wrap, 0 }, 3765 /* 3766 ** .pp 3767 ** (DEPRECATED) Equivalent to setting $$wrap with a negative value. 3768 */ 3769 { "write_bcc", DT_BOOL, R_NONE, OPTWRITEBCC, 1}, 3770 /* 3771 ** .pp 3772 ** Controls whether mutt writes out the ``Bcc:'' header when preparing 3773 ** messages to be sent. Exim users may wish to unset this. If mutt 3774 ** is set to deliver directly via SMTP (see $$smtp_url), this 3775 ** option does nothing: mutt will never write out the ``Bcc:'' header 3776 ** in this case. 3777 */ 3778 { "write_inc", DT_NUM, R_NONE, UL &WriteInc, 10 }, 3779 /* 3780 ** .pp 3781 ** When writing a mailbox, a message will be printed every 3782 ** $$write_inc messages to indicate progress. If set to 0, only a 3783 ** single message will be displayed before writing a mailbox. 3784 ** .pp 3785 ** Also see the $$read_inc, $$net_inc and $$time_inc variables and the 3786 ** ``$tuning'' section of the manual for performance considerations. 3787 */ 3788 {"xterm_icon", DT_SYN, R_NONE, UL "ts_icon_format", 0 }, 3789 /* 3790 */ 3791 {"xterm_title", DT_SYN, R_NONE, UL "ts_status_format", 0 }, 3792 /* 3793 */ 3794 {"xterm_set_titles", DT_SYN, R_NONE, UL "ts_enabled", 0 }, 3795 /* 3796 */ 3797 /*--*/ 3798 { NULL, 0, 0, 0, 0 } 3799}; 3800 3801const struct mapping_t SortMethods[] = { 3802 { "date", SORT_DATE }, 3803 { "date-sent", SORT_DATE }, 3804 { "date-received", SORT_RECEIVED }, 3805 { "mailbox-order", SORT_ORDER }, 3806 { "subject", SORT_SUBJECT }, 3807 { "from", SORT_FROM }, 3808 { "size", SORT_SIZE }, 3809 { "threads", SORT_THREADS }, 3810 { "to", SORT_TO }, 3811 { "score", SORT_SCORE }, 3812 { "spam", SORT_SPAM }, 3813 { NULL, 0 } 3814}; 3815 3816/* same as SortMethods, but with "threads" replaced by "date" */ 3817 3818const struct mapping_t SortAuxMethods[] = { 3819 { "date", SORT_DATE }, 3820 { "date-sent", SORT_DATE }, 3821 { "date-received", SORT_RECEIVED }, 3822 { "mailbox-order", SORT_ORDER }, 3823 { "subject", SORT_SUBJECT }, 3824 { "from", SORT_FROM }, 3825 { "size", SORT_SIZE }, 3826 { "threads", SORT_DATE }, /* note: sort_aux == threads 3827 * isn't possible. 3828 */ 3829 { "to", SORT_TO }, 3830 { "score", SORT_SCORE }, 3831 { "spam", SORT_SPAM }, 3832 { NULL, 0 } 3833}; 3834 3835 3836const struct mapping_t SortBrowserMethods[] = { 3837 { "alpha", SORT_SUBJECT }, 3838 { "date", SORT_DATE }, 3839 { "size", SORT_SIZE }, 3840 { "unsorted", SORT_ORDER }, 3841 { NULL, 0 } 3842}; 3843 3844const struct mapping_t SortAliasMethods[] = { 3845 { "alias", SORT_ALIAS }, 3846 { "address", SORT_ADDRESS }, 3847 { "unsorted", SORT_ORDER }, 3848 { NULL, 0 } 3849}; 3850 3851const struct mapping_t SortKeyMethods[] = { 3852 { "address", SORT_ADDRESS }, 3853 { "date", SORT_DATE }, 3854 { "keyid", SORT_KEYID }, 3855 { "trust", SORT_TRUST }, 3856 { NULL, 0 } 3857}; 3858 3859const struct mapping_t SortSidebarMethods[] = { 3860 { "alpha", SORT_PATH }, 3861 { "count", SORT_COUNT }, 3862 { "flagged", SORT_FLAGGED }, 3863 { "mailbox-order", SORT_ORDER }, 3864 { "name", SORT_PATH }, 3865 { "new", SORT_COUNT_NEW }, 3866 { "path", SORT_PATH }, 3867 { "unsorted", SORT_ORDER }, 3868 { NULL, 0 } 3869}; 3870 3871 3872/* functions used to parse commands in a rc file */ 3873 3874static int parse_list (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3875static int parse_spam_list (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3876static int parse_unlist (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3877 3878static int parse_group (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3879 3880static int parse_lists (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3881static int parse_unlists (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3882static int parse_alias (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3883static int parse_unalias (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3884static int parse_ignore (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3885static int parse_unignore (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3886static int parse_source (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3887static int parse_set (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3888static int parse_setenv (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3889static int parse_my_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3890static int parse_unmy_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3891static int parse_subscribe (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3892static int parse_unsubscribe (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3893static int parse_attachments (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3894static int parse_unattachments (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3895 3896 3897static int parse_alternates (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3898static int parse_unalternates (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3899 3900/* Parse -group arguments */ 3901static int parse_group_context (group_context_t **ctx, BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err); 3902 3903 3904struct command_t 3905{ 3906 char *name; 3907 int (*func) (BUFFER *, BUFFER *, unsigned long, BUFFER *); 3908 unsigned long data; 3909}; 3910 3911const struct command_t Commands[] = { 3912 { "alternates", parse_alternates, 0 }, 3913 { "unalternates", parse_unalternates, 0 }, 3914#ifdef USE_SOCKET 3915 { "account-hook", mutt_parse_hook, MUTT_ACCOUNTHOOK }, 3916#endif 3917 { "alias", parse_alias, 0 }, 3918 { "attachments", parse_attachments, 0 }, 3919 { "unattachments",parse_unattachments,0 }, 3920 { "auto_view", parse_list, UL &AutoViewList }, 3921 { "alternative_order", parse_list, UL &AlternativeOrderList}, 3922 { "bind", mutt_parse_bind, 0 }, 3923 { "charset-hook", mutt_parse_hook, MUTT_CHARSETHOOK }, 3924#ifdef HAVE_COLOR 3925 { "color", mutt_parse_color, 0 }, 3926 { "uncolor", mutt_parse_uncolor, 0 }, 3927#endif 3928 { "exec", mutt_parse_exec, 0 }, 3929 { "fcc-hook", mutt_parse_hook, MUTT_FCCHOOK }, 3930 { "fcc-save-hook", mutt_parse_hook, MUTT_FCCHOOK | MUTT_SAVEHOOK }, 3931 { "folder-hook", mutt_parse_hook, MUTT_FOLDERHOOK }, 3932#ifdef USE_COMPRESSED 3933 { "open-hook", mutt_parse_hook, MUTT_OPENHOOK }, 3934 { "close-hook", mutt_parse_hook, MUTT_CLOSEHOOK }, 3935 { "append-hook", mutt_parse_hook, MUTT_APPENDHOOK }, 3936#endif 3937 { "group", parse_group, MUTT_GROUP }, 3938 { "ungroup", parse_group, MUTT_UNGROUP }, 3939 { "hdr_order", parse_list, UL &HeaderOrderList }, 3940#ifdef HAVE_ICONV 3941 { "iconv-hook", mutt_parse_hook, MUTT_ICONVHOOK }, 3942#endif 3943 { "ignore", parse_ignore, 0 }, 3944 { "lists", parse_lists, 0 }, 3945 { "macro", mutt_parse_macro, 0 }, 3946 { "mailboxes", mutt_parse_mailboxes, MUTT_MAILBOXES }, 3947 { "unmailboxes", mutt_parse_mailboxes, MUTT_UNMAILBOXES }, 3948 { "mailto_allow", parse_list, UL &MailtoAllow }, 3949 { "unmailto_allow", parse_unlist, UL &MailtoAllow }, 3950 { "message-hook", mutt_parse_hook, MUTT_MESSAGEHOOK }, 3951 { "mbox-hook", mutt_parse_hook, MUTT_MBOXHOOK }, 3952 { "mime_lookup", parse_list, UL &MimeLookupList }, 3953 { "unmime_lookup", parse_unlist, UL &MimeLookupList }, 3954 { "mono", mutt_parse_mono, 0 }, 3955 { "my_hdr", parse_my_hdr, 0 }, 3956 { "pgp-hook", mutt_parse_hook, MUTT_CRYPTHOOK }, 3957 { "crypt-hook", mutt_parse_hook, MUTT_CRYPTHOOK }, 3958 { "push", mutt_parse_push, 0 }, 3959 { "reply-hook", mutt_parse_hook, MUTT_REPLYHOOK }, 3960 { "reset", parse_set, MUTT_SET_RESET }, 3961 { "save-hook", mutt_parse_hook, MUTT_SAVEHOOK }, 3962 { "score", mutt_parse_score, 0 }, 3963 { "send-hook", mutt_parse_hook, MUTT_SENDHOOK }, 3964 { "send2-hook", mutt_parse_hook, MUTT_SEND2HOOK }, 3965 { "set", parse_set, 0 }, 3966 { "setenv", parse_setenv, 0 }, 3967#ifdef USE_SIDEBAR 3968 { "sidebar_whitelist",parse_list, UL &SidebarWhitelist }, 3969 { "unsidebar_whitelist",parse_unlist, UL &SidebarWhitelist }, 3970#endif 3971 { "source", parse_source, 0 }, 3972 { "spam", parse_spam_list, MUTT_SPAM }, 3973 { "nospam", parse_spam_list, MUTT_NOSPAM }, 3974 { "subscribe", parse_subscribe, 0 }, 3975 { "toggle", parse_set, MUTT_SET_INV }, 3976 { "unalias", parse_unalias, 0 }, 3977 { "unalternative_order",parse_unlist, UL &AlternativeOrderList }, 3978 { "unauto_view", parse_unlist, UL &AutoViewList }, 3979 { "unhdr_order", parse_unlist, UL &HeaderOrderList }, 3980 { "unhook", mutt_parse_unhook, 0 }, 3981 { "unignore", parse_unignore, 0 }, 3982 { "unlists", parse_unlists, 0 }, 3983 { "unmono", mutt_parse_unmono, 0 }, 3984 { "unmy_hdr", parse_unmy_hdr, 0 }, 3985 { "unscore", mutt_parse_unscore, 0 }, 3986 { "unset", parse_set, MUTT_SET_UNSET }, 3987 { "unsetenv", parse_setenv, MUTT_SET_UNSET }, 3988 { "unsubscribe", parse_unsubscribe, 0 }, 3989 { NULL, NULL, 0 } 3990};