From: Richard Russon Date: Wed, 6 Jul 2016 11:24:17 +0000 (+0100) Subject: sort manual sections X-Git-Tag: neomutt-20160709~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5269f57aa0c656239b67bc3ca28a1c6fbed5b09b;p=neomutt sort manual sections --- diff --git a/doc/manual.xml.head b/doc/manual.xml.head index 6796daeea..33f1717ea 100644 --- a/doc/manual.xml.head +++ b/doc/manual.xml.head @@ -8928,17 +8928,17 @@ please have a look at the mixmaster documentation. - - Quasi-Delete Patch - Mark emails that should be hidden, but not deleted + + Compressed Folders Patch + Read from/write to compressed mailboxes - + Patch - To check if Mutt supports Quasi-Delete, look for - patch-quasi-delete in the mutt version. - See: . + To check if Mutt supports Compress Folders, look for + +USE_COMPRESSED in the mutt version. + See: . @@ -8949,1853 +8949,1395 @@ please have a look at the mixmaster documentation. This patch is part of the NeoMutt Project. - + Introduction - - The quasi-delete function marks an email that should be - hidden from the index, but NOT deleted. - + + The Compressed Folder patch allows Mutt to read mailbox files that are + compressed. But it isn't limited to compressed files. It works well + with encrypted files, too. In fact, if you can create a program/script + to convert to and from your format, then Mutt can read it. + + + + The patch adds three hooks to Mutt: open-hook, + close-hook and append-hook. They + define commands to: uncompress a file; compress a file; append + messages to an already compressed file. + + + + There are some examples of both compressed and encrypted files, + later. For now, the documentation will just concentrate on + compressed files. + - - On its own, this patch isn't very useful. It forms a useful part of - the notmuch plugin. - - + Functions - - Quasi-Delete Functions - + None + +--> + + + Commands + + open-hook + + pattern + + + shell-command + + close-hook + + pattern + + + shell-command + + append-hook + + pattern + + + shell-command + + + + + The shell-command must contain two placeholders for filenames: + %f and %t. These represent + from and to filenames. It's a good idea to + put quotes around these placeholders. + + + + If you need the exact string %f or %t in your + command, simply double up the % character, e.g. + %%f or %%t. + + +
+ Not all Hooks are Required + - Menus - Default Key - Function - Description + Open + Close + Append + Effect + Useful if - index,pager - (none) - <quasi-delete> - delete from mutt, don't touch on disk + Open + - + - + Folder is readonly + The folder is just a backup + + + Open + Close + - + Folder is read/write, but the entire folder must be + written if anything is changed + Your compression format doesn't support appending + + + Open + Close + Append + Folder is read/write and emails can be efficiently added + to the end + Your compression format supports appending + + + Open + - + Append + Folder is readonly, but can be appended to + You want to store emails, but never change them
-
- - + + Read from compressed mailbox - - Muttrc - -# Example Mutt config file for the 'quasi-delete' feature. - -# The 'quasi-delete' function marks an email that should be hidden -# from the index, but NOT deleted. -bind index,pager Q quasi-delete - -# vim: syntax=muttrc - - + open-hook regexp shell-command - - See Also + + If Mutt is unable to open a file, it then looks for + open-hook that matches the filename. + - - NeoMutt Project - notmuch patch - - + + If your compression program doesn't have a well-defined extension, + then you can use . as the regexp. + - - Known Bugs - None - + + Example of open-hook - - Credits - - Karel Zak kzak@redhat.com - Richard Russon rich@flatcap.org - - -
+ open-hook '\.gz$' "gzip -cd '%f' > '%t'" - - Progress Bar Patch - Show a visual progress bar on slow operations + + Mutt finds a file, example.gz, + that it can't read + Mutt has an open-hook + whose regexp matches the filename: + \.gz$ + Mutt uses the command gzip -cd + to create a temporary file that it can + read + + + - - Patch + + Write to a compressed mailbox - - To check if Mutt supports Progress Bar, look for - patch-progress in the mutt version. - See: . - + close-hook regexp shell-command - - Dependencies: - mutt-1.6.1 - + + When Mutt has finished with a compressed mail folder, it will look + for a matching close-hook to recompress the file. + This hook is optional. + - This patch is part of the NeoMutt Project. - + + If the folder has not been modifed, the + close-hook will not be called. + - - Introduction + + Example of close-hook - - The progress patch shows a visual progress bar on slow - tasks, such as indexing a large folder over the net. - - + close-hook '\.gz$' "gzip -c '%t' > '%f'" - - + - + Muttrc -# Example Mutt config file for the 'progress' patch. +# Example Mutt config file for the 'compressed folders' feature. -# The 'progress' patch provides clear visual feedback for -# slow tasks, such as indexing a large folder over the net. +# This feature adds three hooks to Mutt which allow it to +# work with compressed, or encrypted, mailboxes. -# Set the color of the progress bar -# White text on a red background -color progress white red +# The hooks are of the form: +# open-hook regexp "shell-command" +# close-hook regexp "shell-command" +# append-hook regexp "shell-command" + +# The 'append-hook' is optional. + +# Hander for gzip compressed mailboxes +open-hook '\.gz$' "gzip -cd '%f' > '%t'" +close-hook '\.gz$' "gzip -c '%t' > '%f'" +append-hook '\.gz$' "gzip -c '%t' >> '%f'" + +# Hander for bzip2 compressed mailboxes +open-hook '\.bz2$' "bzip2 -cd '%f' > '%t'" +close-hook '\.bz2$' "bzip2 -c '%t' > '%f'" +append-hook '\.bz2$' "bzip2 -c '%t' >> '%f'" + +# Hander for xz compressed mailboxes +open-hook '\.xz$' "xz -cd '%f' > '%t'" +close-hook '\.xz$' "xz -c '%t' > '%f'" +append-hook '\.xz$' "xz -c '%t' >> '%f'" + +# Hander for pgp encrypted mailboxes +# PGP does not support appending to an encrypted file +open-hook '\.pgp$' "pgp -f < '%f' > '%t'" +close-hook '\.pgp$' "pgp -fe YourPgpUserIdOrKeyId < '%t' > '%f'" + +# Hander for gpg encrypted mailboxes +# gpg does not support appending to an encrypted file +open-hook '\.gpg$' "gpg --decrypt < '%f' > '%t'" +close-hook '\.gpg$' "gpg --encrypt --recipient YourGpgUserIdOrKeyId < '%t' > '%f'" # vim: syntax=muttrc - + See Also - NeoMutt Project - Color command + NeoMutt Project + Compile-Time Features + Regular Expressions + $tmpdir + $mbox_type + $save_empty + folder-hook - + Known Bugs - None + + + The Compressed Folder hooks cannot deal with filenames that contains quotes/apostrophes. + - + Credits - Rocco Rutte pdmef@gmx.net - Vincent Lefevre vincent@vinc17.org - Stefan Kuhn wuodan@hispeed.ch - Karel Zak kzak@redhat.com + Roland Rosenfeld roland@spinnaker.de + Alain Penders Alain@Finale-Dev.com + Christoph Myon Berg myon@debian.org + Evgeni Golov evgeni@debian.org Richard Russon rich@flatcap.org - - Status Color Patch - Custom rules for theming the status bar + + Conditional Dates Patch + Use rules to choose date format - + Patch - To check if Mutt supports Status Color, look for - patch-status-color in the mutt version. + To check if Mutt supports Conditional Dates, look for + patch-cond-date in the mutt version. See: . Dependencies: mutt-1.6.1 + nested-if patch - This patch is part of the NeoMutt Project. + + This patch is part of the NeoMutt Project. + - + Introduction - - The status-color patch allows you to theme different - parts of the status bar (also when it's used by the index). - - - - Unlike normal color commands, color status can now - take up to 2 extra parameters (regex, num). - - + + The cond-date patch allows you to construct + $index_format expressions based on the age of the email. + - + + The format is configurable but only per-mailbox. This patch allows you + to configure the display depending on the age of the email. + - - Commands - - color - - - - - foreground - - - background - - - - regex - - - - num - - - - - - - With zero parameters, Mutt will set the default color for the entire - status bar. - - - - With one parameter, Mutt will only color the parts matching the - regex. - - - - With two parameters, Mutt will only color the num'th sub-match of - the regex. - - - - - Colors - - - Status Colors +
+ Potential Formatting Scheme - Name - Default Color - Description + Email Sent + Format + Example - status - reverse - Status bar + Today + %H:%M + 13:23 + + + This Month + %a %d + Thu 17 + + + This Year + %b %d + Dec 10 + + + Older than 1 Year + %m/%y + 06/14
-
- - - - - Muttrc - -# Example Mutt config file for the 'status-color' patch. - -# The 'status-color' patch allows you to theme different parts of -# the status bar (also when it's used by the index). - -# For the examples below, set some defaults -set status_format='-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---' -set index_format='%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s' -set sort=threads -set sort_aux=last-date-received - -# 'status color' can take up to 2 extra parameters - -# color status foreground background [ regex [ num ]] - -# 0 extra parameters -# Set the default color for the entire status line -color status blue white - -# 1 extra parameter -# Set the color for a matching pattern -# color status foreground background regexp - -# Highlight New, Deleted, or Flagged emails -color status brightred white '(New|Del|Flag):[0-9]+' - -# Highlight mailbox ordering if it's different from the default -# First, highlight anything (*/*) -color status brightred default '\([^)]+/[^)]+\)' - -# Then override the color for one specific case -color status default default '\(threads/last-date-received\)' - -# 2 extra parameters -# Set the color for the nth submatch of a pattern -# color status foreground background regexp num - -# Highlight the contents of the []s but not the [] themselves -color status red default '\[([^]]+)\]' 1 - -# The '1' refers to the first regex submatch, which is the inner -# part in ()s - -# Highlight the mailbox -color status brightwhite default 'Mutt: ([^ ]+)' 1 - -# Search for 'Mutt: ' but only highlight what comes after it - -# vim: syntax=muttrc - - - - - See Also - - - NeoMutt Project - Compile-Time Features - Regular Expressions - Patterns - index-color patch - Color command - - - - - Known Bugs - None - - - - Credits - - David Sterba dsterba@suse.cz - Thomas Glanzmann thomas@glanzmann.de - Kirill A. Shutemov kirill@shutemov.name - Richard Russon rich@flatcap.org - - -
- - - Index Color Patch - Custom rules for theming the email index - - - Patch - To check if Mutt supports Index Color, look for - patch-index-color in the mutt version. - See: . + For an explanation of the date formatting strings, see + strftime(3). - - Dependencies: - mutt-1.6.1 - status-color patch - - - This patch is part of the NeoMutt Project. - - - - Introduction - - - The index-color patch allows you to specify colors for - individual parts of the email index. e.g. Subject, Author, Flags. - - - - First choose which part of the index you'd like to color. - Then, if needed, pick a pattern to match. - - - Note: The pattern does not have to refer to the object you wish to - color. e.g. + By carefully picking your formats, the dates can remain + unambiguous and compact. - -color index_author red default "~smutt" - - - - The author appears red when the subject (~s) contains mutt. - - - - + %? TEST ? TRUE & FALSE ? - - Colors + + The examples below use the test %[ — the date + of the message in the local timezone. They will also work with + %( — the local time that the message arrived. + - - All the colors default to default, i.e. unset. - + + The date tests are of the form: + - - The index objects can be themed using the color command. - Some objects require a pattern. - + %[nX? TRUE & FALSE ? - -color index-object foreground background -color index-object foreground background pattern - + + n is an optional count (defaults to 1 if missing) + X is the time period + - - Index Colors - +
+ Date Formatting Codes + - Object - Pattern - Highlights + Letter + Time Period - index - yes - Entire index line - + y + Years + - index_author - yes - Author name, %A %a %F %L %n + m + Months - index_collapsed - no - Number of messages in a collapsed thread, %M + w + Weeks - index_date - no - Date field + d + Days - index_flags - yes - Message flags, %S %Z + H + Hours - index_label - no - Message label, %y %Y + M + Minutes + + + +
+ + + Example Date Tests + + + + Test + Meaning + + - index_number - no - Message number, %C + %[y + This year - index_size - no - Message size, %c %l + %[1y + This year - index_subject - yes - Subject, %s + %[6m + In the last 6 months + + + %[w + This week + + + %[d + Today + + + %[4H + In the last 4 hours
-
- + + Example 1 - - Muttrc + We start with a one-condition test. + + + Example 1 + + + + Test + Date Range + Format String + Example + + + + + %[1m + This month + %[%b %d] + Dec 10 + + + + Older + %[%Y-%m-%d] + 2015-04-23 + + + +
+ + The $index_format string would contain: -# Example Mutt config file for the 'index-color' feature. - -# Entire index line -color index white black '.*' - -# Author name, %A %a %F %L %n - -# Give the author column a dark grey background -color index_author default color234 '.*' - -# Highlight a particular from (~f) -color index_author brightyellow color234 '~fRay Charles' - -# Message flags, %S %Z -# Highlight the flags for flagged (~F) emails -color index_flags default red '~F' - -# Subject, %s -# Look for a particular subject (~s) -color index_subject brightcyan default '~s\(closes #[0-9]+\)' - -# Number of messages in a collapsed thread, %M -color index_collapsed default brightblue - -# Date field -color index_date green default - -# Message label, %y %Y -color index_label default brightgreen - -# Message number, %C -color index_number red default - -# Message size, %c %l -color index_size cyan default +%?[1m?%[%b %d]&%[%Y-%m-%d]? + -# vim: syntax=muttrc + + Reparsed a little, for clarity, you can see the + test condition and the two format strings. + + + +%?[1m? & ? + %[%b %d] %[%Y-%m-%d] -
- - See Also +
- - NeoMutt Project - Regular Expressions - Patterns - $index_format - Color command - Status-Color patch - Keywords patch - - + + Example 2 - - Known Bugs - None - + + This example contains three test conditions and four date formats. + - - Credits - - Christian Aichinger Greek0@gmx.net - Christoph Myon Berg myon@debian.org - Elimar Riesebieter riesebie@lxtec.de - Eric Davis edavis@insanum.com - Vladimir Marek Vladimir.Marek@oracle.com - Richard Russon rich@flatcap.org - - -
+ + Example 2 + + + + Test + Date Range + Format String + Example + + + + + %[d + Today + %[%H:%M ] + 12:34 + + + %[m + This month + %[%a %d] + Thu 12 + + + %[y + This year + %[%b %d] + Dec 10 + + + + Older + %[%m/%y ] + 06/15 + + + +
- - Nested If Patch - Allow complex nested conditions in format strings + The $index_format string would contain: + + +%<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]> + - - Patch + + Reparsed a little, for clarity, you can see the + test conditions and the four format strings. + - - To check if Mutt supports Nested If, look for - patch-nested-if in the mutt version. - See: . - + +%<[y? &%[%m/%y ]> Older + %<[m? &%[%b %d]> This year + %<[d? &%[%a %d]> This month + %[%H:%M ] Today + - - Dependencies: - mutt-1.6.1 - - - This patch is part of the NeoMutt Project. - - - - Introduction - - - Mutt's format strings can contain embedded if-then-else conditions. - They are of the form: - - - -%?VAR?TRUE&FALSE? - - - - If the variable VAR has a value greater than zero, - print the TRUE string, otherwise print the - FALSE string. - - - - e.g. %?S?Size: %S&Empty? - - - Which can be read as: - - - if (%S > 0) { - print "Size: %S" - } else { - print "Empty" - } - - - - These conditions are useful, but in Mutt they cannot be nested - within one another. This patch uses the notation - %<VAR?TRUE&FALSE> and allows them to be nested. - - - - The %<...> notation was used to format the - current local time. but that's not really very useful since mutt - has no means of refreshing the screen periodically. - - - - A simple nested condition might be: - (Some whitespace has been introduced for clarity) - - - - %<x? %<y? XY & X > & %<y? Y & NONE > > Conditions - %<y? XY & X > x>0 - XY x>0,y>0 - X x>0,y=0 - - - - %<x? %<y? XY & X > & %<y? Y & NONE > > Conditions - %<y? Y & NONE > x=0 - Y x=0,y>0 - NONE x=0,y=0 - - - Equivalent to: - - - if (x > 0) { - if (y > 0) { - print 'XY' - } else { - print 'X' - } - } else { - if (y > 0) { - print 'Y' - } else { - print 'NONE' - } - } - - - Examples: - - -set index_format='%4C %Z %{%b %d} %-25.25n %s%> %<M?%M Msgs &%<l?%l Lines&%c Bytes>>' - - - - if a thread is folded - display the number of messages (%M) - else if we know how many lines in the message - display lines in message (%l) - else - display the size of the message in bytes (%c) - + + This a another view of the same example, with some whitespace + for clarity. + -set index_format='%4C %Z %{%b %d} %-25.25n %<M?[%M] %s&%s%* %<l?%l&%c>>' +%<[y? %<[m? %<[d? AAA & BBB > & CCC > & DDD > - - if a thread is folded - display the number of messages (%M) - display the subject (%s) - else if we know how many lines in the message - display lines in message (%l) - else - display the size of the message in bytes (%c) - - + +AAA = %[%H:%M ] +BBB = %[%a %d] +CCC = %[%b %d] +DDD = %[%m/%y ] + + - + Variables - The nested-if patch doesn't have any config of its own. + + + The cond-date patch doesn't have any config of its own. It modifies the behavior of the format strings. + - + Muttrc -# Example Mutt config file for the 'nested-if' feature. - -# This patch uses the format: '%<VAR?TRUE&FALSE>' for conditional -# format strings that can be nested. - -# Example 1 -# if a thread is folded -# display the number of messages (%M) -# else if we know how many lines in the message -# display lines in message (%l) -# else display the size of the message in bytes (%c) -set index_format='%4C %Z %{%b %d} %-25.25n %s%> %<M?%M Msgs &%<l?%l Lines&%c Bytes>>' +# Example Mutt config file for the 'index-color' feature. +# +# The default index_format is: +# '%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s' +# +# We replace the date field '%{%b %d}', giving: +set index_format='%4C %Z %<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]> %-15.15L (%?l?%4l&%4c?) %s' -# Example 2 -# if a thread is folded -# display the number of messages (%M) -# display the subject (%s) -# else if we know how many lines in the message -# display lines in message (%l) -# else -# display the size of the message in bytes (%c) -set index_format='%4C %Z %{%b %d} %-25.25n %<M?[%M] %s&%s%* %<l?%l&%c>>' +# Test Date Range Format String Example +# -------------------------------------------- +# %[d Today %[%H:%M ] 12:34 +# %[m This month %[%a %d] Thu 12 +# %[y This year %[%b %d] Dec 10 +# - Older %[%m/%y ] 06/15 -# vim: syntax=muttrc +# vim: syntax=muttrc - + See Also NeoMutt Project - cond-date patch $index_format - $status_format + nested-if patch + strftime(3) - + Known Bugs - Patch overwrites $<fmt> handler in $index_format + + + Date parsing doesn't quite do what you expect. + 1w doesn't mean the in the last 7 days, but + this week. This doesn't match + the normal Mutt behaviour: for example ~d>1w + means emails dated in the last 7 days. + + - + Credits - David Champion dgc@uchicago.edu + Aaron Schrab aaron@schrab.com + Eric Davis edavis@insanum.com Richard Russon rich@flatcap.org - - Conditional Dates Patch - Use rules to choose date format + + Fmemopen Patch + Replace some temporary files with memory buffers - + Patch - To check if Mutt supports Conditional Dates, look for - patch-cond-date in the mutt version. + To check if Mutt supports fmemopen, look for + patch-fmemopen in the mutt version. See: . Dependencies: mutt-1.6.1 - nested-if patch + open_memstream(), fmemopen() from glibc - - This patch is part of the NeoMutt Project. - + This patch is part of the NeoMutt Project. - + Introduction - - The cond-date patch allows you to construct - $index_format expressions based on the age of the email. - + + The fmemopen patch speeds up some searches. + - - Mutt's default $index_format displays email dates in the - form: abbreviated-month day-of-month — Jan 14. - + + This patch changes a few places where Mutt creates temporary files. + It replaces them with in-memory buffers. This should improve the + performance when searching the header or body using the + $thorough_search option. + - - The format is configurable but only per-mailbox. This patch allows you - to configure the display depending on the age of the email. - + + There are no user-configurable parts. + - - Potential Formatting Scheme - - - - Email Sent - Format - Example - - - - - Today - %H:%M - 13:23 - - - This Month - %a %d - Thu 17 - - - This Year - %b %d - Dec 10 - - - Older than 1 Year - %m/%y - 06/14 - - - -
+ + This patch depends on open_memstream() and + fmemopen(). They are provided by glibc. Without + them, Mutt will simply create temporary files. + +
- - For an explanation of the date formatting strings, see - strftime(3). - + - - The date tests are of the form: - + + Muttrc + None + - %[nX? TRUE & FALSE ? + + See Also - n is an optional count (defaults to 1 if missing) - X is the time period + NeoMutt Project + Compile-Time Features + fmemopen(3) + - - Date Formatting Codes - - - - Letter - Time Period - - - - - y - Years - - - m - Months - - - w - Weeks - - - d - Days - - - H - Hours - - - M - Minutes - - - -
+ + Known Bugs + None + - - Example Date Tests - - - - Test - Meaning - - - - - %[y - This year - - - %[1y - This year - - - %[6m - In the last 6 months - - - %[w - This week - - - %[d - Today - - - %[4H - In the last 4 hours - - - -
+ + Credits + + Julius Plenz plenz@cis.fu-berlin.de + Richard Russon rich@flatcap.org + + +
- - Example 1 + + Ifdef Patch + Conditional config options - We start with a one-condition test. + + Patch - - Example 1 - - - - Test - Date Range - Format String - Example - - - - - %[1m - This month - %[%b %d] - Dec 10 - - - - Older - %[%Y-%m-%d] - 2015-04-23 - - - -
+ + To check if Mutt supports ifdef, look for + patch-ifdef in the mutt version. + See: . + - The $index_format string would contain: - -%?[1m?%[%b %d]&%[%Y-%m-%d]? - - - - Reparsed a little, for clarity, you can see the - test condition and the two format strings. - + + Dependencies: + mutt-1.6.1 + + + This patch is part of the NeoMutt Project. +
+ + + Introduction + + + The ifdef patch introduces three new commands to + Mutt and allow you to share one config file between versions of Mutt + that may have different features compiled in. + -%?[1m? & ? - %[%b %d] %[%Y-%m-%d] +ifdef symbol config-command [args...] # If a symbol is defined +ifndef symbol config-command [args...] # If a symbol is not defined +finish # Finish reading the current file -
+ + Here a symbol can be a $variable, + <function>, + command or compile-time symbol, such + as USE_IMAP. + - - Example 2 - - - This example contains three test conditions and four date formats. - - - - Example 2 - - - - Test - Date Range - Format String - Example - - - - - %[d - Today - %[%H:%M ] - 12:34 - - - %[m - This month - %[%a %d] - Thu 12 - - - %[y - This year - %[%b %d] - Dec 10 - - - - Older - %[%m/%y ] - 06/15 - - - -
- - The $index_format string would contain: - - -%<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]> - - - - Reparsed a little, for clarity, you can see the - test conditions and the four format strings. - - - -%<[y? &%[%m/%y ]> Older - %<[m? &%[%b %d]> This year - %<[d? &%[%a %d]> This month - %[%H:%M ] Today - - - - This a another view of the same example, with some whitespace - for clarity. - + + finish is particularly useful when combined with + ifndef. e.g. + -%<[y? %<[m? %<[d? AAA & BBB > & CCC > & DDD > +# Sidebar config file +ifndef USE_SIDEBAR finish - -AAA = %[%H:%M ] -BBB = %[%a %d] -CCC = %[%b %d] -DDD = %[%m/%y ] - -
- + - + Commands - None + + ifdef + + symbol + + + "config-command [args]" + + ifndef + + symbol + + + "config-command [args]" + + finish + - + - + Muttrc -# Example Mutt config file for the 'index-color' feature. -# -# The default index_format is: -# '%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s' -# -# We replace the date field '%{%b %d}', giving: -set index_format='%4C %Z %<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]> %-15.15L (%?l?%4l&%4c?) %s' +# Example Mutt config file for the 'ifdef' feature. -# Test Date Range Format String Example -# -------------------------------------------- -# %[d Today %[%H:%M ] 12:34 -# %[m This month %[%a %d] Thu 12 -# %[y This year %[%b %d] Dec 10 -# - Older %[%m/%y ] 06/15 +# This feature introduces three useful commands which allow you to share +# one config file between versions of Mutt that may have different +# features compiled in. -# vim: syntax=muttrc +# ifdef symbol config-command [args...] +# ifndef symbol config-command [args...] +# finish + +# The 'ifdef' command tests whether Mutt understands the name of +# a variable, function, command or compile-time symbol. +# If it does, then it executes a config command. + +# The 'ifndef' command tests whether a symbol does NOT exist. + +# The 'finish' command tells Mutt to stop reading current config file. + +# If the 'trash' variable exists, set it. +ifdef trash 'set trash=~/Mail/trash' + +# If the 'tag-pattern' function exists, bind a key to it. +ifdef tag-pattern 'bind index <F6> tag-pattern' + +# If the 'imap-fetch-mail' command exists, read my IMAP config. +ifdef imap-fetch-mail 'source ~/.mutt/imap.rc' + +# If the compile-time symbol 'USE_SIDEBAR' does not exist, then +# stop reading the current config file. +ifndef USE_SIDEBAR finish + +# vim: syntax=muttrc - + See Also NeoMutt Project - $index_format - nested-if patch - strftime(3) - + Known Bugs - - - Date parsing doesn't quite do what you expect. - 1w doesn't mean the in the last 7 days, but - this week. This doesn't match - the normal Mutt behaviour: for example ~d>1w - means emails dated in the last 7 days. - - + None - + Credits - Aaron Schrab aaron@schrab.com - Eric Davis edavis@insanum.com + Cedric Duval cedricduval@free.fr + Matteo F. Vescovi mfvescovi@gmail.com Richard Russon rich@flatcap.org
- - TLS-SNI Patch - Negotiate with a server for a TSL/SSL certificate + + Index Color Patch + Custom rules for theming the email index - + Patch - To check if Mutt supports TLS-SNI, look for - patch-tls-sni in the mutt version. + To check if Mutt supports Index Color, look for + patch-index-color in the mutt version. See: . Dependencies: mutt-1.6.1 - OpenSSL + status-color patch This patch is part of the NeoMutt Project. - + Introduction - - The TLS-SNI patch adds support for TLS virtual hosting. - If your mail server doesn't support this everything will still work - normally. - + + The index-color patch allows you to specify colors for + individual parts of the email index. e.g. Subject, Author, Flags. + - - TLS supports sending the expected server hostname during the - handshake, via the SNI extension. This can be used to select a - server certificate to issue to the client, permitting - virtual-hosting without requiring multiple IP addresses. - + + First choose which part of the index you'd like to color. + Then, if needed, pick a pattern to match. + - This has been tested against Exim 4.80, which optionally logs SNI - and can perform vhosting. + Note: The pattern does not have to refer to the object you wish to + color. e.g. - - To verify TLS SNI support by a server, you can use: - - -openssl s_client -host <imap server> -port <port> -tls1 -servername <imap server> +color index_author red default "~smutt" + + + The author appears red when the subject (~s) contains mutt. + - + Colors - None - - - - Sort - None - ---> - - Muttrc - None - + + All the colors default to default, i.e. unset. + - + + The index objects can be themed using the color command. + Some objects require a pattern. + + + +color index-object foreground background +color index-object foreground background pattern + + + + Index Colors + + + + Object + Pattern + Highlights + + + + + index + yes + Entire index line + + + index_author + yes + Author name, %A %a %F %L %n + + + index_collapsed + no + Number of messages in a collapsed thread, %M + + + index_date + no + Date field + + + index_flags + yes + Message flags, %S %Z + + + index_label + no + Message label, %y %Y + + + index_number + no + Message number, %C + + + index_size + no + Message size, %c %l + + + index_subject + yes + Subject, %s + + + +
+
+ + + + + Muttrc + +# Example Mutt config file for the 'index-color' feature. + +# Entire index line +color index white black '.*' + +# Author name, %A %a %F %L %n + +# Give the author column a dark grey background +color index_author default color234 '.*' + +# Highlight a particular from (~f) +color index_author brightyellow color234 '~fRay Charles' + +# Message flags, %S %Z +# Highlight the flags for flagged (~F) emails +color index_flags default red '~F' + +# Subject, %s +# Look for a particular subject (~s) +color index_subject brightcyan default '~s\(closes #[0-9]+\)' + +# Number of messages in a collapsed thread, %M +color index_collapsed default brightblue + +# Date field +color index_date green default + +# Message label, %y %Y +color index_label default brightgreen + +# Message number, %C +color index_number red default + +# Message size, %c %l +color index_size cyan default + +# vim: syntax=muttrc + + + + See Also NeoMutt Project + Regular Expressions + Patterns + $index_format + Color command + Status-Color patch + Keywords patch - + Known Bugs None - + Credits - Jeremy Katz katzj@linuxpower.org - Phil Pennock mutt-dev@spodhuis.demon.nl + Christian Aichinger Greek0@gmx.net + Christoph Myon Berg myon@debian.org + Elimar Riesebieter riesebie@lxtec.de + Eric Davis edavis@insanum.com + Vladimir Marek Vladimir.Marek@oracle.com Richard Russon rich@flatcap.org
- - Sidebar Patch - Overview of mailboxes + + Initials Expando Patch + Expando for author's initials - - Patch + + Patch - - To check if Mutt supports Sidebar, look for - +USE_SIDEBAR in the mutt version. - See: . - + + To check if Mutt supports Initials, look for + patch-initials in the mutt version. + See: . + - - Dependencies: - mutt-1.6.1 - + + Dependencies: + mutt-1.6.1 + - This patch is part of the NeoMutt Project. - + This patch is part of the NeoMutt Project. + - - Introduction + + Introduction - - The Sidebar shows a list of all your mailboxes. The list can be - turned on and off, it can be themed and the list style can be - configured. - + + The initials patch adds an expando (%I) for an author's + initials. + - - This part of the manual is a reference guide. - If you want a simple introduction with examples see the - Sidebar Howto. - If you just want to get started, you could use the sample - Sidebar muttrc. - + + The index panel displays a list of emails. Its layout is controlled by + the $index_format variable. Using + this expando saves space in the index panel. This can be useful if you + are regularly working with a small set of people. + + - - This version of Sidebar is based on Terry Chan's - 2015-11-11 release. - It contains many - new features, - lots of - bugfixes. - - + + Variables - - Variables + + This patch has no config of its own. It adds an expando which can be + used in the $index_format variable. + + - - Sidebar Variables - - - - Name - Type - Default - - - - - sidebar_delim_chars - string - /. - - - sidebar_divider_char - string - | - - - sidebar_folder_indent - boolean - no - - - sidebar_format - string - %B%* %n - - - sidebar_indent_string - string -    (two spaces) - - - sidebar_new_mail_only - boolean - no - - - sidebar_next_new_wrap - boolean - no - - - sidebar_short_path - boolean - no - - - sidebar_sort_method - enum - unsorted - - - sidebar_visible - boolean - no - - - sidebar_whitelist - list - (empty) - - - sidebar_width - number - 20 - - - -
-
- - - Functions - - - Sidebar adds the following functions to Mutt. - By default, none of them are bound to keys. - - - - Sidebar Functions - - - - Menus - Function - Description - - - - - index,pager - <sidebar-next> - Move the highlight to next mailbox - - - index,pager - <sidebar-next-new> - Move the highlight to next mailbox with new mail - - - index,pager - <sidebar-open> - Open highlighted mailbox - - - index,pager - <sidebar-page-down> - Scroll the Sidebar down 1 page - - - index,pager - <sidebar-page-up> - Scroll the Sidebar up 1 page - - - index,pager - <sidebar-prev> - Move the highlight to previous mailbox - - - index,pager - <sidebar-prev-new> - Move the highlight to previous mailbox with new mail - - - index,pager - <sidebar-toggle-visible> - Make the Sidebar (in)visible - - - -
-
- - - Commands - - sidebar_whitelist - - mailbox - - - mailbox - - - - - - Colors - - - Sidebar Colors - - - - Name - Default Color - Description - - - - - sidebar_divider - default - The dividing line between the Sidebar and the Index/Pager panels - - - sidebar_flagged - default - Mailboxes containing flagged mail - - - sidebar_highlight - underline - Cursor to select a mailbox - - - sidebar_indicator - mutt indicator - The mailbox open in the Index panel - - - sidebar_new - default - Mailboxes containing new mail - - - sidebar_spoolfile - default - Mailbox that receives incoming mail - - - -
+ - - Muttrc + + Muttrc -# This is a complete list of sidebar-related configuration. +# Example Mutt config file for the 'initials' patch. -# -------------------------------------------------------------------------- -# VARIABLES - shown with their default values -# -------------------------------------------------------------------------- +# The 'initials' patch has no config of its own. +# It adds an expando for an author's initials, +# which can be used in the 'index_format' variable. -# Should the Sidebar be shown? -set sidebar_visible = no +# The default 'index_format' is: +set index_format='%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s' -# How wide should the Sidebar be in screen columns? -# Note: Some characters, e.g. Chinese, take up two columns each. -set sidebar_width = 20 +# Where %L represents the author/recipient -# Should the mailbox paths be abbreviated? -set sidebar_short_path = no +# This might look like: +# 1 + Nov 17 David Bowie Changesbowie ( 689) +# 2 ! Nov 17 Stevie Nicks Rumours ( 555) +# 3 + Nov 16 Jimi Hendrix Voodoo Child ( 263) +# 4 + Nov 16 Debbie Harry Parallel Lines ( 540) -# When abbreviating mailbox path names, use any of these characters as path -# separators. Only the part after the last separators will be shown. -# For file folders '/' is good. For IMAP folders, often '.' is useful. -set sidebar_delim_chars = '/.' - -# If the mailbox path is abbreviated, should it be indented? -set sidebar_folder_indent = no - -# Indent mailbox paths with this string. -set sidebar_indent_string = ' ' - -# Make the Sidebar only display mailboxes that contain new, or flagged, -# mail. -set sidebar_new_mail_only = no - -# Any mailboxes that are whitelisted will always be visible, even if the -# sidebar_new_mail_only option is enabled. -sidebar_whitelist '/home/user/mailbox1' -sidebar_whitelist '/home/user/mailbox2' - -# When searching for mailboxes containing new mail, should the search wrap -# around when it reaches the end of the list? -set sidebar_next_new_wrap = no - -# The character to use as the divider between the Sidebar and the other Mutt -# panels. -# Note: Only the first character of this string is used. -set sidebar_divider_char = '|' - -# Display the Sidebar mailboxes using this format string. -set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S' - -# Sidebar will not refresh its list of mailboxes any more frequently than -# this number of seconds. This will help reduce disk/network traffic. -set sidebar_refresh_time = 60 - -# Sort the mailboxes in the Sidebar using this method: -# count - total number of messages -# flagged - number of flagged messages -# new - number of new messages -# path - mailbox path -# unsorted - do not sort the mailboxes -set sidebar_sort_method = 'unsorted' - -# -------------------------------------------------------------------------- -# FUNCTIONS - shown with an example mapping -# -------------------------------------------------------------------------- - -# Move the highlight to the previous mailbox -bind index,pager \Cp sidebar-prev - -# Move the highlight to the next mailbox -bind index,pager \Cn sidebar-next - -# Open the highlighted mailbox -bind index,pager \Co sidebar-open - -# Move the highlight to the previous page -# This is useful if you have a LOT of mailboxes. -bind index,pager <F3> sidebar-page-up - -# Move the highlight to the next page -# This is useful if you have a LOT of mailboxes. -bind index,pager <F4> sidebar-page-down - -# Move the highlight to the previous mailbox containing new, or flagged, -# mail. -bind index,pager <F5> sidebar-prev-new - -# Move the highlight to the next mailbox containing new, or flagged, mail. -bind index,pager <F6> sidebar-next-new - -# Toggle the visibility of the Sidebar. -bind index,pager B sidebar-toggle-visible - -# -------------------------------------------------------------------------- -# COLORS - some unpleasant examples are given -# -------------------------------------------------------------------------- -# Note: All color operations are of the form: -# color OBJECT FOREGROUND BACKGROUND - -# Color of the current, open, mailbox -# Note: This is a general Mutt option which colors all selected items. -color indicator cyan black - -# Color of the highlighted, but not open, mailbox. -color sidebar_highlight black color8 - -# Color of the divider separating the Sidebar from Mutt panels -color sidebar_divider color8 black - -# Color to give mailboxes containing flagged mail -color sidebar_flagged red black - -# Color to give mailboxes containing new mail -color sidebar_new green black +# Using the %I expando: +set index_format='%4C %Z %{%b %d} %I (%?l?%4l&%4c?) %s' -# -------------------------------------------------------------------------- +# This might look like: +# 1 + Nov 17 DB Changesbowie ( 689) +# 2 ! Nov 17 SN Rumours ( 555) +# 3 + Nov 16 JH Voodoo Child ( 263) +# 4 + Nov 16 DH Parallel Lines ( 540) # vim: syntax=muttrc - + - - See Also + + See Also - - Regular Expressions - Patterns - Color command - notmuch patch - - + + NeoMutt Project + $index_format + index-color patch + folder-hook + + - - Known Bugs - Unsorted isn't - + + Known Bugs + None + - - Credits - - Justin Hibbits jrh29@po.cwru.edu - Thomer M. Gil mutt@thomer.com - David Sterba dsterba@suse.cz - Evgeni Golov evgeni@debian.org - Fabian Groffen grobian@gentoo.org - Jason DeTiberus jdetiber@redhat.com - Stefan Assmann sassmann@kpanic.de - Steve Kemp steve@steve.org.uk - Terry Chan tchan@lunar-linux.org - Tyler Earnest tylere@rne.st - Richard Russon rich@flatcap.org - - + + Credits + + Vsevolod Volkov vvv@mutt.org.ua + Richard Russon rich@flatcap.org + +
- - Ifdef Patch - Conditional config options + + Keywords Patch + Labels/Tagging for emails - + Patch - To check if Mutt supports ifdef, look for - patch-ifdef in the mutt version. + To check if Mutt supports Keywords, look for + patch-keywords in the mutt version. See: . @@ -10807,259 +10349,319 @@ color sidebar_new green black This patch is part of the NeoMutt Project. - + Introduction - The ifdef patch introduces three new commands to - Mutt and allow you to share one config file between versions of Mutt - that may have different features compiled in. + Unify label/keyword handling. - -ifdef symbol config-command [args...] # If a symbol is defined -ifndef symbol config-command [args...] # If a symbol is not defined -finish # Finish reading the current file - + + Since x-labels were added to mutt in 2000, a number of other approaches + to what we now call tagging have also emerged. + One of them was even made standard in RFC 2822. + This update unifies the handling of all these strategies. + - Here a symbol can be a $variable, - <function>, - command or compile-time symbol, such - as USE_IMAP. + We start by changing mutt's internal keyword storage from a single + string which may contain whitespace to a list of discrete keywords. + This has advantages for keyword completion as well as for portabilty + among varying "standards" for keyword storage. This may represent + a significant change for existing mutt users who have set x-labels + containing spaces, and should be regarded with suspicion. The + advantages are significant, though. - - finish is particularly useful when combined with - ifndef. e.g. - + + Next we allow mutt to parse keywords into this internal list from + any of the following headers: X-Label (freeform), X-Keywords + (space-delimited), X-Mozilla-Keys (space-delimited), and Keywords (RFC + 2822, comma-space-delimited). Mutt remembers which headers it sourced + keywords from, and can rewrite those headers when saving messages for + compatibility with the mailer of origin. + - -# Sidebar config file -ifndef USE_SIDEBAR finish - + + (X-Label was specified as freeform text by mutt, its only known + implementation. X-Labels have been used both as a + tagging device, probably with space delimiting, and as a + memo field, where space-delimited parsing would ruin the + semantics of the memo. By default mutt will not split X-Labels at all. + Set $xlabel_delimiter if your needs vary.) + - + + Finally we add two booleans: $keywords_legacy=true and + $keywords_standard=FALSE. When $keywords_legacy is true, mutt will + always save keyword to whatever original header it came from. When + $keywords_standard=true, mutt will save to the Keywords: header. If + both are true mutt saves to both; if neither is true, mutt saves only + to legacy headers to avoid complete loss of keywords. + - - - Commands - - ifdef - - symbol - - - "config-command [args]" - - ifndef - - symbol - - - "config-command [args]" - - finish - + + Variables + + + Keywords Variables + + + + Name + Type + Default + + + + + keywords_legacy + boolean + yes + + + keywords_standard + boolean + no + + + xlabel_delimiter + string + (empty) + + + +
+
+ + + Functions + + + Keyword Functions + + + + Menus + Default Key + Function + Description + + + + + index,pager + y + <edit-label> + add, change, or delete a message's label + + + +
- + Sort - None + + Keywords Sort + + + + Sort + Description + + + + + label + Sort by label + + + +
---> - + Muttrc - -# Example Mutt config file for the 'ifdef' feature. - -# This feature introduces three useful commands which allow you to share -# one config file between versions of Mutt that may have different -# features compiled in. - -# ifdef symbol config-command [args...] -# ifndef symbol config-command [args...] -# finish - -# The 'ifdef' command tests whether Mutt understands the name of -# a variable, function, command or compile-time symbol. -# If it does, then it executes a config command. - -# The 'ifndef' command tests whether a symbol does NOT exist. - -# The 'finish' command tells Mutt to stop reading current config file. - -# If the 'trash' variable exists, set it. -ifdef trash 'set trash=~/Mail/trash' - -# If the 'tag-pattern' function exists, bind a key to it. -ifdef tag-pattern 'bind index <F6> tag-pattern' - -# If the 'imap-fetch-mail' command exists, read my IMAP config. -ifdef imap-fetch-mail 'source ~/.mutt/imap.rc' - -# If the compile-time symbol 'USE_SIDEBAR' does not exist, then -# stop reading the current config file. -ifndef USE_SIDEBAR finish - -# vim: syntax=muttrc - - + See Also - NeoMutt Project + NeoMutt Project + $index_format + index-color patch + folder-hook - + Known Bugs - None - + Credits - Cedric Duval cedricduval@free.fr - Matteo F. Vescovi mfvescovi@gmail.com + David Champion dgc@uchicago.edu Richard Russon rich@flatcap.org
- - Fmemopen Patch - Replace some temporary files with memory buffers + + Limit-Current-Thread Patch + Focus on one Email Thread - + Patch - To check if Mutt supports fmemopen, look for - patch-fmemopen in the mutt version. + To check if Mutt supports limit-current-thread, look for + patch-limit-current-thread in the mutt version. See: . Dependencies: mutt-1.6.1 - open_memstream(), fmemopen() from glibc This patch is part of the NeoMutt Project. - + Introduction - - The fmemopen patch speeds up some searches. - - - - This patch changes a few places where Mutt creates temporary files. - It replaces them with in-memory buffers. This should improve the - performance when searching the header or body using the - $thorough_search option. - - - - There are no user-configurable parts. - + + This patch adds a new way of using the + Limit Command. + The <limit-current-thread> + function restricts the view to just the current thread. + Setting the limit (the l key) to + all will restore the full email list. + - - This patch depends on open_memstream() and - fmemopen(). They are provided by glibc. Without - them, Mutt will simply create temporary files. - + Functions - None - - + + Limit-Current-Thread Functions + + + + Menus + Default Key + Function + Description + + + + + index + <Esc> L + <limit-current-thread> + Limit view to current thread + + + +
+ +
+ - + Muttrc - None + + +# Example Mutt config file for the 'limit-current-thread' patch. + +# Limit view to current thread +bind index <esc>L limit-current-thread + +# vim: syntax=muttrc + - + See Also NeoMutt Project - Compile-Time Features - fmemopen(3) - + Known Bugs None - + Credits - Julius Plenz plenz@cis.fu-berlin.de + David Sterba dsterba@suse.cz Richard Russon rich@flatcap.org
- - Initials Expando Patch - Expando for author's initials + + LMDB Patch + LMDB backend for the header cache - + Patch - To check if Mutt supports Initials, look for - patch-initials in the mutt version. + To check if Mutt supports lmdb, look for + patch-lmdb in the mutt version. See: . @@ -11071,410 +10673,266 @@ ifndef USE_SIDEBAR finish This patch is part of the NeoMutt Project. - + Introduction - - The initials patch adds an expando (%I) for an author's - initials. - - - The index panel displays a list of emails. Its layout is controlled by - the $index_format variable. Using - this expando saves space in the index panel. This can be useful if you - are regularly working with a small set of people. + This patch adds support for using LMDB as a storage backend for + Mutt's header cache (hcache). It is enabled at configure time with + the --with-lmdb=<path> switch. - - Variables - - - This patch has no config of its own. It adds an expando which can be - used in the $index_format variable. - - - - - - - Muttrc - -# Example Mutt config file for the 'initials' patch. - -# The 'initials' patch has no config of its own. -# It adds an expando for an author's initials, -# which can be used in the 'index_format' variable. - -# The default 'index_format' is: -set index_format='%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s' - -# Where %L represents the author/recipient - -# This might look like: -# 1 + Nov 17 David Bowie Changesbowie ( 689) -# 2 ! Nov 17 Stevie Nicks Rumours ( 555) -# 3 + Nov 16 Jimi Hendrix Voodoo Child ( 263) -# 4 + Nov 16 Debbie Harry Parallel Lines ( 540) - -# Using the %I expando: -set index_format='%4C %Z %{%b %d} %I (%?l?%4l&%4c?) %s' - -# This might look like: -# 1 + Nov 17 DB Changesbowie ( 689) -# 2 ! Nov 17 SN Rumours ( 555) -# 3 + Nov 16 JH Voodoo Child ( 263) -# 4 + Nov 16 DH Parallel Lines ( 540) - -# vim: syntax=muttrc - - - - + See Also NeoMutt Project - $index_format - index-color patch - folder-hook + Local Caching - + Known Bugs None - + Credits - Vsevolod Volkov vvv@mutt.org.ua - Richard Russon rich@flatcap.org + Pietro Cerutti gahr@gahr.ch + Jan-Piet Mens jp@mens.de - - Trash Folder Patch - Automatically move "deleted" emails to a trash bin + + Nested If Patch + Allow complex nested conditions in format strings - + Patch - To check if Mutt supports Trash Folder, look for - patch-trash in the mutt version. + To check if Mutt supports Nested If, look for + patch-nested-if in the mutt version. See: . - If IMAP is enabled, this patch will use it - Dependencies: mutt-1.6.1 - IMAP support This patch is part of the NeoMutt Project. - + Introduction - In Mutt, when you delete an email it is first marked - deleted. The email isn't really gone until - <sync-mailbox> is called. - This happens when the user leaves the folder, or the function is called - manually. + Mutt's format strings can contain embedded if-then-else conditions. + They are of the form: + +%?VAR?TRUE&FALSE? + + - After <sync-mailbox> has been called the email is gone forever. + If the variable VAR has a value greater than zero, + print the TRUE string, otherwise print the + FALSE string. - The $trash variable defines a folder in - which to keep old emails. As before, first you mark emails for - deletion. When <sync-mailbox> is called the emails are moved to - the trash folder. + e.g. %?S?Size: %S&Empty? + Which can be read as: + + + if (%S > 0) { + print "Size: %S" + } else { + print "Empty" + } + + - The $trash path can be either a full directory, - or be relative to the $folder - variable, like the mailboxes command. + These conditions are useful, but in Mutt they cannot be nested + within one another. This patch uses the notation + %<VAR?TRUE&FALSE> and allows them to be nested. - - Emails deleted from the trash folder are gone forever. - - + + The %<...> notation was used to format the + current local time. but that's not really very useful since mutt + has no means of refreshing the screen periodically. + - - Variables - - Trash Variables - - - - Name - Type - Default - - - - - trash - string - (none) - - - -
-
+ + A simple nested condition might be: + (Some whitespace has been introduced for clarity) + - - Functions - - Trash Functions - - - - Menus - Default Key - Function - Description - - - - - index,pager - (none) - <purge-message> - really delete the current entry, bypassing the trash folder - - - -
-
+ + %<x? %<y? XY & X > & %<y? Y & NONE > > Conditions + %<y? XY & X > x>0 + XY x>0,y>0 + X x>0,y=0 + - + + if (x > 0) { + if (y > 0) { + print 'XY' + } else { + print 'X' + } + } else { + if (y > 0) { + print 'Y' + } else { + print 'NONE' + } + } + + + Examples: - - Muttrc -# Example Mutt config file for the 'trash' feature. - -# This feature defines a new 'trash' folder. -# When mail is deleted it will be moved to this folder. - -# Folder in which to put deleted emails -set trash='+Trash' -set trash='/home/flatcap/Mail/Trash' - -# The default delete key 'd' will move an email to the 'trash' folder -# Bind 'D' to REALLY delete an email -bind index D purge-message - -# Note: Deleting emails from the 'trash' folder will REALLY delete them. - -# vim: syntax=muttrc +set index_format='%4C %Z %{%b %d} %-25.25n %s%> %<M?%M Msgs &%<l?%l Lines&%c Bytes>>' - - - - See Also - - - NeoMutt Project - folder-hook - - - - - Known Bugs - None - - - - Credits - - Cedric Duval cedricduval@free.fr - Benjamin Kuperman kuperman@acm.org - Paul Miller paul@voltar.org - Richard Russon rich@flatcap.org - - -
- - - Limit-Current-Thread Patch - Focus on one Email Thread - - Patch + + if a thread is folded + display the number of messages (%M) + else if we know how many lines in the message + display lines in message (%l) + else + display the size of the message in bytes (%c) + - - To check if Mutt supports limit-current-thread, look for - patch-limit-current-thread in the mutt version. - See: . - + +set index_format='%4C %Z %{%b %d} %-25.25n %<M?[%M] %s&%s%* %<l?%l&%c>>' + - - Dependencies: - mutt-1.6.1 - + + if a thread is folded + display the number of messages (%M) + display the subject (%s) + else if we know how many lines in the message + display lines in message (%l) + else + display the size of the message in bytes (%c) + - This patch is part of the NeoMutt Project. - - Introduction - - - This patch adds a new way of using the - Limit Command. - The <limit-current-thread> - function restricts the view to just the current thread. - Setting the limit (the l key) to - all will restore the full email list. - - + + Variables + The nested-if patch doesn't have any config of its own. + It modifies the behavior of the format strings. - - Functions - - - Limit-Current-Thread Functions - - - - Menus - Default Key - Function - Description - - - - - index - <Esc> L - <limit-current-thread> - Limit view to current thread - - - -
-
- - + Muttrc - -# Example Mutt config file for the 'limit-current-thread' patch. +# Example Mutt config file for the 'nested-if' feature. -# Limit view to current thread -bind index <esc>L limit-current-thread +# This patch uses the format: '%<VAR?TRUE&FALSE>' for conditional +# format strings that can be nested. + +# Example 1 +# if a thread is folded +# display the number of messages (%M) +# else if we know how many lines in the message +# display lines in message (%l) +# else display the size of the message in bytes (%c) +set index_format='%4C %Z %{%b %d} %-25.25n %s%> %<M?%M Msgs &%<l?%l Lines&%c Bytes>>' + +# Example 2 +# if a thread is folded +# display the number of messages (%M) +# display the subject (%s) +# else if we know how many lines in the message +# display lines in message (%l) +# else +# display the size of the message in bytes (%c) +set index_format='%4C %Z %{%b %d} %-25.25n %<M?[%M] %s&%s%* %<l?%l&%c>>' # vim: syntax=muttrc - + See Also NeoMutt Project + cond-date patch + $index_format + $status_format - + Known Bugs - None + Patch overwrites $<fmt> handler in $index_format - + Credits - David Sterba dsterba@suse.cz + David Champion dgc@uchicago.edu Richard Russon rich@flatcap.org
- - Skip-Quoted Patch - Leave some context visible + + NNTP Patch + Talk to a Usenet news server - + Patch - To check if Mutt supports skip-quoted, look for - patch-skip-quoted in the mutt version. - See: . + To check if Mutt supports NNTP, look for + +USE_NNTP in the mutt version. + See: . @@ -11485,26 +10943,31 @@ bind index <esc>L limit-current-thread This patch is part of the NeoMutt Project. - + Introduction + Reading news via NNTP - When viewing an email, the - <skip-to-quoted> function (by default the - S key) will scroll past any quoted text. - Sometimes, a little context is useful. - - - - By setting the $skip_quoted_offset variable, you - can select how much of the quoted text is left visible. + If compiled with --enable-nntp option, Mutt can + read news from news server via NNTP. You can open a newsgroup with + function ``change-newsgroup'' (default: ``i''). Default news server + can be obtained from $NNTPSERVER environment + variable or from /etc/nntpserver file. Like other + news readers, info about subscribed newsgroups is saved in file by + $newsrc variable. The variable $news_cache_dir can be used to point + to a directory. Mutt will create a hierarchy of subdirectories named + like the account and newsgroup the cache is for. Also the hierarchy + is used to store header cache if Mutt was compiled with header cache support. - + Variables - - Skip-Quoted Variables + +
+ NNTP Variables @@ -11515,463 +10978,1051 @@ bind index <esc>L limit-current-thread - skip_quoted_offset - number - 0 + ask_follow_up + boolean + no - - -
-
- - - - - Muttrc - - -# Example Mutt config file for the 'skip-quoted' patch. - -# The 'S' (skip-quoted) command scrolls the pager past the quoted text (usually -# indented with '> '. Setting 'skip_quoted_offset' leaves some lines of quoted -# text on screen for context. - -# Show three quoted lines before the reply -set skip_quoted_offset = 3 - -# vim: syntax=muttrc - - - - - See Also - - - NeoMutt Project - - - - - Known Bugs - None - - - - Credits - - David Sterba dsterba@suse.cz - Richard Russon rich@flatcap.org - - -
- - - Compressed Folders Patch - Read from/write to compressed mailboxes - - - Patch - - - To check if Mutt supports Compress Folders, look for - +USE_COMPRESSED in the mutt version. - See: . - - - - Dependencies: - mutt-1.6.1 - - - This patch is part of the NeoMutt Project. - - - - Introduction - - - The Compressed Folder patch allows Mutt to read mailbox files that are - compressed. But it isn't limited to compressed files. It works well - with encrypted files, too. In fact, if you can create a program/script - to convert to and from your format, then Mutt can read it. - - - - The patch adds three hooks to Mutt: open-hook, - close-hook and append-hook. They - define commands to: uncompress a file; compress a file; append - messages to an already compressed file. - - - - There are some examples of both compressed and encrypted files, - later. For now, the documentation will just concentrate on - compressed files. - - - - - - - - Commands - - open-hook - - pattern - - - shell-command - - close-hook - - pattern - - - shell-command - - append-hook - - pattern - - - shell-command - - - - - The shell-command must contain two placeholders for filenames: - %f and %t. These represent - from and to filenames. It's a good idea to - put quotes around these placeholders. - - - - If you need the exact string %f or %t in your - command, simply double up the % character, e.g. - %%f or %%t. - - - - Not all Hooks are Required - - - Open - Close - Append - Effect - Useful if + ask_x_comment_to + boolean + no - - - Open - - - - - Folder is readonly - The folder is just a backup + catchup_newsgroup + quad + ask-yes - Open - Close - - - Folder is read/write, but the entire folder must be - written if anything is changed - Your compression format doesn't support appending + followup_to_poster + quad + ask-yes - Open - Close - Append - Folder is read/write and emails can be efficiently added - to the end - Your compression format supports appending + group_index_format + string + %4C %M%N %5s %-45.45f %d - Open - - - Append - Folder is readonly, but can be appended to - You want to store emails, but never change them + inews + string + (empty) - - -
- - - The command: - - should return a non-zero exit status on failure - should not delete any files - - - - - Read from compressed mailbox - - open-hook regexp shell-command - - - If Mutt is unable to open a file, it then looks for - open-hook that matches the filename. - - - - If your compression program doesn't have a well-defined extension, - then you can use . as the regexp. - - - - Example of open-hook - - open-hook '\.gz$' "gzip -cd '%f' > '%t'" - - - Mutt finds a file, example.gz, - that it can't read - Mutt has an open-hook - whose regexp matches the filename: - \.gz$ - Mutt uses the command gzip -cd - to create a temporary file that it can - read - - - - - - Write to a compressed mailbox - - close-hook regexp shell-command - - - When Mutt has finished with a compressed mail folder, it will look - for a matching close-hook to recompress the file. - This hook is optional. - - - - If the folder has not been modifed, the - close-hook will not be called. - - - - Example of close-hook - - close-hook '\.gz$' "gzip -c '%t' > '%f'" - - - Mutt has finished with a folder, example.gz, - that it opened with open-hook - The folder has been modified - Mutt has a close-hook whose regexp - matches the filename: \.gz$ - Mutt uses the command gzip -c - to create a new compressed file - - - - - - Append to a compressed mailbox + + mime_subject + boolean + yes + + + newsgroups_charset + string + utf-8 + + + newsrc + string + ~/.newsrc + + + news_cache_dir + string + ~/.mutt + + + news_server + string + (empty) + + + nntp_authenticators + string + (empty) + + + nntp_context + number + 1000 + + + nntp_listgroup + boolean + yes + + + nntp_load_description + boolean + yes + + + nntp_pass + string + (empty) + + + nntp_poll + number + 60 + + + nntp_user + string + (empty) + + + post_moderated + quad + ask-yes + + + save_unsubscribed + boolean + no + + + show_new_news + boolean + yes + + + show_only_unread + boolean + no + + + x_comment_to + boolean + no + + + + +
+ + + Functions + + + NNTP Functions + + + + Menus + Default Key + Function + Description + + + + + browser,index + y + <catchup> + mark all articles in newsgroup as read + + + index,pager + i + <change-newsgroup> + open a different newsgroup + + + pager + X + <change-vfolder> + open a different virtual folder + + + compose + o + <edit-followup-to> + edit the Followup-To field + + + compose + N + <edit-newsgroups> + edit the newsgroups list + + + compose + x + <edit-x-comment-to> + edit the X-Comment-To field + + + pager + + + <entire-thread> + read entire thread of the current message + + + attachment,index,pager + F + <followup-message> + followup to newsgroup + + + pager + ` + <modify-labels> + modify (notmuch) tags + + + index,pager + P + <post-message> + post message to newsgroup + + + browser + g + <reload-active> + load list of all newsgroups from NNTP server + + + browser + s + <subscribe> + subscribe to current mbox (IMAP/NNTP only) + + + browser + S + <subscribe-pattern> + subscribe to newsgroups matching a pattern + + + browser + Y + <uncatchup> + mark all articles in newsgroup as unread + + + browser + u + <unsubscribe> + unsubscribe from current mbox (IMAP/NNTP only) + + + browser + U + <unsubscribe-pattern> + unsubscribe from newsgroups matching a pattern + + + index,pager + Alt-i + <change-newsgroup-readonly> + open a different newsgroup in read only mode + + + attachment,index,pager + Alt-F + <forward-to-group> + forward to newsgroup + + + index + (none) + <get-children> + get all children of the current message + + + index + Alt-G + <get-parent> + get parent of the current message + + + index,pager + (none) + <imap-fetch-mail> + force retrieval of mail from IMAP server + + + index,pager + (none) + <imap-logout-all> + logout from all IMAP servers + + + pager + (none) + <modify-labels-then-hide> + modify labeld and then hide message + + + index + (none) + <reconstruct-thread> + reconstruct thread containing current message + + + pager + Alt-X + <vfolder-from-query> + generate virtual folder from query + + + index + Ctrl-G + <get-message> + get message with Message-Id + + + +
+
+ + + Commands + + + + Colors + None + + + + Sort + None + + + + Muttrc + + + + See Also + + + NeoMutt Project + Compile-Time Features + + + + + Known Bugs + + + + Credits + + Vsevolod Volkov vvv@mutt.org.ua + Felix von Leitner leitner@fefe.de + Richard Russon rich@flatcap.org + + +
+ + + Progress Bar Patch + Show a visual progress bar on slow operations + + + Patch + + + To check if Mutt supports Progress Bar, look for + patch-progress in the mutt version. + See: . + + + + Dependencies: + mutt-1.6.1 + + + This patch is part of the NeoMutt Project. + + + + Introduction + + + The progress patch shows a visual progress bar on slow + tasks, such as indexing a large folder over the net. + + + + + + + Colors + + Progress Colors + + + + Name + Default Color + Description + + + + + progress + default + Visual progress bar + + + +
+
+ + + + + Muttrc + +# Example Mutt config file for the 'progress' patch. + +# The 'progress' patch provides clear visual feedback for +# slow tasks, such as indexing a large folder over the net. + +# Set the color of the progress bar +# White text on a red background +color progress white red + +# vim: syntax=muttrc + + + + + See Also + + + NeoMutt Project + Color command + + + + + Known Bugs + None + + + + Credits + + Rocco Rutte pdmef@gmx.net + Vincent Lefevre vincent@vinc17.org + Stefan Kuhn wuodan@hispeed.ch + Karel Zak kzak@redhat.com + Richard Russon rich@flatcap.org + + +
+ + + Quasi-Delete Patch + Mark emails that should be hidden, but not deleted + + + Patch + + + To check if Mutt supports Quasi-Delete, look for + patch-quasi-delete in the mutt version. + See: . + + + + Dependencies: + mutt-1.6.1 + + + This patch is part of the NeoMutt Project. + + + + Introduction + + + The quasi-delete function marks an email that should be + hidden from the index, but NOT deleted. + + + + On its own, this patch isn't very useful. It forms a useful part of + the notmuch plugin. + + - append-hook regexp shell-command + - - When Mutt wants to append an email to a compressed mail folder, it - will look for a matching append-hook. - This hook is optional. - + + Functions + + Quasi-Delete Functions + + + + Menus + Default Key + Function + Description + + + + + index,pager + (none) + <quasi-delete> + delete from mutt, don't touch on disk + + + +
+
- - Using the append-hook will save time, but - Mutt won't be able to determine the type of the mail folder - inside the compressed file. - + - - Example of append-hook + + Muttrc + +# Example Mutt config file for the 'quasi-delete' feature. + +# The 'quasi-delete' function marks an email that should be hidden +# from the index, but NOT deleted. +bind index,pager Q quasi-delete + +# vim: syntax=muttrc + + - append-hook '\.gz$' "gzip -c '%t' >> '%f'" + + See Also - - Mutt wants to append an email to a folder, example.gz, - that it opened with open-hook - Mutt has an append-hook whose regexp matches - the filename: \.gz$ - Mutt knows the mailbox type from the $mbox - variable - Mutt uses the command gzip -c - to append to an existing compressed file - - + + NeoMutt Project + notmuch patch + + - + + Known Bugs + None + + + + Credits + + Karel Zak kzak@redhat.com + Richard Russon rich@flatcap.org + + +
+ + + Sidebar Patch + Overview of mailboxes + + + Patch + + + To check if Mutt supports Sidebar, look for + +USE_SIDEBAR in the mutt version. + See: . + + + + Dependencies: + mutt-1.6.1 + + + This patch is part of the NeoMutt Project. + + + + Introduction + + + The Sidebar shows a list of all your mailboxes. The list can be + turned on and off, it can be themed and the list style can be + configured. + + + + This part of the manual is a reference guide. + If you want a simple introduction with examples see the + Sidebar Howto. + If you just want to get started, you could use the sample + Sidebar muttrc. + + + + This version of Sidebar is based on Terry Chan's + 2015-11-11 release. + It contains many + new features, + lots of + bugfixes. + + + + + Variables + + + Sidebar Variables + + + + Name + Type + Default + + + + + sidebar_delim_chars + string + /. + + + sidebar_divider_char + string + | + + + sidebar_folder_indent + boolean + no + + + sidebar_format + string + %B%* %n + + + sidebar_indent_string + string +    (two spaces) + + + sidebar_new_mail_only + boolean + no + + + sidebar_next_new_wrap + boolean + no + + + sidebar_short_path + boolean + no + + + sidebar_sort_method + enum + unsorted + + + sidebar_visible + boolean + no + + + sidebar_whitelist + list + (empty) + + + sidebar_width + number + 20 + + + +
+
+ + + Functions + + + Sidebar adds the following functions to Mutt. + By default, none of them are bound to keys. + + + + Sidebar Functions + + + + Menus + Function + Description + + + + + index,pager + <sidebar-next> + Move the highlight to next mailbox + + + index,pager + <sidebar-next-new> + Move the highlight to next mailbox with new mail + + + index,pager + <sidebar-open> + Open highlighted mailbox + + + index,pager + <sidebar-page-down> + Scroll the Sidebar down 1 page + + + index,pager + <sidebar-page-up> + Scroll the Sidebar up 1 page + + + index,pager + <sidebar-prev> + Move the highlight to previous mailbox + + + index,pager + <sidebar-prev-new> + Move the highlight to previous mailbox with new mail + + + index,pager + <sidebar-toggle-visible> + Make the Sidebar (in)visible + + + +
+
- - Empty Files + + Commands + + sidebar_whitelist + + mailbox + + + mailbox + + + - - Mutt assumes that an empty file is not compressed. In this - situation, unset $save_empty, so - that the compressed file will be removed if you delete all of the - messages. - - + + Colors - - Security + + Sidebar Colors + + + + Name + Default Color + Description + + + + + sidebar_divider + default + The dividing line between the Sidebar and the Index/Pager panels + + + sidebar_flagged + default + Mailboxes containing flagged mail + + + sidebar_highlight + underline + Cursor to select a mailbox + + + sidebar_indicator + mutt indicator + The mailbox open in the Index panel + + + sidebar_new + default + Mailboxes containing new mail + + + sidebar_spoolfile + default + Mailbox that receives incoming mail + + + +
- - Encrypted files are decrypted into temporary files which are - stored in the $tmpdir directory. - This could be a security risk. - -
-
+ + If the sidebar_indicator color isn't set, then the default Mutt + indicator color will be used (the color used in the index panel). + + - + + Sidebar Sort + + + + Sort + Description + + + + + alpha + Alphabetically by path + + + count + Total number of messages + + + flagged + Number of flagged messages + + + name + Alphabetically by path + + + new + Number of new messages + + + path + Alphabetically by path + + + unsorted + Do not resort the paths + + + +
+ - - Muttrc + + Muttrc -# Example Mutt config file for the 'compressed folders' feature. +# This is a complete list of sidebar-related configuration. + +# -------------------------------------------------------------------------- +# VARIABLES - shown with their default values +# -------------------------------------------------------------------------- + +# Should the Sidebar be shown? +set sidebar_visible = no + +# How wide should the Sidebar be in screen columns? +# Note: Some characters, e.g. Chinese, take up two columns each. +set sidebar_width = 20 + +# Should the mailbox paths be abbreviated? +set sidebar_short_path = no + +# When abbreviating mailbox path names, use any of these characters as path +# separators. Only the part after the last separators will be shown. +# For file folders '/' is good. For IMAP folders, often '.' is useful. +set sidebar_delim_chars = '/.' + +# If the mailbox path is abbreviated, should it be indented? +set sidebar_folder_indent = no + +# Indent mailbox paths with this string. +set sidebar_indent_string = ' ' + +# Make the Sidebar only display mailboxes that contain new, or flagged, +# mail. +set sidebar_new_mail_only = no + +# Any mailboxes that are whitelisted will always be visible, even if the +# sidebar_new_mail_only option is enabled. +sidebar_whitelist '/home/user/mailbox1' +sidebar_whitelist '/home/user/mailbox2' + +# When searching for mailboxes containing new mail, should the search wrap +# around when it reaches the end of the list? +set sidebar_next_new_wrap = no + +# The character to use as the divider between the Sidebar and the other Mutt +# panels. +# Note: Only the first character of this string is used. +set sidebar_divider_char = '|' + +# Display the Sidebar mailboxes using this format string. +set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S' + +# Sidebar will not refresh its list of mailboxes any more frequently than +# this number of seconds. This will help reduce disk/network traffic. +set sidebar_refresh_time = 60 + +# Sort the mailboxes in the Sidebar using this method: +# count - total number of messages +# flagged - number of flagged messages +# new - number of new messages +# path - mailbox path +# unsorted - do not sort the mailboxes +set sidebar_sort_method = 'unsorted' + +# -------------------------------------------------------------------------- +# FUNCTIONS - shown with an example mapping +# -------------------------------------------------------------------------- + +# Move the highlight to the previous mailbox +bind index,pager \Cp sidebar-prev + +# Move the highlight to the next mailbox +bind index,pager \Cn sidebar-next -# This feature adds three hooks to Mutt which allow it to -# work with compressed, or encrypted, mailboxes. +# Open the highlighted mailbox +bind index,pager \Co sidebar-open -# The hooks are of the form: -# open-hook regexp "shell-command" -# close-hook regexp "shell-command" -# append-hook regexp "shell-command" +# Move the highlight to the previous page +# This is useful if you have a LOT of mailboxes. +bind index,pager <F3> sidebar-page-up -# The 'append-hook' is optional. +# Move the highlight to the next page +# This is useful if you have a LOT of mailboxes. +bind index,pager <F4> sidebar-page-down -# Hander for gzip compressed mailboxes -open-hook '\.gz$' "gzip -cd '%f' > '%t'" -close-hook '\.gz$' "gzip -c '%t' > '%f'" -append-hook '\.gz$' "gzip -c '%t' >> '%f'" +# Move the highlight to the previous mailbox containing new, or flagged, +# mail. +bind index,pager <F5> sidebar-prev-new -# Hander for bzip2 compressed mailboxes -open-hook '\.bz2$' "bzip2 -cd '%f' > '%t'" -close-hook '\.bz2$' "bzip2 -c '%t' > '%f'" -append-hook '\.bz2$' "bzip2 -c '%t' >> '%f'" +# Move the highlight to the next mailbox containing new, or flagged, mail. +bind index,pager <F6> sidebar-next-new -# Hander for xz compressed mailboxes -open-hook '\.xz$' "xz -cd '%f' > '%t'" -close-hook '\.xz$' "xz -c '%t' > '%f'" -append-hook '\.xz$' "xz -c '%t' >> '%f'" +# Toggle the visibility of the Sidebar. +bind index,pager B sidebar-toggle-visible -# Hander for pgp encrypted mailboxes -# PGP does not support appending to an encrypted file -open-hook '\.pgp$' "pgp -f < '%f' > '%t'" -close-hook '\.pgp$' "pgp -fe YourPgpUserIdOrKeyId < '%t' > '%f'" +# -------------------------------------------------------------------------- +# COLORS - some unpleasant examples are given +# -------------------------------------------------------------------------- +# Note: All color operations are of the form: +# color OBJECT FOREGROUND BACKGROUND -# Hander for gpg encrypted mailboxes -# gpg does not support appending to an encrypted file -open-hook '\.gpg$' "gpg --decrypt < '%f' > '%t'" -close-hook '\.gpg$' "gpg --encrypt --recipient YourGpgUserIdOrKeyId < '%t' > '%f'" +# Color of the current, open, mailbox +# Note: This is a general Mutt option which colors all selected items. +color indicator cyan black -# vim: syntax=muttrc +# Color of the highlighted, but not open, mailbox. +color sidebar_highlight black color8 + +# Color of the divider separating the Sidebar from Mutt panels +color sidebar_divider color8 black + +# Color to give mailboxes containing flagged mail +color sidebar_flagged red black + +# Color to give mailboxes containing new mail +color sidebar_new green black + +# -------------------------------------------------------------------------- + +# vim: syntax=muttrc - - - - See Also + - - NeoMutt Project - Compile-Time Features - Regular Expressions - $tmpdir - $mbox_type - $save_empty - folder-hook - - + + See Also - - Known Bugs + + Regular Expressions + Patterns + Color command + notmuch patch + + - - The Compressed Folder hooks cannot deal with filenames that contains quotes/apostrophes. - - + + Known Bugs + Unsorted isn't + - - Credits - - Roland Rosenfeld roland@spinnaker.de - Alain Penders Alain@Finale-Dev.com - Christoph Myon Berg myon@debian.org - Evgeni Golov evgeni@debian.org - Richard Russon rich@flatcap.org - - + + Credits + + Justin Hibbits jrh29@po.cwru.edu + Thomer M. Gil mutt@thomer.com + David Sterba dsterba@suse.cz + Evgeni Golov evgeni@debian.org + Fabian Groffen grobian@gentoo.org + Jason DeTiberus jdetiber@redhat.com + Stefan Assmann sassmann@kpanic.de + Steve Kemp steve@steve.org.uk + Terry Chan tchan@lunar-linux.org + Tyler Earnest tylere@rne.st + Richard Russon rich@flatcap.org + +
- - Keywords Patch - Labels/Tagging for emails + + Skip-Quoted Patch + Leave some context visible - + Patch - To check if Mutt supports Keywords, look for - patch-keywords in the mutt version. + To check if Mutt supports skip-quoted, look for + patch-skip-quoted in the mutt version. See: . @@ -11983,75 +12034,26 @@ close-hook '\.gpg$' "gpg --encrypt --recipient YourGpgUserIdOrKeyId < ' This patch is part of the NeoMutt Project. - + Introduction - Unify label/keyword handling. - - - - Since x-labels were added to mutt in 2000, a number of other approaches - to what we now call tagging have also emerged. - One of them was even made standard in RFC 2822. - This update unifies the handling of all these strategies. - - - - We start by changing mutt's internal keyword storage from a single - string which may contain whitespace to a list of discrete keywords. - This has advantages for keyword completion as well as for portabilty - among varying "standards" for keyword storage. This may represent - a significant change for existing mutt users who have set x-labels - containing spaces, and should be regarded with suspicion. The - advantages are significant, though. - - - - Next we allow mutt to parse keywords into this internal list from - any of the following headers: X-Label (freeform), X-Keywords - (space-delimited), X-Mozilla-Keys (space-delimited), and Keywords (RFC - 2822, comma-space-delimited). Mutt remembers which headers it sourced - keywords from, and can rewrite those headers when saving messages for - compatibility with the mailer of origin. - - - - (X-Label was specified as freeform text by mutt, its only known - implementation. X-Labels have been used both as a - tagging device, probably with space delimiting, and as a - memo field, where space-delimited parsing would ruin the - semantics of the memo. By default mutt will not split X-Labels at all. - Set $xlabel_delimiter if your needs vary.) - - - - Finally we add two booleans: $keywords_legacy=true and - $keywords_standard=FALSE. When $keywords_legacy is true, mutt will - always save keyword to whatever original header it came from. When - $keywords_standard=true, mutt will save to the Keywords: header. If - both are true mutt saves to both; if neither is true, mutt saves only - to legacy headers to avoid complete loss of keywords. - - - - Overall this represents convergence path for all competing - labelling/tagging/keywording systems toward one that is specified by - RFC. + When viewing an email, the + <skip-to-quoted> function (by default the + S key) will scroll past any quoted text. + Sometimes, a little context is useful. - You can change or delete the X-Label: field within - Mutt using the edit-label command, bound to the - y key by default. This works for tagged messages, too. + By setting the $skip_quoted_offset variable, you + can select how much of the quoted text is left visible. - + Variables - - - Keywords Variables +
+ Skip-Quoted Variables @@ -12062,122 +12064,87 @@ close-hook '\.gpg$' "gpg --encrypt --recipient YourGpgUserIdOrKeyId < ' - keywords_legacy - boolean - yes - - - keywords_standard - boolean - no - - - xlabel_delimiter - string - (empty) + skip_quoted_offset + number + 0
- + - + Sort - - Keywords Sort - - - - Sort - Description - - - - - label - Sort by label - - - -
+ None
+--> - + Muttrc + + +# Example Mutt config file for the 'skip-quoted' patch. + +# The 'S' (skip-quoted) command scrolls the pager past the quoted text (usually +# indented with '> '. Setting 'skip_quoted_offset' leaves some lines of quoted +# text on screen for context. + +# Show three quoted lines before the reply +set skip_quoted_offset = 3 + +# vim: syntax=muttrc + - + See Also - NeoMutt Project - $index_format - index-color patch - folder-hook + NeoMutt Project - + Known Bugs + None - + Credits - David Champion dgc@uchicago.edu + David Sterba dsterba@suse.cz Richard Russon rich@flatcap.org
- - NNTP Patch - Talk to a Usenet news server + + Status Color Patch + Custom rules for theming the status bar - + Patch - To check if Mutt supports NNTP, look for - +USE_NNTP in the mutt version. - See: . + To check if Mutt supports Status Color, look for + patch-status-color in the mutt version. + See: . @@ -12188,427 +12155,460 @@ close-hook '\.gpg$' "gpg --encrypt --recipient YourGpgUserIdOrKeyId < ' This patch is part of the NeoMutt Project. - + Introduction - Reading news via NNTP - - If compiled with --enable-nntp option, Mutt can - read news from news server via NNTP. You can open a newsgroup with - function ``change-newsgroup'' (default: ``i''). Default news server - can be obtained from $NNTPSERVER environment - variable or from /etc/nntpserver file. Like other - news readers, info about subscribed newsgroups is saved in file by - $newsrc variable. The variable $news_cache_dir can be used to point - to a directory. Mutt will create a hierarchy of subdirectories named - like the account and newsgroup the cache is for. Also the hierarchy - is used to store header cache if Mutt was compiled with header cache support. - + + The status-color patch allows you to theme different + parts of the status bar (also when it's used by the index). + + + + Unlike normal color commands, color status can now + take up to 2 extra parameters (regex, num). + - + + + + Commands + + color + + + + + foreground + + + background + + + + regex + + + + num + + + + + + + With zero parameters, Mutt will set the default color for the entire + status bar. + + + + With one parameter, Mutt will only color the parts matching the + regex. + + + + With two parameters, Mutt will only color the num'th sub-match of + the regex. + - - Functions + + Colors - - NNTP Functions - +
+ Status Colors + - Menus - Default Key - Function + Name + Default Color Description - browser,index - y - <catchup> - mark all articles in newsgroup as read - - - index,pager - i - <change-newsgroup> - open a different newsgroup - - - pager - X - <change-vfolder> - open a different virtual folder - - - compose - o - <edit-followup-to> - edit the Followup-To field - - - compose - N - <edit-newsgroups> - edit the newsgroups list - - - compose - x - <edit-x-comment-to> - edit the X-Comment-To field - - - pager - + - <entire-thread> - read entire thread of the current message - - - attachment,index,pager - F - <followup-message> - followup to newsgroup - - - pager - ` - <modify-labels> - modify (notmuch) tags - - - index,pager - P - <post-message> - post message to newsgroup - - - browser - g - <reload-active> - load list of all newsgroups from NNTP server - - - browser - s - <subscribe> - subscribe to current mbox (IMAP/NNTP only) - - - browser - S - <subscribe-pattern> - subscribe to newsgroups matching a pattern - - - browser - Y - <uncatchup> - mark all articles in newsgroup as unread - - - browser - u - <unsubscribe> - unsubscribe from current mbox (IMAP/NNTP only) - - - browser - U - <unsubscribe-pattern> - unsubscribe from newsgroups matching a pattern - - - index,pager - Alt-i - <change-newsgroup-readonly> - open a different newsgroup in read only mode - - - attachment,index,pager - Alt-F - <forward-to-group> - forward to newsgroup - - - index - (none) - <get-children> - get all children of the current message - - - index - Alt-G - <get-parent> - get parent of the current message - - - index,pager - (none) - <imap-fetch-mail> - force retrieval of mail from IMAP server - - - index,pager - (none) - <imap-logout-all> - logout from all IMAP servers - - - pager - (none) - <modify-labels-then-hide> - modify labeld and then hide message - - - index - (none) - <reconstruct-thread> - reconstruct thread containing current message - - - pager - Alt-X - <vfolder-from-query> - generate virtual folder from query - - - index - Ctrl-G - <get-message> - get message with Message-Id + status + reverse + Status bar
- + + + + Muttrc + +# Example Mutt config file for the 'status-color' patch. + +# The 'status-color' patch allows you to theme different parts of +# the status bar (also when it's used by the index). + +# For the examples below, set some defaults +set status_format='-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---' +set index_format='%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s' +set sort=threads +set sort_aux=last-date-received + +# 'status color' can take up to 2 extra parameters + +# color status foreground background [ regex [ num ]] + +# 0 extra parameters +# Set the default color for the entire status line +color status blue white + +# 1 extra parameter +# Set the color for a matching pattern +# color status foreground background regexp + +# Highlight New, Deleted, or Flagged emails +color status brightred white '(New|Del|Flag):[0-9]+' + +# Highlight mailbox ordering if it's different from the default +# First, highlight anything (*/*) +color status brightred default '\([^)]+/[^)]+\)' + +# Then override the color for one specific case +color status default default '\(threads/last-date-received\)' + +# 2 extra parameters +# Set the color for the nth submatch of a pattern +# color status foreground background regexp num + +# Highlight the contents of the []s but not the [] themselves +color status red default '\[([^]]+)\]' 1 + +# The '1' refers to the first regex submatch, which is the inner +# part in ()s + +# Highlight the mailbox +color status brightwhite default 'Mutt: ([^ ]+)' 1 + +# Search for 'Mutt: ' but only highlight what comes after it + +# vim: syntax=muttrc + + + + + See Also + + + NeoMutt Project + Compile-Time Features + Regular Expressions + Patterns + index-color patch + Color command + + + + + Known Bugs + None + + + + Credits + + David Sterba dsterba@suse.cz + Thomas Glanzmann thomas@glanzmann.de + Kirill A. Shutemov kirill@shutemov.name + Richard Russon rich@flatcap.org + + +
+ + + TLS-SNI Patch + Negotiate with a server for a TSL/SSL certificate + + + Patch + + + To check if Mutt supports TLS-SNI, look for + patch-tls-sni in the mutt version. + See: . + + + + Dependencies: + mutt-1.6.1 + OpenSSL + + + This patch is part of the NeoMutt Project. + + + + Introduction + + + The TLS-SNI patch adds support for TLS virtual hosting. + If your mail server doesn't support this everything will still work + normally. + + + + TLS supports sending the expected server hostname during the + handshake, via the SNI extension. This can be used to select a + server certificate to issue to the client, permitting + virtual-hosting without requiring multiple IP addresses. + + + + This has been tested against Exim 4.80, which optionally logs SNI + and can perform vhosting. + + + + To verify TLS SNI support by a server, you can use: + + + +openssl s_client -host <imap server> -port <port> -tls1 -servername <imap server> + + + + - + Muttrc + None - + See Also - NeoMutt Project - Compile-Time Features + NeoMutt Project - + Known Bugs + None - + Credits - Vsevolod Volkov vvv@mutt.org.ua - Felix von Leitner leitner@fefe.de + Jeremy Katz katzj@linuxpower.org + Phil Pennock mutt-dev@spodhuis.demon.nl Richard Russon rich@flatcap.org - - LMDB Patch - LMDB backend for the header cache + + Trash Folder Patch + Automatically move "deleted" emails to a trash bin - + Patch - To check if Mutt supports lmdb, look for - patch-lmdb in the mutt version. + To check if Mutt supports Trash Folder, look for + patch-trash in the mutt version. See: . + If IMAP is enabled, this patch will use it + Dependencies: mutt-1.6.1 + IMAP support This patch is part of the NeoMutt Project. - + Introduction - This patch adds support for using LMDB as a storage backend for - Mutt's header cache (hcache). It is enabled at configure time with - the --with-lmdb=<path> switch. + In Mutt, when you delete an email it is first marked + deleted. The email isn't really gone until + <sync-mailbox> is called. + This happens when the user leaves the folder, or the function is called + manually. + + + + After <sync-mailbox> has been called the email is gone forever. + + + + The $trash variable defines a folder in + which to keep old emails. As before, first you mark emails for + deletion. When <sync-mailbox> is called the emails are moved to + the trash folder. + + + + The $trash path can be either a full directory, + or be relative to the $folder + variable, like the mailboxes command. + + + Emails deleted from the trash folder are gone forever. + - + + Variables + + Trash Variables + + + + Name + Type + Default + + + + + trash + string + (none) + + + +
+
+ + + Functions + + Trash Functions + + + + Menus + Default Key + Function + Description + + + + + index,pager + (none) + <purge-message> + really delete the current entry, bypassing the trash folder + + + +
+
+ + + + + Muttrc + +# Example Mutt config file for the 'trash' feature. + +# This feature defines a new 'trash' folder. +# When mail is deleted it will be moved to this folder. + +# Folder in which to put deleted emails +set trash='+Trash' +set trash='/home/flatcap/Mail/Trash' + +# The default delete key 'd' will move an email to the 'trash' folder +# Bind 'D' to REALLY delete an email +bind index D purge-message + +# Note: Deleting emails from the 'trash' folder will REALLY delete them. + +# vim: syntax=muttrc + + + + See Also NeoMutt Project - Local Caching + folder-hook - + Known Bugs None - + Credits - Pietro Cerutti gahr@gahr.ch - Jan-Piet Mens jp@mens.de + Cedric Duval cedricduval@free.fr + Benjamin Kuperman kuperman@acm.org + Paul Miller paul@voltar.org + Richard Russon rich@flatcap.org