init.h 170 KB
Newer Older
Thomas Roessler's avatar
Thomas Roessler committed
1
/*
Kevin J. McCarthy's avatar
Kevin J. McCarthy committed
2
 * Copyright (C) 1996-2002,2007,2010,2012-2013,2016 Michael R. Elkins <[email protected]>
3
 * Copyright (C) 2004 g10 Code GmbH
4
 *
Thomas Roessler's avatar
Thomas Roessler committed
5 6 7 8
 *     This program is free software; you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation; either version 2 of the License, or
 *     (at your option) any later version.
9
 *
Thomas Roessler's avatar
Thomas Roessler committed
10 11 12 13
 *     This program is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
14
 *
Thomas Roessler's avatar
Thomas Roessler committed
15 16
 *     You should have received a copy of the GNU General Public License
 *     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
 */
Thomas Roessler's avatar
Thomas Roessler committed
19

20 21
#ifdef _MAKEDOC
# include "config.h"
22
# include "doc/makedoc-defs.h"
23 24
#else
# include "sort.h"
25
#endif
26

Thomas Roessler's avatar
Thomas Roessler committed
27 28
#include "buffy.h"

29
#ifndef _MAKEDOC
Thomas Roessler's avatar
Thomas Roessler committed
30 31 32 33 34 35 36 37 38 39
#define DT_MASK		0x0f
#define DT_BOOL		1 /* boolean option */
#define DT_NUM		2 /* a number */
#define DT_STR		3 /* a string */
#define DT_PATH		4 /* a pathname */
#define DT_QUAD		5 /* quad-option (yes/no/ask-yes/ask-no) */
#define DT_SORT		6 /* sorting methods */
#define DT_RX		7 /* regular expressions */
#define DT_MAGIC	8 /* mailbox type */
#define DT_SYN		9 /* synonym for another variable */
40
#define DT_ADDR	       10 /* e-mail address */
41
#define DT_MBCHARTBL   11 /* multibyte char table */
Thomas Roessler's avatar
Thomas Roessler committed
42 43 44 45

#define DTYPE(x) ((x) & DT_MASK)

/* subtypes */
46
#define DT_SUBTYPE_MASK	0xff0
Thomas Roessler's avatar
Thomas Roessler committed
47 48
#define DT_SORT_ALIAS	0x10
#define DT_SORT_BROWSER 0x20
Thomas Roessler's avatar
Thomas Roessler committed
49
#define DT_SORT_KEYS	0x40
50
#define DT_SORT_AUX	0x80
51
#define DT_SORT_SIDEBAR	0x100
Thomas Roessler's avatar
Thomas Roessler committed
52 53

/* flags to parse_set() */
Derek Martin's avatar
Derek Martin committed
54 55 56
#define MUTT_SET_INV	(1<<0)	/* default is to invert all vars */
#define MUTT_SET_UNSET	(1<<1)	/* default is to unset all vars */
#define MUTT_SET_RESET	(1<<2)	/* default is to reset all vars to default */
Thomas Roessler's avatar
Thomas Roessler committed
57 58 59

/* forced redraw/resort types */
#define R_NONE		0
60 61
#define R_INDEX		(1<<0)  /* redraw the index menu (MENU_MAIN) */
#define R_PAGER		(1<<1)  /* redraw the pager menu */
62 63 64 65 66 67 68 69
#define R_PAGER_FLOW    (1<<2)  /* reflow lineInfo and redraw the pager menu */
#define R_RESORT	(1<<3)	/* resort the mailbox */
#define R_RESORT_SUB	(1<<4)	/* resort subthreads */
#define R_RESORT_INIT	(1<<5)  /* resort from scratch */
#define R_TREE		(1<<6)  /* redraw the thread tree */
#define R_REFLOW        (1<<7)  /* reflow window layout and full redraw */
#define R_SIDEBAR       (1<<8)  /* redraw the sidebar */
#define R_MENU          (1<<9)  /* redraw all menus */
Thomas Roessler's avatar
Thomas Roessler committed
70 71 72 73 74 75 76 77 78 79 80 81 82
#define R_BOTH		(R_INDEX | R_PAGER)
#define R_RESORT_BOTH	(R_RESORT | R_RESORT_SUB)

struct option_t
{
  char *option;
  short type;
  short flags;
  unsigned long data;
  unsigned long init; /* initial value */
};

#define UL (unsigned long)
83 84
#endif /* _MAKEDOC */

Thomas Roessler's avatar
Thomas Roessler committed
85 86 87 88 89
#ifndef ISPELL
#define ISPELL "ispell"
#endif

struct option_t MuttVars[] = {
90
  /*++*/
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
  { "abort_noattach", DT_QUAD, R_NONE, OPT_ABORTNOATTACH, MUTT_NO },
  /*
  ** .pp
  ** When the body of the message matches $$abort_noattach_regexp and
  ** there are no attachments, this quadoption controls whether to
  ** abort sending the message.
  */
  { "abort_noattach_regexp",  DT_RX,  R_NONE, UL &AbortNoattachRegexp, UL "attach" },
  /*
  ** .pp
  ** Specifies a regular expression to match against the body of the
  ** message, to determine if an attachment was mentioned but
  ** mistakenly forgotten.  If it matches, $$abort_noattach will be
  ** consulted to determine if message sending will be aborted.
  ** .pp
  ** Like other regular expressions in Mutt, the search is case
  ** sensitive if the pattern contains at least one upper case letter,
  ** and case insensitive otherwise.
  */
Derek Martin's avatar
Derek Martin committed
110
  { "abort_nosubject",	DT_QUAD, R_NONE, OPT_SUBJECT, MUTT_ASKYES },
111 112 113 114 115 116 117
  /*
  ** .pp
  ** If set to \fIyes\fP, when composing messages and no subject is given
  ** at the subject prompt, composition will be aborted.  If set to
  ** \fIno\fP, composing messages with no subject given at the subject
  ** prompt will never be aborted.
  */
Derek Martin's avatar
Derek Martin committed
118
  { "abort_unmodified",	DT_QUAD, R_NONE, OPT_ABORT, MUTT_YES },
119 120 121 122 123 124 125
  /*
  ** .pp
  ** If set to \fIyes\fP, composition will automatically abort after
  ** editing the message body if no changes are made to the file (this
  ** check only happens after the \fIfirst\fP edit of the file).  When set
  ** to \fIno\fP, composition will never be aborted.
  */
Thomas Roessler's avatar
Thomas Roessler committed
126
  { "alias_file",	DT_PATH, R_NONE, UL &AliasFile, UL "~/.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 134
  ** .pp
  ** \fBNote:\fP Mutt will not automatically source this file; you must
135 136
  ** explicitly use the ``$source'' command for it to be executed in case
  ** this option points to a dedicated alias file.
137 138 139
  ** .pp
  ** The default for this option is the currently used muttrc file, or
  ** ``~/.muttrc'' if no user muttrc was found.
140
  */
141
  { "alias_format",	DT_STR,  R_NONE, UL &AliasFmt, UL "%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 147
  ** .dl
  ** .dt %a .dd alias name
148
  ** .dt %f .dd flags - currently, a ``d'' for an alias marked for deletion
149 150 151 152
  ** .dt %n .dd index number
  ** .dt %r .dd address which alias expands to
  ** .dt %t .dd character which indicates if the alias is tagged for inclusion
  ** .de
153
  */
Thomas Roessler's avatar
Thomas Roessler committed
154
  { "allow_8bit",	DT_BOOL, R_NONE, OPTALLOW8BIT, 1 },
155 156 157 158 159
  /*
  ** .pp
  ** Controls whether 8-bit data is converted to 7-bit using either Quoted-
  ** Printable or Base64 encoding when sending mail.
  */
160 161 162
  { "allow_ansi",      DT_BOOL, R_NONE, OPTALLOWANSI, 0 },
  /*
  ** .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 167
  ** their text will be colored accordingly. Note that this may override
  ** your color choices, and even present a security problem, since a
168 169 170 171 172
  ** message could include a line like
  ** .ts
  ** [-- PGP output follows ...
  ** .te
  ** .pp
173 174
  ** and give it the same color as your attachment color (see also
  ** $$crypt_timestamp).
175
  */
176
  { "arrow_cursor",	DT_BOOL, R_MENU, OPTARROWCURSOR, 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 182 183 184
  ** links this will make response faster because there is less that has to
  ** be redrawn on the screen when moving to the next or previous entries
  ** in the menu.
  */
Thomas Roessler's avatar
Thomas Roessler committed
185
  { "ascii_chars",	DT_BOOL, R_BOTH, OPTASCIICHARS, 0 },
186 187
  /*
  ** .pp
188
  ** If \fIset\fP, Mutt will use plain ASCII characters when displaying thread
189 190
  ** and attachment trees, instead of the default \fIACS\fP characters.
  */
Thomas Roessler's avatar
Thomas Roessler committed
191
  { "askbcc",		DT_BOOL, R_NONE, OPTASKBCC, 0 },
192 193
  /*
  ** .pp
194
  ** If \fIset\fP, Mutt will prompt you for blind-carbon-copy (Bcc) recipients
195 196
  ** before editing an outgoing message.
  */
Thomas Roessler's avatar
Thomas Roessler committed
197
  { "askcc",		DT_BOOL, R_NONE, OPTASKCC, 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, UL &AssumedCharset, UL 0},
204 205 206 207 208 209 210
  /*
  ** .pp
  ** This variable is a colon-separated list of character encoding
  ** schemes for messages without character encoding indication.
  ** Header field values and message body content without character encoding
  ** indication would be assumed that they are written in one of this list.
  ** By default, all the header fields and message body without any charset
211
  ** indication are assumed to be in ``us-ascii''.
212 213
  ** .pp
  ** For example, Japanese users might prefer this:
214 215 216
  ** .ts
  ** set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
  ** .te
217 218
  ** .pp
  ** However, only the first content is valid for the message body.
219 220 221 222 223
  */
  { "attach_charset",    DT_STR,  R_NONE, UL &AttachCharset, UL 0 },
  /*
  ** .pp
  ** This variable is a colon-separated list of character encoding
224 225 226 227
  ** schemes for text file attachments. Mutt uses this setting to guess
  ** which encoding files being attached are encoded in to convert them to
  ** a proper character set given in $$send_charset.
  ** .pp
228
  ** If \fIunset\fP, the value of $$charset will be used instead.
229 230
  ** For example, the following configuration would work for Japanese
  ** text handling:
231 232 233
  ** .ts
  ** set attach_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
  ** .te
234
  ** .pp
235 236
  ** Note: for Japanese users, ``iso-2022-*'' must be put at the head
  ** of the value as shown above if included.
237
  */
238
  { "attach_format",	DT_STR,  R_NONE, UL &AttachFormat, UL "%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
Michael Elkins's avatar
Michael Elkins committed
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 253 254
  ** .dt %m  .dd major MIME type
  ** .dt %M  .dd MIME subtype
  ** .dt %n  .dd attachment number
255
  ** .dt %Q  .dd ``Q'', if MIME part qualifies for attachment counting
256 257
  ** .dt %s  .dd size
  ** .dt %t  .dd tagged flag
Michael Elkins's avatar
Michael Elkins committed
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 263 264
  ** .dt %>X .dd right justify the rest of the string and pad with character ``X''
  ** .dt %|X .dd pad to the end of the line with character ``X''
  ** .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
  */
Thomas Roessler's avatar
Thomas Roessler committed
269
  { "attach_sep",	DT_STR,	 R_NONE, UL &AttachSep, UL "\n" },
270 271 272 273 274 275 276 277
  /*
  ** .pp
  ** The separator to add between attachments when operating (saving,
  ** printing, piping, etc) on a list of tagged attachments.
  */
  { "attach_split",	DT_BOOL, R_NONE, OPTATTACHSPLIT, 1 },
  /*
  ** .pp
278
  ** If this variable is \fIunset\fP, when operating (saving, printing, piping,
279 280
  ** etc) on a list of tagged attachments, Mutt will concatenate the
  ** attachments and will operate on them as a single attachment. The
281
  ** $$attach_sep separator is added after each attachment. When \fIset\fP,
282 283
  ** Mutt will operate on the attachments one by one.
  */
Thomas Roessler's avatar
Thomas Roessler committed
284
  { "attribution",	DT_STR,	 R_NONE, UL &Attribution, UL "On %d, %n wrote:" },
285 286 287
  /*
  ** .pp
  ** 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 292 293 294 295 296 297 298 299 300 301 302
  { "attribution_locale", DT_STR, R_NONE, UL &AttributionLocale, UL "" },
  /*
  ** .pp
  ** The locale used by \fCstrftime(3)\fP to format dates in the
  ** $attribution string.  Legal values are the strings your system
  ** accepts for the locale environment variable \fC$$$LC_TIME\fP.
  ** .pp
  ** This variable is to allow the attribution date format to be
  ** customized by recipient or folder using hooks.  By default, Mutt
  ** will use your locale environment, so there is no need to set
  ** this except to override that default.
  */
303 304 305 306 307 308 309 310
  { "auto_tag",		DT_BOOL, R_NONE, OPTAUTOTAG, 0 },
  /*
  ** .pp
  ** When \fIset\fP, functions in the \fIindex\fP menu which affect a message
  ** will be applied to all tagged messages (if there are any).  When
  ** unset, you must first use the \fC<tag-prefix>\fP function (bound to ``;''
  ** by default) to make the next function apply to all tagged messages.
  */
Thomas Roessler's avatar
Thomas Roessler committed
311
  { "autoedit",		DT_BOOL, R_NONE, OPTAUTOEDIT, 0 },
312 313
  /*
  ** .pp
314 315 316
  ** When \fIset\fP along with $$edit_headers, Mutt will skip the initial
  ** send-menu (prompting for subject and recipients) and allow you to
  ** immediately begin editing the body of your
317 318
  ** message.  The send-menu may still be accessed once you have finished
  ** editing the body of your message.
319
  ** .pp
320 321 322 323 324
  ** .pp
  ** \fBNote:\fP when this option is \fIset\fP, you cannot use send-hooks that depend
  ** on the recipients when composing a new (non-reply) message, as the initial
  ** list of recipients is empty.
  ** .pp
325
  ** Also see $$fast_reply.
326
  */
Thomas Roessler's avatar
Thomas Roessler committed
327
  { "beep",		DT_BOOL, R_NONE, OPTBEEP, 1 },
328 329
  /*
  ** .pp
330
  ** When this variable is \fIset\fP, mutt will beep when an error occurs.
331
  */
Thomas Roessler's avatar
Thomas Roessler committed
332
  { "beep_new",		DT_BOOL, R_NONE, OPTBEEPNEW, 0 },
333 334
  /*
  ** .pp
335
  ** When this variable is \fIset\fP, mutt will beep whenever it prints a message
336
  ** notifying you of new mail.  This is independent of the setting of the
337
  ** $$beep variable.
338
  */
Derek Martin's avatar
Derek Martin committed
339
  { "bounce",	DT_QUAD, R_NONE, OPT_BOUNCE, MUTT_ASKYES },
340
  /*
341
  ** .pp
342 343 344
  ** Controls whether you will be asked to confirm bouncing messages.
  ** If set to \fIyes\fP you don't get asked if you want to bounce a
  ** message. Setting this variable to \fIno\fP is not generally useful,
345
  ** and thus not recommended, because you are unable to bounce messages.
346
  */
Thomas Roessler's avatar
Thomas Roessler committed
347
  { "bounce_delivered", DT_BOOL, R_NONE, OPTBOUNCEDELIVERED, 1 },
348 349
  /*
  ** .pp
350 351
  ** When this variable is \fIset\fP, mutt will include Delivered-To headers when
  ** bouncing messages.  Postfix users may wish to \fIunset\fP this variable.
352
  */
353 354 355
  { "braille_friendly", DT_BOOL, R_NONE, OPTBRAILLEFRIENDLY, 0 },
  /*
  ** .pp
356 357 358 359
  ** When this variable is \fIset\fP, mutt will place the cursor at the beginning
  ** of the current line in menus, even when the $$arrow_cursor variable
  ** is \fIunset\fP, making it easier for blind persons using Braille displays to
  ** follow these menus.  The option is \fIunset\fP by default because many
360 361
  ** visual terminals don't permit making the cursor invisible.
  */
362 363 364 365 366 367 368 369 370 371 372 373 374
  { "browser_abbreviate_mailboxes", DT_BOOL, R_NONE, OPTBROWSERABBRMAILBOXES, 1 },
  /*
  ** .pp
  ** When this variable is \fIset\fP, mutt will abbreviate mailbox
  ** names in the browser mailbox list, using '~' and '='
  ** shortcuts.
  ** .pp
  ** The default \fC"alpha"\fP setting of $$sort_browser uses
  ** locale-based sorting (using \fCstrcoll(3)\fP), which ignores some
  ** punctuation.  This can lead to some situations where the order
  ** doesn't make intuitive sense.  In those cases, it may be
  ** desirable to \fIunset\fP this variable.
  */
375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395
#if defined(USE_SSL)
  { "certificate_file",	DT_PATH, R_NONE, UL &SslCertFile, UL "~/.mutt_certificates" },
  /*
  ** .pp
  ** This variable specifies the file where the certificates you trust
  ** are saved. When an unknown certificate is encountered, you are asked
  ** if you accept it or not. If you accept it, the certificate can also
  ** be saved in this file and further connections are automatically
  ** accepted.
  ** .pp
  ** You can also manually add CA certificates in this file. Any server
  ** certificate that is signed with one of these CA certificates is
  ** also automatically accepted.
  ** .pp
  ** Example:
  ** .ts
  ** set certificate_file=~/.mutt/certificates
  ** .te
  **
  */
#endif
396 397 398 399 400 401 402
  { "change_folder_next", DT_BOOL, R_NONE, OPTCHANGEFOLDERNEXT, 0 },
  /*
  ** .pp
  ** When this variable is \fIset\fP, the \fC<change-folder>\fP function
  ** mailbox suggestion will start at the next folder in your ``$mailboxes''
  ** list, instead of starting at the first folder in the list.
  */
403 404 405 406 407 408 409 410 411
  { "charset",		DT_STR,	 R_NONE, UL &Charset, UL 0 },
  /*
  ** .pp
  ** Character set your terminal uses to display and enter textual data.
  ** It is also the fallback for $$send_charset.
  ** .pp
  ** Upon startup Mutt tries to derive this value from environment variables
  ** such as \fC$$$LC_CTYPE\fP or \fC$$$LANG\fP.
  ** .pp
Simon Ruderich's avatar
Simon Ruderich committed
412
  ** \fBNote:\fP It should only be set in case Mutt isn't able to determine the
413 414
  ** character set used correctly.
  */
415 416 417
  { "check_mbox_size",	DT_BOOL, R_NONE, OPTCHECKMBOXSIZE, 0 },
  /*
  ** .pp
418
  ** When this variable is \fIset\fP, mutt will use file size attribute instead of
419 420 421 422
  ** access time when checking for new mail in mbox and mmdf folders.
  ** .pp
  ** This variable is \fIunset\fP by default and should only be enabled when
  ** new mail detection for these folder types is unreliable or doesn't work.
423
  ** .pp
424
  ** Note that enabling this variable should happen before any ``$mailboxes''
425 426 427 428
  ** directives occur in configuration files regarding mbox or mmdf folders
  ** because mutt needs to determine the initial new mail status of such a
  ** mailbox by performing a fast mailbox scan when it is defined.
  ** Afterwards the new mail status is tracked by file size changes.
429
  */
Thomas Roessler's avatar
Thomas Roessler committed
430
  { "check_new",	DT_BOOL, R_NONE, OPTCHECKNEW, 1 },
431 432 433 434 435 436 437 438 439
  /*
  ** .pp
  ** \fBNote:\fP this option only affects \fImaildir\fP and \fIMH\fP style
  ** mailboxes.
  ** .pp
  ** When \fIset\fP, Mutt will check for new mail delivered while the
  ** mailbox is open.  Especially with MH mailboxes, this operation can
  ** take quite some time since it involves scanning the directory and
  ** checking each file to see if it has already been looked at.  If
440
  ** this variable is \fIunset\fP, no check for new mail is performed
441 442
  ** while the mailbox is open.
  */
443
  { "collapse_unread",	DT_BOOL, R_NONE, OPTCOLLAPSEUNREAD, 1 },
444 445 446 447 448
  /*
  ** .pp
  ** When \fIunset\fP, Mutt will not collapse a thread if it contains any
  ** unread messages.
  */
449
  { "compose_format",	DT_STR,	 R_MENU, UL &ComposeFormat, UL "-- Mutt: Compose  [Approx. msg size: %l   Atts: %a]%>-" },
450 451
  /*
  ** .pp
452
  ** Controls the format of the status line displayed in the ``compose''
453
  ** menu.  This string is similar to $$status_format, but has its own
454
  ** set of \fCprintf(3)\fP-like sequences:
455
  ** .dl
456
  ** .dt %a .dd total number of attachments
457 458 459 460
  ** .dt %h .dd local hostname
  ** .dt %l .dd approximate size (in bytes) of the current message
  ** .dt %v .dd Mutt version string
  ** .de
461
  ** .pp
462
  ** See the text describing the $$status_format option for more
463
  ** information on how to set $$compose_format.
464
  */
Joël Riou's avatar
Joël Riou committed
465 466 467 468
  { "config_charset",	DT_STR,  R_NONE, UL &ConfigCharset, UL 0 },
  /*
  ** .pp
  ** When defined, Mutt will recode commands in rc files from this
469 470 471 472 473 474 475 476 477
  ** encoding to the current character set as specified by $$charset
  ** and aliases written to $$alias_file from the current character set.
  ** .pp
  ** Please note that if setting $$charset it must be done before
  ** setting $$config_charset.
  ** .pp
  ** Recoding should be avoided as it may render unconvertable
  ** characters as question marks which can lead to undesired
  ** side effects (for example in regular expressions).
Joël Riou's avatar
Joël Riou committed
478
  */
Thomas Roessler's avatar
Thomas Roessler committed
479
  { "confirmappend",	DT_BOOL, R_NONE, OPTCONFIRMAPPEND, 1 },
480 481
  /*
  ** .pp
482
  ** When \fIset\fP, Mutt will prompt for confirmation when appending messages to
483 484
  ** an existing mailbox.
  */
Thomas Roessler's avatar
Thomas Roessler committed
485
  { "confirmcreate",	DT_BOOL, R_NONE, OPTCONFIRMCREATE, 1 },
486 487
  /*
  ** .pp
488
  ** When \fIset\fP, Mutt will prompt for confirmation when saving messages to a
489 490
  ** mailbox which does not yet exist before creating it.
  */
Thomas Roessler's avatar
Thomas Roessler committed
491 492 493
  { "connect_timeout",	DT_NUM,	R_NONE, UL &ConnectTimeout, 30 },
  /*
  ** .pp
494
  ** Causes Mutt to timeout a network connection (for IMAP, POP or SMTP) after this
Thomas Roessler's avatar
Thomas Roessler committed
495
  ** many seconds if the connection is not able to be established.  A negative
496
  ** value causes Mutt to wait indefinitely for the connection attempt to succeed.
Thomas Roessler's avatar
Thomas Roessler committed
497
  */
498 499 500 501 502
  { "content_type",	DT_STR, R_NONE, UL &ContentType, UL "text/plain" },
  /*
  ** .pp
  ** Sets the default Content-Type for the body of newly composed messages.
  */
Derek Martin's avatar
Derek Martin committed
503
  { "copy",		DT_QUAD, R_NONE, OPT_COPY, MUTT_YES },
504 505 506
  /*
  ** .pp
  ** This variable controls whether or not copies of your outgoing messages
507 508
  ** will be saved for later references.  Also see $$record,
  ** $$save_name, $$force_name and ``$fcc-hook''.
509
  */
510 511
  { "pgp_autoencrypt",		DT_SYN,  R_NONE, UL "crypt_autoencrypt", 0 },
  { "crypt_autoencrypt",	DT_BOOL, R_NONE, OPTCRYPTAUTOENCRYPT, 0 },
512
  /*
513
  ** .pp
514 515 516 517 518 519 520 521
  ** Setting this variable will cause Mutt to always attempt to PGP
  ** encrypt outgoing messages.  This is probably only useful in
  ** connection to the ``$send-hook'' command.  It can be overridden
  ** by use of the pgp menu, when encryption is not required or
  ** signing is requested as well.  If $$smime_is_default is \fIset\fP,
  ** then OpenSSL is used instead to create S/MIME messages and
  ** settings can be overridden by use of the smime menu instead.
  ** (Crypto only)
522
  */
523 524 525 526
  { "crypt_autopgp",	DT_BOOL, R_NONE, OPTCRYPTAUTOPGP, 1 },
  /*
  ** .pp
  ** This variable controls whether or not mutt may automatically enable
527 528
  ** PGP encryption/signing for messages.  See also $$crypt_autoencrypt,
  ** $$crypt_replyencrypt,
529
  ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default.
530
  */
531 532 533 534 535 536 537 538 539 540 541 542
  { "pgp_autosign", 	DT_SYN,  R_NONE, UL "crypt_autosign", 0 },
  { "crypt_autosign",	DT_BOOL, R_NONE, OPTCRYPTAUTOSIGN, 0 },
  /*
  ** .pp
  ** Setting this variable will cause Mutt to always attempt to
  ** cryptographically sign outgoing messages.  This can be overridden
  ** by use of the pgp menu, when signing is not required or
  ** encryption is requested as well. If $$smime_is_default is \fIset\fP,
  ** then OpenSSL is used instead to create S/MIME messages and settings can
  ** be overridden by use of the smime menu instead of the pgp menu.
  ** (Crypto only)
  */
543 544 545 546
  { "crypt_autosmime",	DT_BOOL, R_NONE, OPTCRYPTAUTOSMIME, 1 },
  /*
  ** .pp
  ** This variable controls whether or not mutt may automatically enable
547 548 549
  ** S/MIME encryption/signing for messages. See also $$crypt_autoencrypt,
  ** $$crypt_replyencrypt,
  ** $$crypt_autosign, $$crypt_replysign and $$smime_is_default.
550
  */
551 552 553 554 555 556 557 558
  { "crypt_confirmhook",	DT_BOOL, R_NONE, OPTCRYPTCONFIRMHOOK, 1 },
  /*
  ** .pp
  ** If set, then you will be prompted for confirmation of keys when using
  ** the \fIcrypt-hook\fP command.  If unset, no such confirmation prompt will
  ** be presented.  This is generally considered unsafe, especially where
  ** typos are concerned.
  */
559 560 561 562 563
  { "crypt_opportunistic_encrypt", DT_BOOL, R_NONE, OPTCRYPTOPPORTUNISTICENCRYPT, 0 },
  /*
  ** .pp
  ** Setting this variable will cause Mutt to automatically enable and
  ** disable encryption, based on whether all message recipient keys
564
  ** can be located by Mutt.
565
  ** .pp
566 567 568
  ** When this option is enabled, Mutt will enable/disable encryption
  ** each time the TO, CC, and BCC lists are edited.  If
  ** $$edit_headers is set, Mutt will also do so each time the message
569 570
  ** is edited.
  ** .pp
571 572 573
  ** While this is set, encryption can't be manually enabled/disabled.
  ** The pgp or smime menus provide a selection to temporarily disable
  ** this option for the current message.
574 575
  ** .pp
  ** If $$crypt_autoencrypt or $$crypt_replyencrypt enable encryption for
576
  ** a message, this option will be disabled for that message.  It can
577 578 579
  ** be manually re-enabled in the pgp or smime menus.
  ** (Crypto only)
   */
580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627
  { "pgp_replyencrypt",		DT_SYN,  R_NONE, UL "crypt_replyencrypt", 1  },
  { "crypt_replyencrypt",	DT_BOOL, R_NONE, OPTCRYPTREPLYENCRYPT, 1 },
  /*
  ** .pp
  ** If \fIset\fP, automatically PGP or OpenSSL encrypt replies to messages which are
  ** encrypted.
  ** (Crypto only)
  */
  { "pgp_replysign",	DT_SYN, R_NONE, UL "crypt_replysign", 0 },
  { "crypt_replysign",	DT_BOOL, R_NONE, OPTCRYPTREPLYSIGN, 0 },
  /*
  ** .pp
  ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages which are
  ** signed.
  ** .pp
  ** \fBNote:\fP this does not work on messages that are encrypted
  ** \fIand\fP signed!
  ** (Crypto only)
  */
  { "pgp_replysignencrypted",   DT_SYN,  R_NONE, UL "crypt_replysignencrypted", 0},
  { "crypt_replysignencrypted", DT_BOOL, R_NONE, OPTCRYPTREPLYSIGNENCRYPTED, 0 },
  /*
  ** .pp
  ** If \fIset\fP, automatically PGP or OpenSSL sign replies to messages
  ** which are encrypted. This makes sense in combination with
  ** $$crypt_replyencrypt, because it allows you to sign all
  ** messages which are automatically encrypted.  This works around
  ** the problem noted in $$crypt_replysign, that mutt is not able
  ** to find out whether an encrypted message is also signed.
  ** (Crypto only)
  */
  { "crypt_timestamp", DT_BOOL, R_NONE, OPTCRYPTTIMESTAMP, 1 },
  /*
  ** .pp
  ** If \fIset\fP, mutt will include a time stamp in the lines surrounding
  ** PGP or S/MIME output, so spoofing such lines is more difficult.
  ** If you are using colors to mark these lines, and rely on these,
  ** you may \fIunset\fP this setting.
  ** (Crypto only)
  */
  { "crypt_use_gpgme",  DT_BOOL, R_NONE, OPTCRYPTUSEGPGME, 0 },
  /*
  ** .pp
  ** This variable controls the use of the GPGME-enabled crypto backends.
  ** If it is \fIset\fP and Mutt was built with gpgme support, the gpgme code for
  ** S/MIME and PGP will be used instead of the classic code.  Note that
  ** you need to set this option in .muttrc; it won't have any effect when
  ** used interactively.
628 629 630
  ** .pp
  ** Note that the GPGME backend does not support creating old-style inline
  ** (traditional) PGP encrypted or signed messages (see $$pgp_autoinline).
631 632 633 634 635 636 637 638 639
  */
  { "crypt_use_pka", DT_BOOL, R_NONE, OPTCRYPTUSEPKA, 0 },
  /*
  ** .pp
  ** Controls whether mutt uses PKA
  ** (see http://www.g10code.de/docs/pka-intro.de.pdf) during signature
  ** verification (only supported by the GPGME backend).
  */
  { "pgp_verify_sig",   DT_SYN,  R_NONE, UL "crypt_verify_sig", 0},
Derek Martin's avatar
Derek Martin committed
640
  { "crypt_verify_sig",	DT_QUAD, R_NONE, OPT_VERIFYSIG, MUTT_YES },
641 642 643 644
  /*
  ** .pp
  ** If \fI``yes''\fP, always attempt to verify PGP or S/MIME signatures.
  ** If \fI``ask-*''\fP, ask whether or not to verify the signature.
645
  ** If \fI``no''\fP, never attempt to verify cryptographic signatures.
646 647
  ** (Crypto only)
  */
648
  { "date_format",	DT_STR,	 R_MENU, UL &DateFmt, UL "!%a, %b %d, %Y at %I:%M:%S%p %Z" },
649 650 651
  /*
  ** .pp
  ** This variable controls the format of the date printed by the ``%d''
652 653
  ** sequence in $$index_format.  This is passed to the \fCstrftime(3)\fP
  ** function to process the date, see the man page for the proper syntax.
654 655
  ** .pp
  ** Unless the first character in the string is a bang (``!''), the month
656 657
  ** and week day names are expanded according to the locale.
  ** If the first character in the string is a
658 659 660
  ** bang, the bang is discarded, and the month and week day names in the
  ** rest of the string are expanded in the \fIC\fP locale (that is in US
  ** English).
661
  */
Thomas Roessler's avatar
Thomas Roessler committed
662
  { "default_hook",	DT_STR,	 R_NONE, UL &DefaultHook, UL "~f %s !~P | (~P ~C %s)" },
663 664
  /*
  ** .pp
665 666
  ** This variable controls how ``$message-hook'', ``$reply-hook'', ``$send-hook'',
  ** ``$send2-hook'', ``$save-hook'', and ``$fcc-hook'' will
667 668 669
  ** be interpreted if they are specified with only a simple regexp,
  ** instead of a matching pattern.  The hooks are expanded when they are
  ** declared, so a hook will be interpreted according to the value of this
670 671 672
  ** variable at the time the hook is declared.
  ** .pp
  ** The default value matches
673 674
  ** if the message is either from a user matching the regular expression
  ** given, or if it is from you (if the from address matches
675
  ** ``$alternates'') and is to or cc'ed to a user matching the given
676 677
  ** regular expression.
  */
Derek Martin's avatar
Derek Martin committed
678
  { "delete",		DT_QUAD, R_NONE, OPT_DELETE, MUTT_ASKYES },
679 680 681 682 683 684 685
  /*
  ** .pp
  ** Controls whether or not messages are really deleted when closing or
  ** synchronizing a mailbox.  If set to \fIyes\fP, messages marked for
  ** deleting will automatically be purged without prompting.  If set to
  ** \fIno\fP, messages marked for deletion will be kept in the mailbox.
  */
686 687 688 689 690 691 692
  { "delete_untag",	DT_BOOL, R_NONE, OPTDELETEUNTAG, 1 },
  /*
  ** .pp
  ** If this option is \fIset\fP, mutt will untag messages when marking them
  ** for deletion.  This applies when you either explicitly delete a message,
  ** or when you save it to another folder.
  */
693 694 695
  { "digest_collapse",	DT_BOOL, R_NONE, OPTDIGESTCOLLAPSE, 1},
  /*
  ** .pp
696
  ** If this option is \fIset\fP, mutt's received-attachments menu will not show the subparts of
697
  ** individual messages in a multipart/digest.  To see these subparts, press ``v'' on that menu.
698
  */
Thomas Roessler's avatar
nits.  
Thomas Roessler committed
699
  { "display_filter",	DT_PATH, R_PAGER, UL &DisplayFilter, UL "" },
700 701 702 703 704 705
  /*
  ** .pp
  ** When set, specifies a command used to filter messages.  When a message
  ** is viewed it is passed as standard input to $$display_filter, and the
  ** filtered message is read from the standard output.
  */
706 707
#if defined(DL_STANDALONE) && defined(USE_DOTLOCK)
  { "dotlock_program",  DT_PATH, R_NONE, UL &MuttDotlock, UL BINDIR "/mutt_dotlock" },
708 709
  /*
  ** .pp
710
  ** Contains the path of the \fCmutt_dotlock(8)\fP binary to be used by
711 712
  ** mutt.
  */
713
#endif
Thomas Roessler's avatar
Thomas Roessler committed
714
  { "dsn_notify",	DT_STR,	 R_NONE, UL &DsnNotify, UL "" },
715 716 717 718 719 720 721 722 723
  /*
  ** .pp
  ** This variable sets the request for when notification is returned.  The
  ** string consists of a comma separated list (no spaces!) of one or more
  ** of the following: \fInever\fP, to never request notification,
  ** \fIfailure\fP, to request notification on transmission failure,
  ** \fIdelay\fP, to be notified of message delays, \fIsuccess\fP, to be
  ** notified of successful transmission.
  ** .pp
724 725 726 727
  ** Example:
  ** .ts
  ** set dsn_notify="failure,delay"
  ** .te
728 729 730
  ** .pp
  ** \fBNote:\fP when using $$sendmail for delivery, you should not enable
  ** this unless you are either using Sendmail 8.8.x or greater or a MTA
731
  ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-N\fP option
Rocco Rutte's avatar
Rocco Rutte committed
732
  ** for DSN. For SMTP delivery, DSN support is auto-detected so that it
733
  ** depends on the server whether DSN will be used or not.
734
  */
Thomas Roessler's avatar
Thomas Roessler committed
735
  { "dsn_return",	DT_STR,	 R_NONE, UL &DsnReturn, UL "" },
736 737 738 739 740 741
  /*
  ** .pp
  ** This variable controls how much of your message is returned in DSN
  ** messages.  It may be set to either \fIhdrs\fP to return just the
  ** message header, or \fIfull\fP to return the full message.
  ** .pp
742 743 744 745
  ** Example:
  ** .ts
  ** set dsn_return=hdrs
  ** .te
746 747 748
  ** .pp
  ** \fBNote:\fP when using $$sendmail for delivery, you should not enable
  ** this unless you are either using Sendmail 8.8.x or greater or a MTA
749
  ** providing a \fCsendmail(1)\fP-compatible interface supporting the \fC-R\fP option
Rocco Rutte's avatar
Rocco Rutte committed
750
  ** for DSN. For SMTP delivery, DSN support is auto-detected so that it
751
  ** depends on the server whether DSN will be used or not.
752
  */
753
  { "duplicate_threads",	DT_BOOL, R_RESORT|R_RESORT_INIT|R_INDEX, OPTDUPTHREADS, 1 },
754 755
  /*
  ** .pp
756 757
  ** This variable controls whether mutt, when $$sort is set to \fIthreads\fP, threads
  ** messages with the same Message-Id together.  If it is \fIset\fP, it will indicate
758
  ** that it thinks they are duplicates of each other with an equals sign
759
  ** in the thread tree.
760
  */
Thomas Roessler's avatar
Thomas Roessler committed
761
  { "edit_headers",	DT_BOOL, R_NONE, OPTEDITHDRS, 0 },
762 763 764 765
  /*
  ** .pp
  ** This option allows you to edit the header of your outgoing messages
  ** along with the body of your message.
766
  ** .pp
767 768 769 770 771 772 773
  ** Although the compose menu may have localized header labels, the
  ** labels passed to your editor will be standard RFC 2822 headers,
  ** (e.g. To:, Cc:, Subject:).  Headers added in your editor must
  ** also be RFC 2822 headers, or one of the pseudo headers listed in
  ** ``$edit-header''.  Mutt will not understand localized header
  ** labels, just as it would not when parsing an actual email.
  ** .pp
774 775
  ** \fBNote\fP that changes made to the References: and Date: headers are
  ** ignored for interoperability reasons.
776
  */
Thomas Roessler's avatar
Thomas Roessler committed
777
  { "edit_hdrs",	DT_SYN,  R_NONE, UL "edit_headers", 0 },
778
  /*
779
  */
Thomas Roessler's avatar
Thomas Roessler committed
780
  { "editor",		DT_PATH, R_NONE, UL &Editor, 0 },
781 782 783
  /*
  ** .pp
  ** This variable specifies which editor is used by mutt.
784 785
  ** It defaults to the value of the \fC$$$VISUAL\fP, or \fC$$$EDITOR\fP, environment
  ** variable, or to the string ``vi'' if neither of those are set.
786 787 788 789 790 791 792 793 794
  ** .pp
  ** The \fC$$editor\fP string may contain a \fI%s\fP escape, which will be replaced by the name
  ** of the file to be edited.  If the \fI%s\fP escape does not appear in \fC$$editor\fP, a
  ** space and the name to be edited are appended.
  ** .pp
  ** The resulting string is then executed by running
  ** .ts
  ** sh -c 'string'
  ** .te
795
  ** .pp
796
  ** where \fIstring\fP is the expansion of \fC$$editor\fP described above.
797
  */
798
  { "encode_from",	DT_BOOL, R_NONE, OPTENCODEFROM, 0 },
799 800 801
  /*
  ** .pp
  ** When \fIset\fP, mutt will quoted-printable encode messages when
802 803 804 805
  ** they contain the string ``From '' (note the trailing space) in the beginning of a line.
  ** This is useful to avoid the tampering certain mail delivery and transport
  ** agents tend to do with messages (in order to prevent tools from
  ** misinterpreting the line as a mbox message separator).
806
  */
807 808 809 810 811 812 813 814
#if defined(USE_SSL_OPENSSL)
  { "entropy_file",	DT_PATH, R_NONE, UL &SslEntropyFile, 0 },
  /*
  ** .pp
  ** The file which includes random data that is used to initialize SSL
  ** library functions.
  */
#endif
815
  { "envelope_from_address", DT_ADDR, R_NONE, UL &EnvFrom, 0 },
816 817
  /*
  ** .pp
818
  ** Manually sets the \fIenvelope\fP sender for outgoing messages.
819
  ** This value is ignored if $$use_envelope_from is \fIunset\fP.
820
  */
821 822 823 824 825 826 827 828
  { "error_history",	DT_NUM,	 R_NONE, UL &ErrorHistSize, 30 },
  /*
  ** .pp
  ** This variable controls the size (in number of strings remembered)
  ** of the error messages displayed by mutt.  These can be shown with
  ** the \fC<error-history>\fP function.  The history is cleared each
  ** time this variable is set.
  */
Thomas Roessler's avatar
Thomas Roessler committed
829
  { "escape",		DT_STR,	 R_NONE, UL &EscChar, UL "~" },
830 831
  /*
  ** .pp
Rocco Rutte's avatar
Rocco Rutte committed
832
  ** Escape character to use for functions in the built-in editor.
833
  */
Thomas Roessler's avatar
Thomas Roessler committed
834
  { "fast_reply",	DT_BOOL, R_NONE, OPTFASTREPLY, 0 },
835 836
  /*
  ** .pp
837
  ** When \fIset\fP, the initial prompt for recipients and subject are skipped
838 839 840
  ** when replying to messages, and the initial prompt for subject is
  ** skipped when forwarding messages.
  ** .pp
841
  ** \fBNote:\fP this variable has no effect when the $$autoedit
842
  ** variable is \fIset\fP.
843
  */
Derek Martin's avatar
Derek Martin committed
844
  { "fcc_attach",	DT_QUAD, R_NONE, OPT_FCCATTACH, MUTT_YES },
845 846 847 848 849
  /*
  ** .pp
  ** This variable controls whether or not attachments on outgoing messages
  ** are saved along with the main body of your message.
  */
850 851 852
  { "fcc_clear",	DT_BOOL, R_NONE, OPTFCCCLEAR, 0 },
  /*
  ** .pp
853
  ** When this variable is \fIset\fP, FCCs will be stored unencrypted and
854 855
  ** unsigned, even when the actual message is encrypted and/or
  ** signed.
856
  ** (PGP only)
857
  */
858 859 860 861 862
  { "flag_safe", DT_BOOL, R_NONE, OPTFLAGSAFE, 0 },
  /*
  ** .pp
  ** If set, flagged messages cannot be deleted.
  */
Thomas Roessler's avatar
Thomas Roessler committed
863
  { "folder",		DT_PATH, R_NONE, UL &Maildir, UL "~/Mail" },
864 865
  /*
  ** .pp
866
  ** Specifies the default location of your mailboxes.  A ``+'' or ``='' at the
867
  ** beginning of a pathname will be expanded to the value of this
868
  ** variable.  Note that if you change this variable (from the default)
869
  ** value you need to make sure that the assignment occurs \fIbefore\fP
870
  ** you use ``+'' or ``='' for any other variables since expansion takes place
871
  ** when handling the ``$mailboxes'' command.
872
  */
873
  { "folder_format",	DT_STR,	 R_MENU, UL &FolderFormat, UL "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f" },
874 875 876
  /*
  ** .pp
  ** This variable allows you to customize the file browser display to your
877
  ** personal taste.  This string is similar to $$index_format, but has
878
  ** its own set of \fCprintf(3)\fP-like sequences:
879 880 881
  ** .dl
  ** .dt %C  .dd current file number
  ** .dt %d  .dd date/time folder was last modified
882
  ** .dt %D  .dd date/time folder was last modified using $$date_format.
883 884 885
  ** .dt %f  .dd filename (``/'' is appended to directory names,
  **             ``@'' to symbolic links and ``*'' to executable
  **             files)
886 887 888
  ** .dt %F  .dd file permissions
  ** .dt %g  .dd group name (or numeric gid, if missing)
  ** .dt %l  .dd number of hard links
889 890 891
  ** .dt %m  .dd number of messages in the mailbox *
  ** .dt %n  .dd number of unread messages in the mailbox *
  ** .dt %N  .dd N if mailbox has new mail, blank otherwise
892
  ** .dt %s  .dd size in bytes
893
  ** .dt %t  .dd ``*'' if the file is tagged, blank otherwise
894
  ** .dt %u  .dd owner name (or numeric uid, if missing)
895 896 897
  ** .dt %>X .dd right justify the rest of the string and pad with character ``X''
  ** .dt %|X .dd pad to the end of the line with character ``X''
  ** .dt %*X .dd soft-fill with character ``X'' as pad
898
  ** .de
899
  ** .pp
900
  ** For an explanation of ``soft-fill'', see the $$index_format documentation.
901 902 903 904 905 906
  ** .pp
  ** * = can be optionally printed if nonzero
  ** .pp
  ** %m, %n, and %N only work for monitored mailboxes.
  ** %m requires $$mail_check_stats to be set.
  ** %n requires $$mail_check_stats to be set (except for IMAP mailboxes).
907
  */
Thomas Roessler's avatar
Thomas Roessler committed
908
  { "followup_to",	DT_BOOL, R_NONE, OPTFOLLOWUPTO, 1 },
909 910
  /*
  ** .pp
911
  ** Controls whether or not the ``Mail-Followup-To:'' header field is
912
  ** generated when sending mail.  When \fIset\fP, Mutt will generate this
913
  ** field when you are replying to a known mailing list, specified with
914
  ** the ``$subscribe'' or ``$lists'' commands.
915
  ** .pp
916 917 918 919
  ** This field has two purposes.  First, preventing you from
  ** receiving duplicate copies of replies to messages which you send
  ** to mailing lists, and second, ensuring that you do get a reply
  ** separately for any messages sent to known lists to which you are
920 921 922
  ** not subscribed.
  ** .pp
  ** The header will contain only the list's address
923 924 925 926 927
  ** for subscribed lists, and both the list address and your own
  ** email address for unsubscribed lists.  Without this header, a
  ** group reply to your message sent to a subscribed list will be
  ** sent to both the list and your address, resulting in two copies
  ** of the same email for you.
928
  */
Thomas Roessler's avatar
Thomas Roessler committed
929
  { "force_name",	DT_BOOL, R_NONE, OPTFORCENAME, 0 },
930 </