56#define CONFIG_INIT_TYPE(CS, NAME) \
57 extern const struct ConfigSetType Cst##NAME; \
58 cs_register_type(CS, &Cst##NAME)
60#define CONFIG_INIT_VARS(CS, NAME) \
61 bool config_init_##NAME(struct ConfigSet *cs); \
62 config_init_##NAME(CS)
117 const char *str = (
const char *)
value;
122 buf_printf(err,
_(
"Invalid value for option %s: %s"), cdef->
name, str);
154 { NULL, NULL, 0, -1, NULL }
167 const char **parsed_until,
186 const char **parsed_until,
205 const char **parsed_until,
225 const char **parsed_until,
231 _(
"index-hook cannot be used as a condition"));
246 const char **parsed_until,
250 if (!isalnum(str[1]))
284 NULL, parsed_until, err);
369 { NULL, NULL, 0, -1, NULL }
413 { NULL, NULL, 0, -1, NULL }
425 {
"abort_backspace",
DT_BOOL,
true, 0, NULL,
426 "Hitting backspace against an empty prompt aborts the prompt"
429 "String representation of key to abort prompts"
431 {
"arrow_cursor",
DT_BOOL,
false, 0, NULL,
432 "Use an arrow '->' instead of highlighting in the index"
435 "Use a custom string for arrow_cursor"
437 {
"ascii_chars",
DT_BOOL,
false, 0, NULL,
438 "Use plain ASCII characters, when drawing email threads"
441 "If a message is missing a character set, assume this character set"
444 "printf-like format string for the attachment menu"
447 "Default directory where attachments are saved"
449 {
"attach_save_without_prompting",
DT_BOOL,
false, 0, NULL,
450 "If true, then don't prompt to save"
453 "Separator to add between saved/printed/piped attachments"
455 {
"attach_split",
DT_BOOL,
true, 0, NULL,
456 "Save/print/pipe tagged messages individually"
458 {
"auto_edit",
DT_BOOL,
false, 0, NULL,
459 "Skip the initial compose menu and edit the email"
461 {
"auto_subscribe",
DT_BOOL,
false, 0, NULL,
462 "Automatically check if the user is subscribed to a mailing list"
464 {
"auto_tag",
DT_BOOL,
false, 0, NULL,
465 "Automatically apply actions to all tagged messages"
467 {
"beep",
DT_BOOL,
true, 0, NULL,
468 "Make a noise when an error occurs"
470 {
"beep_new",
DT_BOOL,
false, 0, NULL,
471 "Make a noise when new mail arrives"
474 "Confirm before bouncing a message"
476 {
"braille_friendly",
DT_BOOL,
false, 0, NULL,
477 "Move the cursor to the beginning of the line"
480 "Default character set for displaying text on screen"
482 {
"collapse_flagged",
DT_BOOL,
true, 0, NULL,
483 "Prevent the collapse of threads with flagged emails"
485 {
"collapse_unread",
DT_BOOL,
true, 0, NULL,
486 "Prevent the collapse of threads with unread emails"
489 "Use 24bit colors (aka truecolor aka directcolor)"
492 "Character set that the config files are in"
494 {
"confirm_append",
DT_BOOL,
true, 0, NULL,
495 "Confirm before appending emails to a mailbox"
497 {
"confirm_create",
DT_BOOL,
true, 0, NULL,
498 "Confirm before creating a new mailbox"
500 {
"copy_decode_weed",
DT_BOOL,
false, 0, NULL,
501 "Controls whether to weed headers when copying or saving emails"
503 {
"count_alternatives",
DT_BOOL,
false, 0, NULL,
504 "Recurse inside multipart/alternatives while counting attachments"
507 "User-configurable crypto flags: signed, encrypted etc."
510 "strftime format string for the `%d` expando"
513 "File to save debug logs"
516 "Logging level for debug logs"
518 {
"default_hook",
DT_STRING,
IP "~f %s !~P | (~P ~C %s)", 0, NULL,
519 "Pattern to use for hooks that only have a simple regex"
522 "Really delete messages, when the mailbox is closed"
524 {
"delete_untag",
DT_BOOL,
true, 0, NULL,
525 "Untag messages when they are marked for deletion"
527 {
"digest_collapse",
DT_BOOL,
true, 0, NULL,
528 "Hide the subparts of a multipart/digest"
530 {
"duplicate_threads",
DT_BOOL,
true, 0, NULL,
531 "Highlight messages with duplicated message IDs"
534 "External command to use as an email editor"
537 "User-configurable index flags: tagged, new, etc"
539 {
"flag_safe",
DT_BOOL,
false, 0, NULL,
540 "Protect flagged messages from deletion"
543 "Base folder for a set of mailboxes"
545 {
"force_name",
DT_BOOL,
false, 0, NULL,
546 "Save outgoing mail in a folder of their name"
548 {
"forward_decode",
DT_BOOL,
true, 0, NULL,
549 "Decode the message when forwarding it"
551 {
"forward_quote",
DT_BOOL,
false, 0, NULL,
552 "Automatically quote a forwarded message using `$indent_string`"
555 "Default 'From' address to use, if isn't otherwise set"
558 "User-configurable index flags: to address, cc address, etc"
560 {
"gecos_mask",
DT_REGEX,
IP "^[^,]*", 0, NULL,
561 "Regex for parsing GECOS field of /etc/passwd"
563 {
"header",
DT_BOOL,
false, 0, NULL,
564 "Include the message headers in the reply email (Weed applies)"
566 {
"hidden_tags",
DT_SLIST|
D_SLIST_SEP_COMMA,
IP "unread,draft,flagged,passed,replied,attachment,signed,encrypted", 0, NULL,
567 "List of tags that shouldn't be displayed on screen (comma-separated)"
569 {
"hide_limited",
DT_BOOL,
false, 0, NULL,
570 "Don't indicate hidden messages, in the thread tree"
572 {
"hide_missing",
DT_BOOL,
true, 0, NULL,
573 "Don't indicate missing messages, in the thread tree"
575 {
"hide_thread_subject",
DT_BOOL,
true, 0, NULL,
576 "Hide subjects that are similar to that of the parent message"
578 {
"hide_top_limited",
DT_BOOL,
false, 0, NULL,
579 "Don't indicate hidden top message, in the thread tree"
581 {
"hide_top_missing",
DT_BOOL,
true, 0, NULL,
582 "Don't indicate missing top message, in the thread tree"
584 {
"honor_disposition",
DT_BOOL,
false, 0, NULL,
585 "Don't display MIME parts inline if they have a disposition of 'attachment'"
588 "Fully-qualified domain name of this machine"
590 {
"implicit_auto_view",
DT_BOOL,
false, 0, NULL,
591 "Display MIME attachments inline if a 'copiousoutput' mailcap entry exists"
593 {
"include_encrypted",
DT_BOOL,
false, 0, NULL,
594 "Whether to include encrypted content when replying"
596 {
"include_only_first",
DT_BOOL,
false, 0, NULL,
597 "Only include the first attachment when replying"
600 "String used to indent 'reply' text"
603 "printf-like format string for the index menu (emails)"
605 {
"keep_flagged",
DT_BOOL,
false, 0, NULL,
606 "Don't move flagged messages from `$spool_file` to `$mbox`"
608 {
"local_date_header",
DT_BOOL,
true, 0, NULL,
609 "Convert the date in the Date header of sent emails into local timezone, UTC otherwise"
612 "Number of seconds before NeoMutt checks for new mail"
614 {
"mail_check_recent",
DT_BOOL,
true, 0, NULL,
615 "Notify the user about new mail since the last time the mailbox was opened"
617 {
"mail_check_stats",
DT_BOOL,
false, 0, NULL,
618 "Periodically check for new mail"
621 "How often to check for new mail"
623 {
"mailcap_path",
DT_SLIST|
D_SLIST_SEP_COLON,
IP "~/.mailcap:" PKGDATADIR
"/mailcap:" SYSCONFDIR
"/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap", 0, NULL,
624 "List of mailcap files (colon-separated)"
626 {
"mailcap_sanitize",
DT_BOOL,
true, 0, NULL,
627 "Restrict the possible characters in mailcap expandos"
629 {
"mark_old",
DT_BOOL,
true, 0, NULL,
630 "Mark new emails as old when leaving the mailbox"
632 {
"markers",
DT_BOOL,
true, 0, NULL,
633 "Display a '+' at the beginning of wrapped lines in the pager"
636 "Folder that receives read emails (see Move)"
639 "Default type for creating new mailboxes"
641 {
"message_cache_clean",
DT_BOOL,
false, 0, NULL,
642 "(imap/pop) Clean out obsolete entries from the message cache"
645 "(imap/pop) Directory for the message cache"
648 "printf-like format string for listing attached messages"
650 {
"meta_key",
DT_BOOL,
false, 0, NULL,
651 "Interpret 'ALT-x' as 'ESC-x'"
654 "Forward a message as a 'message/RFC822' MIME part"
657 "Forward all attachments, even if they can't be decoded"
660 "Move emails from `$spool_file` to `$mbox` when read"
662 {
"narrow_tree",
DT_BOOL,
false, 0, NULL,
663 "Draw a narrower thread tree in the index"
666 "(socket) Update the progress bar after this many KB sent/received (0 to disable)"
669 "External command to run when new mail arrives"
671 {
"pipe_decode",
DT_BOOL,
false, 0, NULL,
672 "Decode the message when piping it"
674 {
"pipe_decode_weed",
DT_BOOL,
true, 0, NULL,
675 "Control whether to weed headers when piping an email"
678 "Separator to add between multiple piped messages"
680 {
"pipe_split",
DT_BOOL,
false, 0, NULL,
681 "Run the pipe command on each message separately"
684 "Folder to store postponed messages"
687 "List of Preferred Languages for multilingual MIME (comma-separated)"
690 "Confirm before printing a message"
693 "External command to print a message"
695 {
"print_decode",
DT_BOOL,
true, 0, NULL,
696 "Decode message before printing it"
698 {
"print_decode_weed",
DT_BOOL,
true, 0, NULL,
699 "Control whether to weed headers when printing an email"
701 {
"print_split",
DT_BOOL,
false, 0, NULL,
702 "Print multiple messages separately"
705 "Prompt before exiting NeoMutt"
707 {
"quote_regex",
DT_REGEX,
IP "^([ \t]*[|>:}#])+", 0, NULL,
708 "Regex to match quoted text in a reply"
711 "Update the progress bar after this many records read (0 to disable)"
713 {
"read_only",
DT_BOOL,
false, 0, NULL,
714 "Open folders in read-only mode"
717 "Real name of the user"
720 "Folder to save 'sent' messages"
722 {
"reflow_space_quotes",
DT_BOOL,
true, 0, NULL,
723 "Insert spaces into reply quotes for 'format=flowed' messages"
725 {
"reflow_text",
DT_BOOL,
true, 0, NULL,
726 "Reformat paragraphs of 'format=flowed' text"
729 "Maximum paragraph width for reformatting 'format=flowed' text"
751 "Regex to match message reply subjects like 're: '"
753 {
"resolve",
DT_BOOL,
true, 0, NULL,
754 "Move to the next email whenever a command modifies an email"
756 {
"resume_edited_draft_files",
DT_BOOL,
true, 0, NULL,
757 "Resume editing previously saved draft files"
759 {
"reverse_alias",
DT_BOOL,
false, 0, NULL,
760 "Display the alias in the index, rather than the message's sender"
762 {
"rfc2047_parameters",
DT_BOOL,
true, 0, NULL,
763 "Decode RFC2047-encoded MIME parameters"
765 {
"save_address",
DT_BOOL,
false, 0, NULL,
766 "Use sender's full address as a default save folder"
768 {
"save_empty",
DT_BOOL,
true, 0, NULL,
769 "(mbox,mmdf) Preserve empty mailboxes"
771 {
"save_name",
DT_BOOL,
false, 0, NULL,
772 "Save outgoing message to mailbox of recipient's name if it exists"
774 {
"score",
DT_BOOL,
true, 0, NULL,
775 "Use message scoring"
777 {
"score_threshold_delete",
DT_NUMBER, -1, 0, NULL,
778 "Messages with a lower score will be automatically deleted"
780 {
"score_threshold_flag",
DT_NUMBER, 9999, 0, NULL,
781 "Messages with a greater score will be automatically flagged"
783 {
"score_threshold_read",
DT_NUMBER, -1, 0, NULL,
784 "Messages with a lower score will be automatically marked read"
787 "Character sets for outgoing mail"
790 "External command to run subshells in"
793 "How to display 'multipart/alternative' MIME parts"
795 {
"simple_search",
DT_STRING,
IP "~f %s | ~s %s", 0, NULL,
796 "Pattern to search for when search doesn't contain ~'s"
798 {
"size_show_bytes",
DT_BOOL,
false, 0, NULL,
799 "Show smaller sizes in bytes"
801 {
"size_show_fractions",
DT_BOOL,
true, 0, NULL,
802 "Show size fractions with a single decimal place"
804 {
"size_show_mb",
DT_BOOL,
true, 0, NULL,
805 "Show sizes in megabytes for sizes greater than 1 megabyte"
807 {
"size_units_on_left",
DT_BOOL,
false, 0, NULL,
808 "Show the units as a prefix to the size"
811 "Time to pause after certain info messages"
814 "Sort method for the index"
817 "Secondary sort method for the index"
819 {
"sort_re",
DT_BOOL,
true, 0, NULL,
820 "Whether $reply_regex must be matched when not $strict_threads"
823 "Separator for multiple spam headers"
829 "Indicator characters for the status bar"
832 {
"status_format",
DT_EXPANDO|
D_L10N_STRING,
IP N_(
"-%r-NeoMutt: %D [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>]---(%<T?%T/>%s/%S)-%>-(%P)---"),
IP &
StatusFormatDef, NULL,
833 "printf-like format string for the index's status line"
835 {
"status_on_top",
DT_BOOL,
false, 0, NULL,
836 "Display the status bar at the top"
838 {
"strict_threads",
DT_BOOL,
false, 0, NULL,
839 "Thread messages using 'In-Reply-To' and 'References' headers"
841 {
"suspend",
DT_BOOL,
true, 0, NULL,
842 "Allow the user to suspend NeoMutt using '^Z'"
844 {
"text_flowed",
DT_BOOL,
false, 0, NULL,
845 "Generate 'format=flowed' messages"
847 {
"thread_received",
DT_BOOL,
false, 0, NULL,
848 "Sort threaded messages by their received date"
851 "Frequency of progress bar updates (milliseconds)"
854 "Time to wait for user input in menus"
857 "Directory for temporary files"
860 "Indicator characters for the 'To' field in the index"
863 "Folder to put deleted emails"
865 {
"ts_enabled",
DT_BOOL,
false, 0, NULL,
866 "Allow NeoMutt to set the terminal status line and icon"
870 "printf-like format string for the terminal's icon title"
874 "printf-like format string for the terminal's status (window title)"
876 {
"use_domain",
DT_BOOL,
true, 0, NULL,
877 "Qualify local addresses using this domain"
880 "Whether to use threads for the index"
882 {
"wait_key",
DT_BOOL,
true, 0, NULL,
883 "Prompt to press a key after running external commands"
885 {
"weed",
DT_BOOL,
true, 0, NULL,
886 "Filter headers when displaying/forwarding/printing/replying"
889 "Width to wrap text in the pager"
891 {
"wrap_search",
DT_BOOL,
true, 0, NULL,
892 "Wrap around when the search hits the end"
895 "Update the progress bar after this many records written (0 to disable)"
906 {
"confirmappend",
DT_SYNONYM,
IP "confirm_append",
IP "2021-03-21" },
907 {
"confirmcreate",
DT_SYNONYM,
IP "confirm_create",
IP "2021-03-21" },
909 {
"forw_decode",
DT_SYNONYM,
IP "forward_decode",
IP "2021-03-21" },
910 {
"forw_quote",
DT_SYNONYM,
IP "forward_quote",
IP "2021-03-21" },
912 {
"implicit_autoview",
DT_SYNONYM,
IP "implicit_auto_view",
IP "2023-01-25" },
913 {
"include_onlyfirst",
DT_SYNONYM,
IP "include_only_first",
IP "2021-03-21" },
914 {
"indent_str",
DT_SYNONYM,
IP "indent_string",
IP "2021-03-21" },
915 {
"message_cachedir",
DT_SYNONYM,
IP "message_cache_dir",
IP "2023-01-25" },
917 {
"msg_format",
DT_SYNONYM,
IP "message_format",
IP "2021-03-21" },
919 {
"quote_regexp",
DT_SYNONYM,
IP "quote_regex",
IP "2021-03-21" },
921 {
"reply_regexp",
DT_SYNONYM,
IP "reply_regex",
IP "2021-03-21" },
924 {
"xterm_icon",
DT_SYNONYM,
IP "ts_icon_format",
IP "2021-03-21" },
925 {
"xterm_set_titles",
DT_SYNONYM,
IP "ts_enabled",
IP "2021-03-21" },
926 {
"xterm_title",
DT_SYNONYM,
IP "ts_status_format",
IP "2021-03-21" },
928 {
"devel_security",
DT_BOOL,
false, 0, NULL,
929 "Devel feature: Security -- https://github.com/neomutt/neomutt/discussions/4251"
936#if defined(HAVE_LIBIDN)
942 {
"idn_decode",
DT_BOOL,
true, 0, NULL,
943 "(idn) Decode international domain names"
945 {
"idn_encode",
DT_BOOL,
true, 0, NULL,
946 "(idn) Encode international domain names"
960#if defined(HAVE_LIBIDN)
1000#if defined(USE_AUTOCRYPT)
1006#if defined(USE_HCACHE)
1019#if defined(USE_NOTMUCH)
GUI display the mailboxes in a side panel.
@ ED_ATT_NUMBER
AttachPtr.num.
@ ED_ATT_TREE
AttachPtr.tree.
@ ED_ATT_CHARSET
AttachPtr.body.
int buf_printf(struct Buffer *buf, const char *fmt,...)
Format a string overwriting a Buffer.
Convenience wrapper for the config headers.
bool cs_register_variables(const struct ConfigSet *cs, struct ConfigDef vars[])
Register a set of config items.
#define CSR_ERR_INVALID
Value hasn't been set.
#define CSR_SUCCESS
Action completed successfully.
Convenience wrapper for the core headers.
@ ED_MBX_MESSAGE_COUNT
Mailbox.msg_count.
@ ED_MBX_PERCENTAGE
HdrFormatInfo.pager_progress.
@ ED_MBX_MAILBOX_NAME
Mailbox, mailbox_path()
@ MUTT_MBOX
'mbox' Mailbox type
#define EP_NO_CUSTOM_PARSE
Don't use the custom parser.
uint8_t ExpandoParserFlags
Flags for expando_parse(), e.g. EP_CONDITIONAL.
#define EP_CONDITIONAL
Expando is being used as a condition.
@ ED_ENVELOPE
Envelope ED_ENV_ ExpandoDataEnvelope.
@ ED_EMAIL
Email ED_EMA_ ExpandoDataEmail.
@ ED_MENU
Menu ED_MEN_ ExpandoDataMenu.
@ ED_GLOBAL
Global ED_GLO_ ExpandoDataGlobal.
@ ED_BODY
Body ED_BOD_ ExpandoDataBody.
@ ED_MAILBOX
Mailbox ED_MBX_ ExpandoDataMailbox.
@ ED_INDEX
Index ED_IND_ ExpandoDataIndex.
@ ED_ATTACH
Attach ED_ATT_ ExpandoDataAttach.
@ ED_BOD_DESCRIPTION
Body.description.
@ ED_BOD_CHARSET_CONVERT
Body.type.
@ ED_BOD_DELETED
Body.deleted.
@ ED_BOD_UNLINK
Body.unlink.
@ ED_BOD_FILE_SIZE
Body.filename.
@ ED_BOD_DISPOSITION
Body.disposition.
@ ED_BOD_ATTACH_QUALIFIES
Body.attach_qualifies.
@ ED_BOD_MIME_MAJOR
Body.type, Body.xtype.
@ ED_BOD_TAGGED
Body.tagged.
@ ED_BOD_ATTACH_COUNT
Body.attach_count.
@ ED_BOD_FILE
Body.filename.
@ ED_BOD_MIME_MINOR
Body.subtype.
@ ED_BOD_FILE_DISPOSITION
Body.d_filename.
@ ED_BOD_MIME_ENCODING
Body.encoding.
Structs that make up an email.
@ ED_EMA_ATTACHMENT_COUNT
Email, mutt_count_body_parts()
@ ED_EMA_DATE_FORMAT_LOCAL
Email.date_sent.
@ ED_EMA_TAGS_TRANSFORMED
Email.tags, driver_tags_get_transformed()
@ ED_EMA_THREAD_HIDDEN_COUNT
Email.collapsed, Email.num_hidden, ...
@ ED_EMA_DATE_FORMAT
Email.date_sent.
@ ED_EMA_THREAD_TAGS
Email.tags.
@ ED_EMA_SIZE
Body.length.
@ ED_EMA_FLAG_CHARS
Email.deleted, Email.attach_del, ...
@ ED_EMA_THREAD_NUMBER
Email, mutt_messages_in_thread()
@ ED_EMA_TO_CHARS
Email, User_is_recipient()
@ ED_EMA_BODY_CHARACTERS
Body.length.
@ ED_EMA_STRF
Email.date_sent, Email.zhours, Email.zminutes, Email.zoccident.
@ ED_EMA_COMBINED_FLAGS
Email.read, Email.old, thread_is_new(), ...
@ ED_EMA_THREAD_COUNT
Email, mutt_messages_in_thread()
@ ED_EMA_STATUS_FLAGS
Email.deleted, Email.attach_del, ...
@ ED_EMA_NUMBER
Email.msgno.
@ ED_EMA_FROM_LIST
Envelope.to, Envelope.cc.
@ ED_EMA_SCORE
Email.score.
@ ED_EMA_CRYPTO_FLAGS
Email.security, SecurityFlags.
@ ED_EMA_STRF_RECV_LOCAL
Email.received.
@ ED_EMA_STRF_LOCAL
Email.date_sent.
@ ED_EMA_LIST_OR_SAVE_FOLDER
Envelope.to, Envelope.cc, check_for_mailing_list()
@ ED_EMA_INDEX_HOOK
Mailbox, Email, mutt_idxfmt_hook()
@ ED_EMA_LINES
Email.lines.
@ ED_EMA_MESSAGE_FLAGS
Email.tagged, Email.flagged.
@ ED_ENV_SUBJECT
Envelope.subject, Envelope.disp_subj.
@ ED_ENV_NEWSGROUP
Envelope.newsgroups.
@ ED_ENV_INITIALS
Envelope.from (first)
@ ED_ENV_FROM_FULL
Envelope.from (all)
@ ED_ENV_X_COMMENT_TO
Envelope.x_comment_to.
@ ED_ENV_FROM
Envelope.from (first)
@ ED_ENV_LIST_ADDRESS
Envelope.to, Envelope.cc.
@ ED_ENV_SPAM
Envelope.spam.
@ ED_ENV_SENDER
Envelope, make_from()
@ ED_ENV_TO_ALL
Envelope.to (all)
@ ED_ENV_X_LABEL
Envelope.x_label.
@ ED_ENV_NAME
Envelope.from (first)
@ ED_ENV_CC_ALL
Envelope.cc.
@ ED_ENV_ORGANIZATION
Envelope.organization.
@ ED_ENV_REPLY_TO
Envelope.reply_to.
@ ED_ENV_LIST_EMPTY
Envelope.to, Envelope.cc.
@ ED_ENV_THREAD_X_LABEL
Envelope.x_label.
@ ED_ENV_MESSAGE_ID
Envelope.message_id.
@ ED_ENV_SENDER_PLAIN
Envelope, make_from()
@ ED_ENV_USERNAME
Envelope.from.
@ ED_ENV_THREAD_TREE
Email.tree.
@ ED_ENV_TO
Envelope.to, Envelope.cc (first)
@ ED_ENV_FIRST_NAME
Envelope.from, Envelope.to, Envelope.cc.
int charset_slist_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err)
Validate the multiple "charset" config variables - Implements ConfigDef::validator() -.
int charset_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err)
Validate the "charset" config variables - Implements ConfigDef::validator() -.
int sort_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err)
Validate the "sort" config variable - Implements ConfigDef::validator() -.
static int multipart_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err)
Validate the "show_multipart_alternative" config variable - Implements ConfigDef::validator() -.
int level_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef, intptr_t value, struct Buffer *err)
Validate the "debug_level" config variable - Implements ConfigDef::validator() -.
static bool config_init_main(struct ConfigSet *cs)
Register main config variables - Implements module_init_config_t -.
struct ExpandoNode * node_padding_parse(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse a Padding Expando - Implements ExpandoDefinition::parse() -.
struct ExpandoNode * parse_index_hook(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse an index-hook - Implements ExpandoDefinition::parse() -.
struct ExpandoNode * parse_subject(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse a Subject Expando - Implements ExpandoDefinition::parse() -.
struct ExpandoNode * parse_index_date_recv_local(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse a Date Expando - Implements ExpandoDefinition::parse() -.
struct ExpandoNode * parse_index_date_local(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse a Date Expando - Implements ExpandoDefinition::parse() -.
struct ExpandoNode * parse_index_date(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse a Date Expando - Implements ExpandoDefinition::parse() -.
struct ExpandoNode * parse_tags_transformed(const char *str, struct ExpandoFormat *fmt, int did, int uid, ExpandoParserFlags flags, const char **parsed_until, struct ExpandoParseError *err)
Parse a Tags-Transformed Expando - Implements ExpandoDefinition::parse() -.
int node_condbool_render(const struct ExpandoNode *node, const struct ExpandoRenderData *rdata, struct Buffer *buf, int max_cols, void *data, MuttFormatFlags flags)
Callback for every bool node - Implements ExpandoNode::render() -.
GUI manage the main index (list of emails)
@ ED_IND_LIMIT_COUNT
Mailbox.vcount.
@ ED_IND_MAILBOX_PATH
Mailbox.pathbuf, Mailbox.name.
@ ED_IND_DELETED_COUNT
Mailbox.msg_deleted.
@ ED_IND_NEW_COUNT
Mailbox.msg_new.
@ ED_IND_MAILBOX_SIZE
Mailbox.size.
@ ED_IND_LIMIT_PATTERN
MailboxView.pattern.
@ ED_IND_READ_COUNT
Mailbox.msg_count, Mailbox.msg_unread.
@ ED_IND_POSTPONED_COUNT
mutt_num_postponed()
@ ED_IND_FLAGGED_COUNT
Mailbox.msg_flagged.
@ ED_IND_MESSAGE_COUNT
Mailbox.msg_count.
@ ED_IND_OLD_COUNT
Mailbox.msg_unread, Mailbox.msg_new.
@ ED_IND_READONLY
Mailbox.readonly, Mailbox.dontwrite.
@ ED_IND_UNREAD_COUNT
Mailbox.msg_unread.
@ ED_IND_TAGGED_COUNT
Mailbox.msg_tagged.
@ ED_IND_LIMIT_SIZE
MailboxView.vsize.
@ ED_IND_DESCRIPTION
Mailbox.name.
@ ED_IND_UNREAD_MAILBOXES
Mailbox, mutt_mailbox_check()
Convenience wrapper for the library headers.
static bool send(struct Notify *source, struct Notify *current, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
char * mutt_strn_dup(const char *begin, size_t len)
Duplicate a sub-string.
bool mutt_str_equal(const char *a, const char *b)
Compare two strings.
#define CONFIG_INIT_VARS(CS, NAME)
static void init_types(struct ConfigSet *cs)
Create the config types.
const struct Mapping SortMethods[]
Sort methods for '$sort' for the index.
static const struct ExpandoDefinition StatusFormatDef[]
Expando definitions.
#define CONFIG_INIT_TYPE(CS, NAME)
void init_config(struct ConfigSet *cs)
Initialise the config system.
static struct ConfigDef MainVarsIdn[]
IDN Config definitions.
const struct ExpandoDefinition *const StatusFormatDefNoPadding
StatusFormatDefNoPadding - Status format definitions, without padding.
static void init_variables(struct ConfigSet *cs)
Define the config variables.
static const struct ExpandoDefinition *const IndexFormatDefNoPadding
IndexFormatDefNoPadding - Index format definitions, without padding.
static struct ConfigDef MainVars[]
General Config definitions for NeoMutt.
static const struct Mapping SortAuxMethods[]
Sort methods for '$sort_aux' for the index.
const struct ExpandoDefinition IndexFormatDef[]
Expando definitions.
static const struct ExpandoDefinition AttachFormatDef[]
Expando definitions.
const struct EnumDef UseThreadsTypeDef
Data for the $use_threads enumeration.
Create/manipulate threading in emails.
@ UT_UNSET
Not yet set by user, stick to legacy semantics.
const struct EnumDef MboxTypeDef
Data for the $mbox_type enumeration.
void node_add_child(struct ExpandoNode *node, struct ExpandoNode *child)
Add a child to an ExpandoNode.
@ ENT_CONDBOOL
True/False boolean condition.
struct ExpandoNode * node_conddate_parse(const char *str, int did, int uid, const char **parsed_until, struct ExpandoParseError *err)
Parse a CondDate format string.
struct ExpandoNode * node_container_new(void)
Create a new Container ExpandoNode.
struct ExpandoNode * node_expando_new(struct ExpandoFormat *fmt, int did, int uid)
Create a new Expando ExpandoNode.
struct ExpandoNode * node_expando_parse_enclosure(const char *str, int did, int uid, char terminator, struct ExpandoFormat *fmt, const char **parsed_until, struct ExpandoParseError *err)
Parse an enclosed Expando.
struct ExpandoNode * parse_short_name(const char *str, const struct ExpandoDefinition *defs, ExpandoParserFlags flags, struct ExpandoFormat *fmt, const char **parsed_until, struct ExpandoParseError *err)
Create an expando by its short name.
@ MUTT_ASKNO
Ask the user, defaulting to 'No'.
@ MUTT_NO
User answered 'No', or assume 'No'.
@ MUTT_ASKYES
Ask the user, defaulting to 'Yes'.
@ MUTT_YES
User answered 'Yes', or assume 'Yes'.
@ SORT_SUBJECT
Sort by the email's subject.
@ SORT_ORDER
Sort by the order the messages appear in the mailbox.
@ SORT_THREADS
Sort by email threads.
@ SORT_SPAM
Sort by the email's spam score.
@ SORT_LABEL
Sort by the emails label.
@ SORT_FROM
Sort by the email's From field.
@ SORT_SIZE
Sort by the size of the email.
@ SORT_RECEIVED
Sort by when the message were delivered locally.
@ SORT_TO
Sort by the email's To field.
@ SORT_DATE
Sort by the date the email was sent.
@ SORT_SCORE
Sort by the email's score.
String manipulation buffer.
const char * name
User-visible name.
Container for lots of config items.
Definition of a format string.
int uid
Unique ID, e.g. ED_EMA_SIZE.
int(* render)(const struct ExpandoNode *node, const struct ExpandoRenderData *rdata, struct Buffer *buf, int max_cols, void *data, MuttFormatFlags flags)
struct ExpandoFormat * format
Formatting info.
int did
Domain ID, e.g. ED_EMAIL.
const char * text
Node-specific text.
enum ExpandoNodeType type
Type of Node, e.g. ENT_EXPANDO.
Buffer for parsing errors.
char message[1024]
Error message.
const char * position
Position of error in original string.
Mapping between user-readable string and a constant.
Cached regular expression.
#define D_SLIST_SEP_COMMA
Slist items are comma-separated.
#define D_CHARSET_SINGLE
Flag for charset_validator to allow only one charset.
#define D_SLIST_SEP_COLON
Slist items are colon-separated.
#define D_INTERNAL_DEPRECATED
Config item shouldn't be used any more.
#define D_STRING_COMMAND
A command.
#define D_SLIST_ALLOW_EMPTY
Slist may be empty.
#define D_L10N_STRING
String can be localised.
#define D_PATH_DIR
Path is a directory.
#define D_CHARSET_STRICT
Flag for charset_validator to use strict char check.
#define D_PATH_FILE
Path is a file.
@ DT_SLIST
a list of strings
@ DT_QUAD
quad-option (no/yes/ask-no/ask-yes)
@ DT_SYNONYM
synonym for another variable
@ DT_MBTABLE
multibyte char table
@ DT_ADDRESS
e-mail address
@ DT_REGEX
regular expressions
@ DT_PATH
a path to a file/directory
#define D_STRING_MAILBOX
Don't perform path expansions.
#define D_SORT_LAST
Sort flag for -last prefix.
#define D_SORT_REVERSE
Sort flag for -reverse prefix.
#define D_NOT_EMPTY
Empty strings are not allowed.
#define D_INTEGER_NOT_NEGATIVE
Negative numbers are not allowed.
#define D_ON_STARTUP
May only be set at startup.
@ ED_GLO_SORT
Value of $sort.
@ ED_GLO_PADDING_EOL
Padding to end-of-line.
@ ED_GLO_VERSION
NeoMutt version.
@ ED_GLO_PADDING_HARD
Hard Padding.
@ ED_GLO_PADDING_SOFT
Soft Padding.
@ ED_GLO_USE_THREADS
Value of $use_threads.
@ ED_GLO_HOSTNAME
Local hostname.
@ ED_GLO_SORT_AUX
Value of $sort_aux.