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