X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=init.h;h=2ccd08ee753e84fd7fc35138da801309ae5abea1;hp=e2777f726088c67f9e2acdb4f2bf840b69dfdda8;hb=9ff4c5cafac6f3cda731034777f28ac5e71cc4fb;hpb=8dea1e97637d64ca1bd59251720e1c790237c8a8 diff --git a/init.h b/init.h index e2777f7..2ccd08e 100644 --- a/init.h +++ b/init.h @@ -1,5 +1,6 @@ /* * Copyright (C) 1996-2002 Michael R. Elkins + * Copyright (C) 2004 g10 Code GmbH * * 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 @@ -187,6 +188,23 @@ struct option_t MuttVars[] = { ** If set, Mutt will prompt you for carbon-copy (Cc) recipients before ** editing the body of an outgoing message. */ + { "assumed_charset", DT_STR, R_NONE, UL &AssumedCharset, UL "us-ascii"}, + /* + ** .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 + ** indication are assumed to be in "us-ascii". + ** .pp + ** For example, Japanese users might prefer this: + ** .pp + ** set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" + ** .pp + ** However, only the first content is valid for the message body. + ** This variable is valid only if $$strict_mime is unset. + */ #ifdef USE_NNTP { "ask_follow_up", DT_BOOL, R_NONE, OPTASKFOLLOWUP, 0 }, /* @@ -209,7 +227,7 @@ struct option_t MuttVars[] = { ** .pp ** .dl ** .dt %C .dd charset - ** .dt %c .dd reqiures charset conversion (n or c) + ** .dt %c .dd requires charset conversion (n or c) ** .dt %D .dd deleted flag ** .dt %d .dd description ** .dt %e .dd MIME content-transfer-encoding @@ -330,10 +348,10 @@ struct option_t MuttVars[] = { ** When \fIset\fP, Mutt will jump to the next unread message, if any, ** when the current thread is \fIun\fPcollapsed. */ - { "compose_format", DT_STR, R_BOTH, UL &ComposeFormat, UL "-- Mutt: Compose [Approx. msg size: %l Atts: %a]%>-" }, + { "compose_format", DT_STR, R_BOTH, UL &ComposeFormat, UL "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-" }, /* ** .pp - ** Controls the format of the status line displayed in the \fCompose\fP + ** Controls the format of the status line displayed in the \fICompose\fP ** menu. This string is similar to ``$$status_format'', but has its own ** set of printf()-like sequences: ** .pp @@ -347,6 +365,12 @@ struct option_t MuttVars[] = { ** See the text describing the ``$$status_format'' option for more ** information on how to set ``$$compose_format''. */ + { "config_charset", DT_STR, R_NONE, UL &ConfigCharset, UL 0 }, + /* + ** .pp + ** When defined, Mutt will recode commands in rc files from this + ** encoding. + */ { "confirmappend", DT_BOOL, R_NONE, OPTCONFIRMAPPEND, 1 }, /* ** .pp @@ -378,6 +402,17 @@ struct option_t MuttVars[] = { ** will be saved for later references. Also see ``$$record'', ** ``$$save_name'', ``$$force_name'' and ``$fcc-hook''. */ + + { "crypt_use_gpgme", DT_BOOL, R_NONE, OPTCRYPTUSEGPGME, 0 }, + /* + ** .pp + ** This variable controls the use the GPGME enabled crypto backends. + ** If it is set and Mutt was build with gpgme support, the gpgme code for + ** S/MIME and PGP will be used instead of the classic code. Note, that + ** you need to use this option in .muttrc as it won't have any effect when + ** used interactively. + */ + { "crypt_autopgp", DT_BOOL, R_NONE, OPTCRYPTAUTOPGP, 1 }, /* ** .pp @@ -441,8 +476,8 @@ struct option_t MuttVars[] = { { "digest_collapse", DT_BOOL, R_NONE, OPTDIGESTCOLLAPSE, 1}, /* ** .pp - ** If this option is \fIset\fP, mutt's revattach menu will not show the subparts of - ** individual messages in a digest. To see these subparts, press 'v' on that menu. + ** If this option is \fIset\fP, mutt's received-attachments menu will not show the subparts of + ** individual messages in a multipart/digest. To see these subparts, press 'v' on that menu. */ { "display_filter", DT_PATH, R_PAGER, UL &DisplayFilter, UL "" }, /* @@ -455,7 +490,7 @@ struct option_t MuttVars[] = { { "dotlock_program", DT_PATH, R_NONE, UL &MuttDotlock, UL BINDIR "/muttng_dotlock" }, /* ** .pp - ** Contains the path of the mutt_dotlock (8) binary to be used by + ** Contains the path of the muttng_dotlock (8) binary to be used by ** mutt. */ #endif @@ -557,6 +592,20 @@ struct option_t MuttVars[] = { ** signed. ** (PGP only) */ + { "file_charset", DT_STR, R_NONE, UL &FileCharset, UL 0 }, + /* + ** .pp + ** This variable is a colon-separated list of character encoding + ** schemes for text file attatchments. + ** If unset, $$charset value will be used instead. + ** For example, the following configuration would work for Japanese + ** text handling: + ** .pp + ** set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" + ** .pp + ** Note: "iso-2022-*" must be put at the head of the value as shown above + ** if included. + */ { "folder", DT_PATH, R_NONE, UL &Maildir, UL "~/Mail" }, /* ** .pp @@ -760,6 +809,13 @@ struct option_t MuttVars[] = { ** When set, mutt will not show the presence of missing messages in the ** thread tree. */ + { "hide_thread_subject", DT_BOOL, R_TREE|R_INDEX, OPTHIDETHREADSUBJECT, 1 }, + /* + ** .pp + ** When set, mutt will not show the subject of messages in the thread + ** tree that have the same subject as their parent or closest previously + ** displayed sibling. + */ { "hide_top_limited", DT_BOOL, R_TREE|R_INDEX, OPTHIDETOPLIMITED, 0 }, /* ** .pp @@ -813,8 +869,8 @@ struct option_t MuttVars[] = { ** This is a colon-delimited list of authentication methods mutt may ** attempt to use to log in to an IMAP server, in the order mutt should ** try them. Authentication methods are either 'login' or the right - ** side of an IMAP 'AUTH=xxx' capability string, eg 'digest-md5', - ** 'gssapi' or 'cram-md5'. This parameter is case-insensitive. If this + ** side of an IMAP 'AUTH=xxx' capability string, eg 'digest-md5', 'gssapi' + ** or 'cram-md5'. This parameter is case-insensitive. If this ** parameter is unset (the default) mutt will try all available methods, ** in order from most-secure to least-secure. ** .pp @@ -839,6 +895,15 @@ struct option_t MuttVars[] = { ** connecting to IMAP servers. */ # endif + { "imap_headers", DT_STR, R_INDEX, UL &ImapHeaders, UL 0}, + /* + ** .pp + ** Mutt requests these header fields in addition to the default headers + ** ("DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE + ** CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL") from IMAP + ** servers before displaying the index menu. You may want to add more + ** headers for spam detection. \fBNote:\fP This is a space separated list. + */ { "imap_home_namespace", DT_STR, R_NONE, UL &ImapHomeNamespace, UL 0}, /* ** .pp @@ -890,6 +955,12 @@ struct option_t MuttVars[] = { ** but can make closing an IMAP folder somewhat slower. This option ** exists to appease speed freaks. */ + { "imap_reconnect", DT_QUAD, R_NONE, OPT_IMAPRECONNECT, M_ASKYES }, + /* + ** .pp + ** Controls whether or not Mutt-ng will try to reconnect to IMAP server when + ** the connection is lost. + */ { "imap_servernoise", DT_BOOL, R_NONE, OPTIMAPSERVERNOISE, 1 }, /* ** .pp @@ -922,6 +993,12 @@ struct option_t MuttVars[] = { ** Controls whether or not a copy of the message(s) you are replying to ** is included in your reply. */ + { "include_onlyfirst", DT_BOOL, R_NONE, OPTINCLUDEONLYFIRST, 0}, + /* + ** .pp + ** Controls whether or not Mutt includes only the first attachment + ** of the message you are replying. + */ { "indent_string", DT_STR, R_NONE, UL &Prefix, UL "> " }, /* ** .pp @@ -957,6 +1034,7 @@ struct option_t MuttVars[] = { ** .dt %E .dd number of messages in current thread ** .dt %f .dd entire From: line (address + real name) ** .dt %F .dd author name, or recipient name if the message is from you + ** .dt %H .dd spam attribute(s) of this message ** .dt %g .dd newsgroup name (if compiled with nntp support) ** .dt %i .dd message-id of the current message ** .dt %l .dd number of lines in the message (does not work with maildir, @@ -1133,6 +1211,12 @@ struct option_t MuttVars[] = { ** this is unset, it will be set to the operating system name that uname(2) ** returns. If uname(2) fails, "UNIX" will be used. */ + { "sidebar_delim", DT_STR, R_BOTH, UL &SidebarDelim, UL "|" }, + /* + ** .pp + ** This specifies the delimiter between the sidebar (if visible) and + ** other screens. + */ { "sidebar_visible", DT_BOOL, R_BOTH, OPTMBOXPANE, 0 }, /* ** .pp @@ -1155,6 +1239,12 @@ struct option_t MuttVars[] = { ** If unset, Mutt will remove your address (see the ``alternates'' ** command) from the list of recipients when replying to a message. */ + { "menu_context", DT_NUM, R_NONE, UL &MenuContext, 0 }, + /* + ** .pp + ** This variable controls the number of lines of context that are given + ** when scrolling through menus. (Similar to ``$$pager_context''.) + */ { "menu_scroll", DT_BOOL, R_NONE, OPTMENUSCROLL, 0 }, /* ** .pp @@ -1267,7 +1357,7 @@ struct option_t MuttVars[] = { { "move", DT_QUAD, R_NONE, OPT_MOVE, M_ASKNO }, /* ** .pp - ** Controls whether you will be asked to confirm moving read messages + ** Controls whether or not Mutt will move read messages ** from your spool mailbox to your ``$$mbox'' mailbox, or as a result of ** a ``$mbox-hook'' command. */ @@ -1281,6 +1371,32 @@ struct option_t MuttVars[] = { { "msg_format", DT_SYN, R_NONE, UL "message_format", 0 }, /* */ + { "msgid_format", DT_STR, R_NONE, UL &MsgIdFormat, UL "%Y%m%d%h%M%s.G%P%p" }, + /* + ** .pp + ** This is the format for the ``local part'' of the message-IDs generated + ** by Mutt-ng. The format string contains of one or more characters. The '%' + ** character marks that certain data will be added to the string, similar to + ** printf(). The following characters are allowed: + ** .pp + ** .dl + ** .dt %d .dd the current day of month + ** .dt %h .dd the current hour + ** .dt %m .dd the current month + ** .dt %M .dd the current minute + ** .dt %O .dd the current UNIX timestamp (octal) + ** .dt %p .dd the process ID + ** .dt %P .dd the current message-ID prefix (a character rotating with + ** every message-ID being generated) + ** .dt %r .dd a random integer value (decimal) + ** .dt %R .dd a random integer value (hexadecimal) + ** .dt %s .dd the current second + ** .dt %T .dd the current UNIX timestamp (decimal) + ** .dt %X .dd the current UNIX timestamp (hexadecimal) + ** .dt %Y .dd the current year (Y2K compliant) + ** .dt %% .dd the '%' character + ** .de + */ { "narrow_tree", DT_BOOL, R_TREE|R_INDEX, OPTNARROWTREE, 0 }, /* ** .pp @@ -1578,6 +1694,48 @@ struct option_t MuttVars[] = { ** removed, while the inner multipart/signed part is retained. ** (PGP only) */ + { "pgp_create_traditional", DT_SYN, R_NONE, UL "pgp_autoinline", 0 }, + { "pgp_autoinline", DT_BOOL, R_NONE, OPTPGPAUTOINLINE, 0 }, + /* + ** .pp + ** This option controls whether Mutt generates old-style inline + ** (traditional) PGP encrypted or signed messages under certain + ** circumstances. This can be overridden by use of the \fIpgp-menu\fP, + ** when inline is not required. + ** .pp + ** Note that Mutt might automatically use PGP/MIME for messages + ** which consist of more than a single MIME part. Mutt can be + ** configured to ask before sending PGP/MIME messages when inline + ** (traditional) would not work. + ** See also: ``$$pgp_mime_auto''. + ** .pp + ** Also note that using the old-style PGP message format is \fBstrongly\fP + ** \fBdeprecated\fP. + ** (PGP only) + */ + { "pgp_auto_traditional", DT_SYN, R_NONE, UL "pgp_replyinline", 0 }, + { "pgp_replyinline", DT_BOOL, R_NONE, OPTPGPREPLYINLINE, 0 }, + /* + ** .pp + ** Setting this variable will cause Mutt to always attempt to + ** create an inline (traditional) message when replying to a + ** message which is PGP encrypted/signed inline. This can be + ** overridden by use of the \fIpgp-menu\fP, when inline is not + ** required. This option does not automatically detect if the + ** (replied-to) message is inline; instead it relies on Mutt + ** internals for previously checked/flagged messages. + ** .pp + ** Note that Mutt might automatically use PGP/MIME for messages + ** which consist of more than a single MIME part. Mutt can be + ** configured to ask before sending PGP/MIME messages when inline + ** (traditional) would not work. + ** See also: ``$$pgp_mime_auto''. + ** .pp + ** Also note that using the old-style PGP message format is \fBstrongly\fP + ** \fBdeprecated\fP. + ** (PGP only) + ** + */ { "pgp_show_unusable", DT_BOOL, R_NONE, OPTPGPSHOWUNUSABLE, 1 }, /* ** .pp @@ -1627,38 +1785,29 @@ struct option_t MuttVars[] = { ** `reverse-'. ** (PGP only) */ - { "pgp_create_traditional", DT_QUAD, R_NONE, OPT_PGPTRADITIONAL, M_NO }, + { "pgp_mime_auto", DT_QUAD, R_NONE, OPT_PGPMIMEAUTO, M_ASKYES }, /* ** .pp - ** This option controls whether Mutt generates old-style inline PGP - ** encrypted or signed messages. - ** .pp - ** Note that PGP/MIME will be used automatically for messages which have - ** a character set different from us-ascii, or which consist of more than - ** a single MIME part. + ** This option controls whether Mutt will prompt you for + ** automatically sending a (signed/encrypted) message using + ** PGP/MIME when inline (traditional) fails (for any reason). ** .pp ** Also note that using the old-style PGP message format is \fBstrongly\fP ** \fBdeprecated\fP. ** (PGP only) */ - { "pgp_auto_traditional", DT_BOOL, R_NONE, OPTPGPAUTOTRAD, 0 }, + { "pgp_auto_decode", DT_BOOL, R_NONE, OPTPGPAUTODEC, 0 }, /* ** .pp - ** This option causes Mutt to generate an old-style inline PGP - ** encrypted or signed message when replying to an old-style - ** message, and a PGP/MIME message when replying to a PGP/MIME - ** message. Note that this option is only meaningful when using - ** ``$$crypt_replyencrypt'', ``$$crypt_replysign'', or - ** ``$$crypt_replysignencrypted''. - ** .pp - ** Also note that PGP/MIME will be used automatically for messages - ** which have a character set different from us-ascii, or which - ** consist of more than a single MIME part. - ** .pp - ** This option overrides ``$$pgp_create_traditional'' - ** (PGP only) + ** If set, mutt will automatically attempt to decrypt traditional PGP + ** messages whenever the user performs an operation which ordinarily would + ** result in the contents of the message being operated on. For example, + ** if the user displays a pgp-traditional message which has not been manually + ** checked with the check-traditional-pgp function, mutt will automatically + ** check the message for traditional pgp. */ + /* XXX Default values! */ { "pgp_decode_command", DT_STR, R_NONE, UL &PgpDecodeCommand, 0}, @@ -1909,8 +2058,8 @@ struct option_t MuttVars[] = { /* ** .pp ** This command is used to extract only the signers X509 certificate from a S/MIME - ** signature, so that the certificate's owner may get compared to the email's - ** 'From'-field. + ** signature, so that the certificate's owner may get compared to the + ** email's 'From'-field. ** (S/MIME only) */ { "smime_import_cert_command", DT_STR, R_NONE, UL &SmimeImportCertCommand, 0}, @@ -1968,6 +2117,14 @@ struct option_t MuttVars[] = { #endif #if defined(USE_SSL)||defined(USE_NSS)||defined(USE_GNUTLS) +#ifdef USE_SSL + { "ssl_client_cert", DT_PATH, R_NONE, UL &SslClientCert, 0 }, + /* + ** .pp + ** The file containing a client certificate and its associated private + ** key. + */ +#endif # if defined(USE_SSL)||defined(USE_GNUTLS) { "ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, M_YES }, /* @@ -1977,7 +2134,7 @@ struct option_t MuttVars[] = { ** use STARTTLS regardless of the server's capabilities. */ # endif - { "certificate_file", DT_PATH, R_NONE, UL &SslCertFile, 0 }, + { "certificate_file", DT_PATH, R_NONE, UL &SslCertFile, UL "~/.mutt_certificates" }, /* ** .pp ** This variable specifies the file where the certificates you trust @@ -2042,6 +2199,24 @@ struct option_t MuttVars[] = { ** .pp ** Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt */ +#ifdef USE_GNUTLS + { "ssl_min_dh_prime_bits", DT_NUM, R_NONE, UL &SslDHPrimeBits, 0 }, + /* + ** .pp + ** This variable specifies the minimum acceptable prime size (in bits) + ** for use in any Diffie-Hellman key exchange. A value of 0 will use + ** the default from the GNUTLS library. + */ + { "ssl_ca_certificates_file", DT_PATH, R_NONE, UL &SslCACertFile, 0 }, + /* + ** .pp + ** This variable specifies a file containing trusted CA certificates. + ** Any server certificate that is signed with one of these CA + ** certificates are also automatically accepted. + ** .pp + ** Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt + */ +#endif #endif #endif @@ -2197,8 +2372,9 @@ struct option_t MuttVars[] = { { "print", DT_QUAD, R_NONE, OPT_PRINT, M_ASKNO }, /* ** .pp - ** Controls whether or not Mutt asks for confirmation before printing. - ** This is useful for people (like me) who accidentally hit ``p'' often. + ** Controls whether or not Mutt really prints messages. + ** This is set to \fIask-no\fP by default, because some people + ** accidentally hit ``p'' often (like me). */ { "print_command", DT_PATH, R_NONE, UL &PrintCmd, UL "lpr" }, /* @@ -2312,7 +2488,7 @@ struct option_t MuttVars[] = { { "recall", DT_QUAD, R_NONE, OPT_RECALL, M_ASKYES }, /* ** .pp - ** Controls whether or not you are prompted to recall postponed messages + ** Controls whether or not Mutt recalls postponed messages ** when composing a new message. Also see ``$$postponed''. ** .pp ** Setting this variable to ``yes'' is not generally useful, and thus not @@ -2346,8 +2522,8 @@ struct option_t MuttVars[] = { { "reply_to", DT_QUAD, R_NONE, OPT_REPLYTO, M_ASKYES }, /* ** .pp - ** If set, Mutt will ask you if you want to use the address listed in the - ** Reply-To: header field when replying to a message. If you answer no, + ** If set, when replying to a message, Mutt will use the address listed + ** in the Reply-to: header as the recipient of the reply. If unset, ** it will use the address in the From: header field instead. This ** option is useful for reading a mailing list that sets the Reply-To: ** header field to the list address and you want to send a private @@ -2389,8 +2565,10 @@ struct option_t MuttVars[] = { ** move the messages to another machine, and reply to some the messages ** from there. If this variable is set, the default \fIFrom:\fP line of ** the reply messages is built using the address where you received the - ** messages you are replying to. If the variable is unset, the - ** \fIFrom:\fP line will use your address on the current machine. + ** messages you are replying to \fBif\fP that address matches your + ** alternates. If the variable is unset, or the address that would be + ** used doesn't match your alternates, the \fIFrom:\fP line will use + ** your address on the current machine. */ { "reverse_realname", DT_BOOL, R_BOTH, OPTREVREAL, 1 }, /* @@ -2526,6 +2704,12 @@ struct option_t MuttVars[] = { ** When \fIset\fP, info about unsubscribed newsgroups will be saved into ** ``newsrc'' file and into cache. */ + { "shorten_hierarchy", DT_BOOL, R_NONE, OPTSHORTENHIERARCHY, 0 }, + /* + ** .pp + ** When \fIset\fP, the "hierarchy" of the sidebar entries will be shortened, + ** e.g. de.alt.sysadmin.recovery becomes d.a.s.recovery. + */ { "show_new_news", DT_BOOL, R_NONE, OPTSHOWNEWNEWS, 1 }, /* ** .pp @@ -2567,6 +2751,16 @@ struct option_t MuttVars[] = { ** assumed that filename is a shell command and input should be read from ** its stdout. */ + { "signoff_string", DT_STR, R_NONE, UL &SignOffString, UL 0 }, + /* + ** .pp + ** If set, this string will be inserted before the signature. This is useful + ** for people that want to sign off every message they send with their name. + ** .pp + ** If you want to insert your website's URL, additional contact information or + ** witty quotes into your mails, better use a signature file instead of + ** the signoff string. + */ { "simple_search", DT_STR, R_NONE, UL &SimpleSearch, UL "~f %s | ~s %s" }, /* ** .pp @@ -2616,6 +2810,7 @@ struct option_t MuttVars[] = { ** . mailbox-order (unsorted) ** . score ** . size + ** . spam ** . subject ** . threads ** . to @@ -2653,7 +2848,7 @@ struct option_t MuttVars[] = { ** order $$sort_aux is reversed again (which is not the right thing to do, ** but kept to not break any existing configuration setting). */ - { "sort_browser", DT_SORT|DT_SORT_BROWSER, R_NONE, UL &BrowserSort, SORT_SUBJECT }, + { "sort_browser", DT_SORT|DT_SORT_BROWSER, R_NONE, UL &BrowserSort, SORT_ALPHA }, /* ** .pp ** Specifies how to sort entries in the file browser. By default, the @@ -2681,6 +2876,15 @@ struct option_t MuttVars[] = { ** the message whether or not this is the case, as long as the ** non-``$$reply_regexp'' parts of both messages are identical. */ + { "spam_separator", DT_STR, R_NONE, UL &SpamSep, UL "," }, + /* + ** .pp + ** ``$spam_separator'' controls what happens when multiple spam headers + ** are matched: if unset, each successive header will overwrite any + ** previous matches value for the spam label. If set, each successive + ** match will append to the previous, using ``$spam_separator'' as a + ** separator. + */ { "spoolfile", DT_PATH, R_NONE, UL &Spoolfile, 0 }, /* ** .pp @@ -2712,6 +2916,7 @@ struct option_t MuttVars[] = { ** .pp ** .dl ** .dt %b .dd number of mailboxes with new mail * + ** .dt %B .dd the short pathname of the current mailbox ** .dt %d .dd number of deleted messages * ** .dt %f .dd the full pathname of the current mailbox ** .dt %F .dd number of flagged messages * @@ -2722,7 +2927,7 @@ struct option_t MuttVars[] = { ** .dt %m .dd the number of messages in the mailbox * ** .dt %M .dd the number of messages shown (i.e., which match the current limit) * ** .dt %n .dd number of new messages in the mailbox * - ** .dt %o .dd number of old unread messages + ** .dt %o .dd number of old unread messages * ** .dt %p .dd number of postponed messages * ** .dt %P .dd percentage of the way through the index ** .dt %r .dd modified/read-only/won't-write/attach-message indicator, @@ -2749,8 +2954,8 @@ struct option_t MuttVars[] = { ** .pp ** where \fIsequence_char\fP is a character from the table above, and ** \fIoptional_string\fP is the string you would like printed if - ** \fIstatus_char\fP is nonzero. \fIoptional_string\fP \fBmay\fP contain - ** other sequence as well as normal text, but you may \fBnot\fP nest + ** \fIsequence_char\fP is nonzero. \fIoptional_string\fP \fBmay\fP contain + ** other sequences as well as normal text, but you may \fBnot\fP nest ** optional strings. ** .pp ** Here is an example illustrating how to optionally print the number of @@ -2778,6 +2983,19 @@ struct option_t MuttVars[] = { ** Setting this variable causes the ``status bar'' to be displayed on ** the first line of the screen rather than near the bottom. */ + { "strict_mime", DT_BOOL, R_NONE, OPTSTRICTMIME, 1 }, + /* + ** .pp + ** When unset, non MIME-compliant messages that doesn't have any + ** charset indication in ``Content-Type'' field can be displayed + ** (non MIME-compliant messages are often generated by old mailers + ** or buggy mailers like MS Outlook Express). + ** See also $$assumed_charset. + ** .pp + ** This option also replaces linear-white-space between encoded-word + ** and *text to a single space to prevent the display of MIME-encoded + ** ``Subject'' field from being devided into multiple lines. + */ { "strict_threads", DT_BOOL, R_RESORT|R_RESORT_INIT|R_INDEX, OPTSTRICTTHREADS, 0 }, /* ** .pp @@ -2788,6 +3006,13 @@ struct option_t MuttVars[] = { ** personal mailbox where you might have several unrelated messages with ** the subject ``hi'' which will get grouped together. */ + { "stuff_quoted", DT_BOOL, R_BOTH, OPTSTUFFQUOTED, 0 }, + /* + ** .pp + ** If set, attachments with flowed format will have their quoting ``stuffed'', + ** i.e. a space will be inserted between the quote characters and the actual + ** text. + */ { "suspend", DT_BOOL, R_NONE, OPTSUSPEND, 1 }, /* ** .pp @@ -2910,6 +3135,15 @@ struct option_t MuttVars[] = { ** generated unless the user explicitly sets one using the ``$my_hdr'' ** command. */ +#ifdef HAVE_LIBIDN + { "use_idn", DT_BOOL, R_BOTH, OPTUSEIDN, 1}, + /* + ** .pp + ** When \fIset\fP, Mutt will show you international domain names decoded. + ** Note: You can use IDNs for addresses even if this is \fIunset\fP. + ** This variable only affects decoding. + */ +#endif /* HAVE_LIBIDN */ #ifdef HAVE_GETADDRINFO { "use_ipv6", DT_BOOL, R_NONE, OPTUSEIPV6, 1}, /* @@ -2949,7 +3183,7 @@ struct option_t MuttVars[] = { { "weed", DT_BOOL, R_NONE, OPTWEED, 1 }, /* ** .pp - ** When set, mutt will weed headers when when displaying, forwarding, + ** When set, mutt will weed headers when displaying, forwarding, ** printing, or replying to messages. */ { "wrap_search", DT_BOOL, R_NONE, OPTWRAPSEARCH, 1 }, @@ -2979,7 +3213,7 @@ struct option_t MuttVars[] = { /* ** .pp ** Controls whether mutt writes out the Bcc header when preparing - ** messages to be sent. Exim users may wish to use this. + ** messages to be sent. Exim users may wish to unset this. */ {"xterm_icon", DT_STR, R_BOTH, UL &XtermIcon, UL "M%?n?AIL&ail?"}, /* @@ -3025,6 +3259,7 @@ const struct mapping_t SortMethods[] = { { "threads", SORT_THREADS }, { "to", SORT_TO }, { "score", SORT_SCORE }, + { "spam", SORT_SPAM }, { NULL, 0 } }; @@ -3043,6 +3278,7 @@ const struct mapping_t SortAuxMethods[] = { */ { "to", SORT_TO }, { "score", SORT_SCORE }, + { "spam", SORT_SPAM }, { NULL, 0 } }; @@ -3075,9 +3311,11 @@ const struct mapping_t SortKeyMethods[] = { static int parse_list (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_rx_list (BUFFER *, BUFFER *, unsigned long, BUFFER *); +static int parse_spam_list (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_unlist (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_rx_unlist (BUFFER *, BUFFER *, unsigned long, BUFFER *); +static int parse_lists (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_unlists (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_alias (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_unalias (BUFFER *, BUFFER *, unsigned long, BUFFER *); @@ -3088,17 +3326,22 @@ static int parse_set (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_my_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_unmy_hdr (BUFFER *, BUFFER *, unsigned long, BUFFER *); static int parse_subscribe (BUFFER *, BUFFER *, unsigned long, BUFFER *); +static int parse_unsubscribe (BUFFER *, BUFFER *, unsigned long, BUFFER *); + +static int parse_alternates (BUFFER *, BUFFER *, unsigned long, BUFFER *); +static int parse_unalternates (BUFFER *, BUFFER *, unsigned long, BUFFER *); struct command_t { char *name; int (*func) (BUFFER *, BUFFER *, unsigned long, BUFFER *); unsigned long data; + unsigned long data1; }; struct command_t Commands[] = { - { "alternates", parse_rx_list, UL &Alternates }, - { "unalternates", parse_rx_unlist, UL &Alternates }, + { "alternates", parse_alternates, 0 }, + { "unalternates", parse_unalternates, 0 }, #ifdef USE_SOCKET { "account-hook", mutt_parse_hook, M_ACCOUNTHOOK }, #endif @@ -3125,7 +3368,7 @@ struct command_t Commands[] = { { "iconv-hook", mutt_parse_hook, M_ICONVHOOK }, #endif { "ignore", parse_ignore, 0 }, - { "lists", parse_rx_list, UL &MailLists }, + { "lists", parse_lists, 0 }, { "macro", mutt_parse_macro, 0 }, { "mailboxes", mutt_parse_mailboxes, M_MAILBOXES }, { "unmailboxes", mutt_parse_mailboxes, M_UNMAILBOXES }, @@ -3143,8 +3386,11 @@ struct command_t Commands[] = { { "save-hook", mutt_parse_hook, M_SAVEHOOK }, { "score", mutt_parse_score, 0 }, { "send-hook", mutt_parse_hook, M_SENDHOOK }, + { "send2-hook", mutt_parse_hook, M_SEND2HOOK }, { "set", parse_set, 0 }, { "source", parse_source, 0 }, + { "spam", parse_spam_list, M_SPAM }, + { "nospam", parse_spam_list, M_NOSPAM }, { "subscribe", parse_subscribe, 0 }, { "toggle", parse_set, M_SET_INV }, { "unalias", parse_unalias, 0 }, @@ -3158,6 +3404,6 @@ struct command_t Commands[] = { { "unmy_hdr", parse_unmy_hdr, 0 }, { "unscore", mutt_parse_unscore, 0 }, { "unset", parse_set, M_SET_UNSET }, - { "unsubscribe", parse_rx_unlist, UL &SubscribedLists }, + { "unsubscribe", parse_unsubscribe, 0 }, { NULL } };