summaryrefslogtreecommitdiffstats
path: root/init.h
AgeCommit message (Collapse)Author
2022-11-03Clarify $uncollapse_new documentation.Kevin McCarthy
Indicate more clearly it is talking about "delivered" messages that arrive in a thread, not about the unread-status of those messages.
2022-07-29Change mutt_display_message() $pager to use %s if present.Kevin McCarthy
Other places in the code all use mutt_do_pager(), which uses mutt_expand_file_fmt(). The use of %s was not documented (and likely not used since it's broken when displaying messages), so add documentation to the $pager option.
2022-05-19Document $sendmail invocation behavior.Kevin McCarthy
This variable is handled differently from other "command" variables in Mutt. It's tokenized by space and then executed via execvp(). This means spaces in command/arguments are not supported, and neither is shell quoting. I don't know if it was done this way out of some security concern, but it seems like using mutt_system() and mutt_buffer_quote_filename() for recipient arguments should at least be investigated.
2022-04-30Document $header_cache behavior change wrt directories.Kevin McCarthy
Although not documented, Mutt would previously intepret a $header_cache value ending in '/' as a directory even if it didn't exist. The new DT_PATH normalization prevents this possibility, so a directory will need to be created in advance. I'm not fond of "fixing" regressions with documentation, but I believe this is a small issue, easily worked around for first-time use, and the benefits of the normalization are worth this small change.
2022-02-05Clarify description of $local_date_headerAaron Schrab
When I reexamined the documentation of the $local_date_header option, I wasn't very confident about what it actually does. Much of what I did get from it came from a vague recollection of the discussion around when it was added, and I referred back to the commit which added this to solidify that understanding. Viewing this as a user (without looking at the internal implementation), I don't think the date is being converted, to me that implies that it was received from somewhere else in some other format; rather I'd view it as being initially generated in the local timezone. The reference to the "sender's timezone" makes me think that this would be operating on dates in messages received from other people; I've changed that to "your" to help clarify that it's about messages created locally. Finally, add information about what is done if this option is unset, along with some reasoning on why someone might want to unset this.
2022-01-27Fix $status_format documentation of $sort_thread_groups expando.Kevin McCarthy
2022-01-22Enable $rfc2047_parameters by default.Kevin McCarthy
20+ years later, Mutt still gets bug reports about attachment names in 2047 encoded form. Although there is a tiny chance an attachment could legimately want to be named like that, it's far far more likely the sending MUA has incorrectly encoded the value. When a user has this problem, the "solution" is also difficult to find, unless they are initimately familiar with RFC2047 vs 2231. So I think users would benefit much more from this being set by default.
2022-01-15Revert "Add $reply_prefix."Kevin McCarthy
This reverts commit 9c1ce59874ce1c8e97d0c5bd71847596dafb1d50. The change is controversial, and probably ill-advised. Thanks to everyone for the feedback.
2022-01-13Force resort_init if $reply_regexp changes.Kevin McCarthy
Simply changing real_subj isn't enough to make sure the change is reflected in the current index. There may actually be a more subtle way to achieve this, but for now I'll just dump the subj_hash and force rethreading.
2022-01-13Add $reply_prefix.Kevin McCarthy
Allow the user to modify the subject prefix used in a reply. Hopefully this would be used sparingly, but nothing prevented a user from manually modifying the prefix themselves before.
2022-01-13Localize $reply_regexp.Kevin McCarthy
This will allow translators to add additional reply prefixes common to their locale. Add more documentation to the option, to explain the parts of the regular expression. Give an example of adding more prefixes. Note that the result of this is stored in the header cache. Probably people rarely were affected by this before, but with the new localization, people may experiment and need to be aware to turn the header cache off while testing.
2022-01-09Fix $reply_regexp default value.Kevin McCarthy
The default value happened to work, but didn't make logical sense. It was using a bracket expression that *included* a backslash, and left-bracket, 0-9, and again a backslash. The first ']' closed the bracket expression, and then '+' matched that 1 or more times, followed by ']'. Fortunately the whole parenthisized expression had a '*' so it would repeat matching, but as far as I can tell, it was working accidentally. Because even the fixed version is hard to understand, add some explanation of the parts to the documentation.
2021-12-28Merge branch 'stable'Kevin McCarthy
2021-12-28Reflow pager when setting $wrap.Kevin McCarthy
I somehow missed $wrap when adding commit 0636c24b. Lineinfo needs to be recomputed since color matching can change with the line wrapping change.
2021-12-03Improve the statusbar modified flag for $maildir_trash.Kevin McCarthy
Add a context counter for the trash status flag. Compare that to the number of deleted messages to determine modified state. Note that "undeleting" a trashed message will set context->changed. Without that we couldn't do a simple counter comparison. But with context->changed checked first, we can assume equal trash and deleted flags then means there are no "delete" modifications pending.
2021-12-03Ignore $delete when sync'ing with $maildir_trash set.Kevin McCarthy
When closing a mailbox, the $delete quadoption is not consulted to determine whether to write out the T flags. However, for some reason, sync was doing so. Since we aren't "purging" the messages, the prompt doesn't make sense. Make close and sync consistent by skipping the $delete check for sync.
2021-10-26Add a few mutt variable configure dependency comments.Kevin McCarthy
Add dependency comments to a few variables where it might not be obvious are dependent on the feature being enabled. While reviewing the dependencies, I noticed a couple #if could be indented for more uniformity in the file.
2021-10-07Note that IMAP mailboxes polling doesn't support flag counts.Kevin McCarthy
The IMAP protocol only supports unread and total counts, but the manual had no mention of this.
2021-10-04Add $attach_save_charset_convert quadoption.Kevin McCarthy
This prompts to allow charset conversion of received text-type attachments. Mutt automatically converts when sending to a value from $send_charset. If an attachment were automatically converted from utf-8 to iso-8859-1 on the sending side, then on the receiving side (also 99.9% likely to be utf-8 nowadays) it may not be helpful to save the the originally utf-8 attachment as iso-8859-1. This can be especially destructive for attached patches or translation updates. Add the quadoption, defaulting to ask-yes so people know about it. With a quadoption, it can be easily completely turned off or made the default if the user desires. Add code to skip the prompt if converting from ascii to extended ascii (e.g. utf-8 or iso-8859-*). There may be others too but this should cover almost all cases nowadays.
2021-08-31Add $compose_confirm_detach_first, default set.Kevin McCarthy
With the default keymap, hitting 'D' in the compose menu will remove parts and unlink owned files. Mutt prevents removing all the parts, but if you have added attachments, this makes it very easy mis-type and accidentally nuke the message you've been composing. This option only checks for the first part - which is highly likely the main composed message. It might be possible to try and make the check more intelligent, but I think a simple check will go a long way towards preventing disaster.
2021-08-08Add $sort_thread_groups for top-level thread sorting.Kevin McCarthy
closes #368. Rename THREAD->sort_key to sort_aux_key, to make the fields more distinct. Add THREAD->sort_group_key for caching the top-level sort HEADER. An additional value is needed to allow propagating up values, for place-holder threads, and for "last" sort handling. Add recalc_aux_key and recalc_group_key bits to THREAD, in addition to sort_children. These are used to allow separate flagging of either the group key or aux key needing to be recalculated. Adding these two fields helped me keep better track of how the subthread sorting was working, because I'm just not as smart the people who originally wrote the threading code. :-) Fix up some of the logic with rescoring, and "first_message" to take the new config vars into account. Add %T expando to $status_format, and change the default to conditionally show the value based on whether $sort is "threads" and $sort_thread_groups is not "aux". Lastly, a thank you to Eric Blake. He implemented separate thread/subthread sorting in the NeoMutt code, after suggesting it on the #mutt IRC channel a couple months ago. When ticket 368 was opened he pointed me at his work and offered to port. However, I couldn't pass up the opportunity to learn more about the thread code myself, so I declined his offer. Although no copy/pasting was done, the basic of structure of the mutt_sort_subthreads() changes is the same, and I did look at his modifications to the function for guidance. Thank you Eric!
2021-06-17Add $pager_skip_quoted_context option.Rene Kita
Using <skip-quoted> the first unquoted line becomes the new top line displayed in the pager. This leaves the user with no context to know what the answer refers to. Add an option to keep some lines of context when using <skip-quoted>. With $pager_skip_quoted_context set to 5, <skip-quoted> will show at most 5 lines of the previous quote. If the previous quote is shorter than 5 lines the whole quote will be displayed. This option defaults to 0 to remain backwards compatible.
2021-05-14Add local_date_header optionGregory Anders
Add an option to convert the date used in the Date header into the local (sender's) timezone. This is the current behavior and the option defaults to true. Unsetting this option causes the date in the Date header to be formatted using the GMT timezone. This option is useful for privacy-sensitive users who may not wish to divulge their sending timezone.
2021-04-29Modify makedoc.pl to read sort maps for the default value.Kevin McCarthy
Use the map tables to print out a correct default value for sort types. Remove the unneeded SORT_ALPHA type, for $sort_browser documentation, since we can do the lookup now.
2021-04-29Arrange sort maps by value instead of name.Kevin McCarthy
The value-to-name mapping uses the first match. Grouping by value makes it more obvious when there are duplicates and which one will be printed out, e.g. when querying the value of a variable.
2021-04-29Move sort maps before vars in init.h.Kevin McCarthy
This is so makedoc.pl can read in the maps and use them to properly print out default values for the sort options.
2021-04-25Mention ~B in $thorough_search documentation.Kevin McCarthy
It affects ~b, ~B, and ~h.
2021-04-25Add $sort_browser_mailboxes configuration variable.Kevin McCarthy
This allows to control file browser sorting and mailbox browser sorting separately.
2021-03-02Prompt for retry on decrypt failure for mime message attachments.Kevin McCarthy
Closes #331. Change $forward_decyrpt to a quadoption, defaulting 'yes' for backward compatibility. This will allow users to choose on a per-message attachment basis if desired. If decoding from $mime_forward_decode fails or decrypting from $forward_decrypt, notify the user and prompt to retry attaching without the decode/decrypt. $forward_decrypt directly invokes decryption and returns -1 on error, while $mime_forward_decode uses the handler rendering, which returns a non-fatal 1 (to allow message display of failing encrypted message). So prompt on either case. If they decline to retry, or the retry fails, return NULL only on a hard-fail (-1) return code. They've been warned and can peek at the final result. The send generate_body() code was not checking for a NULL result. This seems like a bad idea, so add a check and error message in that case.
2021-02-17Add backlinks for $fcc_before_send and self_encrypt options.Kevin McCarthy
Make sure the $fcc_before_send's behavior changes to $fcc_clear and $fcc_attach is mentiond in those options too. Add a "see also" in $fcc_clear to the self_encrypt options.
2021-01-18Remove %R format for $message_id_formatRemco Rijnders
2021-01-18Provide %x format for $message_id_formatRemco Rijnders
The expando format %x generates one pseudorandom byte and puts the output in a lowercase hex formatted string of length two. # Conflicts: # init.h # messageid.c
2021-01-17Change $message_id_format year expando from %y to %Y.Kevin McCarthy
So that it matches the strftime() 4-digit year. Thanks to Vincent Lefèvre for noting the discrepancy.
2021-01-17Add $message_id_format for customizing generated Message-IDs.Kevin McCarthy
Provide expandos for the new (2.0+) format and the old format. Add %r and %R to generate fixed size 4-char Base64 blocks from the pseudo-random generator, or from /dev/urandom. The format string allows external filters, for complete control.
2020-12-15Create $ssl_verify_host_override.Kevin McCarthy
This allows manually specifying the host name to verify a server certificate against. I'm not sure I like the idea, but since Mutt already allows turning hostname verification off, it's not any worse to leave it on but manually set the expected hostname in the certificate. Thanks to eudyptes-pachyrynchus for the merge request, which prompted me to take another look at the ticket.
2020-10-13Create $attach_save_dir.Kevin McCarthy
This will be used when saving attachments via mutt_save_attachment_list(). Try to create the directory if it doesn't exist. If we're unable to chdir or create the directory just continue on, using cwd.
2020-09-25Delay $hostname setting until after the muttrc is evaluated.Kevin McCarthy
Commit 5c5c34f2 made back in 1.6 changed Fqdn setting to use gethostname() and getaddrinfo() to get the canonical domain. This is more accurate but can cause startup delays for systems where the DNS resolution is not set up properly. Because this occurred before muttrc reading, there was no workaround except to "fix DNS". Change Fqdn ($hostname) setting to occur after the muttrc and '-e' argument processing occur. This is a possible breaking change if users rely on $hostname inside their muttrc, for example 'source "muttrc.$hostname"'. The workaround would be to put something like (depending on the system type): 'set hostname = `hostname --fqdn`' in the muttrc above that invocation. Also note that we still set Hostname (the internal variable) early, because it is used in more places than Fqdn, such as tempfiles.
2020-09-22Note that $cursor_overlay affects tree colors too.Kevin McCarthy
Change the font on "default" to indicate that actual value allows for color overlays between the layers.
2020-09-20Reenable $ssl_force_tls.Kevin McCarthy
The next release will be 2.0, providing more justification for (reasonable) breaking changes. In 2020, this should be the default. The documentation seems to already make appropriate warnings about $tunnel_is_secure. Since that option is introduced this release, there is no need to worry about existing users with it unset. However, there were a couple stray double-quotes in the documentation for that, so clean those up in this commit.
2020-09-12Add note about $smime_default_key to use with GPGME.isdtor
When using GPGME for S/MIME, the key id used should be the id displayed by "gpgsm --list-keys".
2020-08-29Remove relative path expansion for some cases.Kevin McCarthy
Some paths, such as the folder browser, or certain hook values, should be expanded for shortcuts, but not for relative paths. Configuration variables that hold commands that search by PATH should also not be expanded. Create a separate call, and a separate data type for config vars.
2020-07-26Fix man section in reference to mutt_dotlockMaxim Tarasov
2020-07-25Fix a few typos in the manual.Kevin McCarthy
2020-07-20Add $cursor_overlay, default unset, to control overlaying.Kevin McCarthy
Although I think the new behavior is desirable, experience has shown that changes need to be controlled by an option and usually defaulting the same as before.
2020-07-19Add first version of MuttLisp.Kevin McCarthy
This is somewhat simple enhancement to muttrc processing, not a full-blown embedded scripting language. There are no variables, functions, types, or abilities that compete with macros. MuttLisp can be invoked using the "run" command. If $muttlisp_inline_eval is set, it can also be invoked with a bare parenthesis expression as a command argument. $muttlisp_inline_eval defaults unset, to avoid breaking existing configurations, which might have bare parenthesis arguments for regexps.
2020-07-01Create $copy_decode_weed, $pipe_decode_weed, $print_decode_weed.Kevin McCarthy
$weed covers a bit too much functionality. It makes sense for it to control the display of messages in the pager, along with forwarding and replying. But (in my opinion) piping and copy/save-decode are something users might like to set differently without affecting the rest of Mutt's behavior. $copy_decode_weed affects the <decode-copy> and <decode-save> functions. I've defaulted this *unset*, despite that it breaks backward compatibility, because I believe the header weeding is surprising to users and loses important information when copy/saving a message. $pipe_decode_weed affects <pipe-message> when $pipe_decode is set. I've default this *set* for backward compatibility. $print_decode_weed affects <print-message> when $print_decode is set. I've default this *set* for backward compatibility.
2020-06-25Add tab-completion menu for patterns.Kevin McCarthy
This is based upon the patch from TAKAHASHI Tamotsu, maintained by Vincent Lefèvre. The push/pop menu operations take care of most redraw operations, so remove those from the patch. Change post-search to '|= REDRAW_MOTION' instead of assigning so it doesn't overwrite a full redraw. Add L10N for the new help strings. Add a format string and configuration variable for the menu. Add the multi-character thread patterns. Doing the above required some structural changes to the menu, so I rewrote it in a more common style used elsewhere in Mutt.
2020-06-23Add $tunnel_is_secure config, defaulting set.Kevin McCarthy
The config variable is to resolve an ambiguity in Mutt about whether using $tunnel is secure. On the one hand, the examples in the manual show using ssh or a direct pipe to a program. Many users do this to connect to an IMAP server with PREAUTH configured, relying on the tunnel to be secured by ssh or by the fact that it's a local pipe. On the other hand, the Mutt connection code still respects $ssl_starttls and $ssl_force_tls, as if the $tunnel connection were not already secured. After some discussion on mutt-dev, it seemed the best idea to assume the connection is secure by default, in order to not break IMAP PREAUTH connections, but to provide a configuration variable in case there are situations where it is not. Thanks to Aaron Schrab for the original idea of setting conn->ssf for $tunnel in his patch to ticket 250.
2020-06-19Add recommendation to use $ssl_force_tls.Kevin McCarthy
2020-06-03Update the terminology and link for protected headers.Kevin McCarthy