]> granicus.if.org Git - neomutt/commitdiff
merge: initials - expando for author's initials
authorRichard Russon <rich@flatcap.org>
Wed, 16 Mar 2016 23:14:40 +0000 (23:14 +0000)
committerRichard Russon <rich@flatcap.org>
Wed, 16 Mar 2016 23:14:40 +0000 (23:14 +0000)
 * feature: initials
 * tidy code
 * add docs
 * add ident to PATCHES

1  2 
PATCHES
doc/manual.xml.head
hdrline.c

diff --cc PATCHES
index 8a0626b4d1a910102d03c7401b952559ae4db415,de1306a29f50f0295fcba924687e7704d5d950c8..5f9293732ad917a7acd833e16a844b73f0369e35
+++ b/PATCHES
@@@ -1,10 -1,1 +1,11 @@@
 +patch-quasi-delete-neo-UNKNOWN
 +patch-progress-neo-UNKNOWN
 +patch-status-color-neo-UNKNOWN
 +patch-index-color-neo-UNKNOWN
 +patch-nested-if-neo-UNKNOWN
 +patch-cond-date-neo-UNKNOWN
 +patch-tls-sni-neo-UNKNOWN
 +patch-sidebar-neo-UNKNOWN
 +patch-ifdef-neo-UNKNOWN
 +patch-fmemopen-neo-UNKNOWN
+ patch-initials-neo-UNKNOWN
index 191ddfbb04b67d72794219031486bb78f32e759a,26dba1cbcd1fc9f2d1d38a7cba19cdb2ac537eb2..ede467996b6e075b0ae90429f2b4e031a73c158d
@@@ -8792,2067 -8121,64 +8792,2193 @@@ bind index,pager Q quasi-delet
        </sect2>
  </sect1>
  
 -</chapter>
 +<sect1 id="progress">
 +      <title>Progress Bar Patch</title>
 +      <subtitle>Show a visual progress bar on slow operations</subtitle>
  
 -<chapter id="security">
 -<title>Security Considerations</title>
 +      <sect2 id="progress-patch">
 +              <title>Patch</title>
  
 -<para>
 -First of all, Mutt contains no security holes included by intention but
 -may contain unknown security holes. As a consequence, please run Mutt
 -only with as few permissions as possible. Especially, do not run Mutt as
 -the super user.
 -</para>
 +              <para>
 +                      To check if Mutt supports <quote>Progress Bar</quote>, look for
 +                      <quote>patch-progress</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
  
 -<para>
 -When configuring Mutt, there're some points to note about secure setups
 -so please read this chapter carefully.
 -</para>
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +              </itemizedlist>
  
 -<sect1 id="security-passwords">
 -<title>Passwords</title>
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
  
 -<para>
 -Although Mutt can be told the various passwords for accounts, please
 -never store passwords in configuration files. Besides the fact that the
 -system's operator can always read them, you could forget to mask it out
 -when reporting a bug or asking for help via a mailing list. Even worse,
 -your mail including your password could be archived by internet search
 -engines, mail-to-news gateways etc. It may already be too late before
 -you notice your mistake.
 -</para>
 +      <sect2 id="progress-intro">
 +              <title>Introduction</title>
  
 -</sect1>
 +        <para>
 +              The <quote>progress</quote> patch shows a visual progress bar on slow
 +              tasks, such as indexing a large folder over the net.
 +        </para>
 +      </sect2>
  
 -<sect1 id="security-tempfiles">
 -<title>Temporary Files</title>
 +<!--
 +      <sect2 id="progress-variables">
 +              <title>Variables</title>
 +              <para>None</para>
 +      </sect2>
  
 -<para>
 -Mutt uses many temporary files for viewing messages, verifying digital
 -signatures, etc. As long as being used, these files are visible by other
 -users and maybe even readable in case of misconfiguration.  Also, a
 -different location for these files may be desired which can be changed
 -via the <link linkend="tmpdir">$tmpdir</link> variable.
 -</para>
 +      <sect2 id="progress-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
  
 -</sect1>
 +      <sect2 id="progress-commands">
 +              <title>Commands</title>
 +              <para>None</para>
 +      </sect2>
 +-->
  
 -<sect1 id="security-leaks">
 -<title>Information Leaks</title>
 +      <sect2 id="progress-colors">
 +              <title>Colors</title>
 +              <table id="table-progress-colors">
 +                      <title>Progress Colors</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Name</entry>
 +                                              <entry>Default Color</entry>
 +                                              <entry>Description</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry><literal>progress</literal></entry>
 +                                              <entry>default</entry>
 +                                              <entry>Visual progress bar</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +      </sect2>
  
 -<sect2 id="security-leaks-mid">
 -<title>Message-Id: headers</title>
 +<!--
 +      <sect2 id="progress-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
  
 -<para>
 -Message-Id: headers contain a local part that is to be created in a
 -unique fashion. In order to do so, Mutt will <quote>leak</quote> some
 -information to the outside world when sending messages: the generation
 -of this header includes a step counter which is increased (and rotated)
 -with every message sent. In a longer running mutt session, others can
 -make assumptions about your mailing habits depending on the number of
 +      <sect2 id="progress-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># 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</emphasis>
 +color progress white red
 + 
 +<emphasis role="comment"># vim: syntax=muttrc</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="progress-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +                      <listitem><para><link linkend="color">Color command</link></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="progress-known-bugs">
 +              <title>Known Bugs</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="progress-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Stefan Kuhn <email>wuodan@hispeed.ch</email></para></listitem>
 +              <listitem><para>Karel Zak <email>kzak@redhat.com</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="status-color">
 +      <title>Status Color Patch</title>
 +      <subtitle>Custom rules for theming the status bar</subtitle>
 +
 +      <sect2 id="status-color-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>Status Color</quote>, look for
 +                      <quote>patch-status-color</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="status-color-intro">
 +              <title>Introduction</title>
 +
 +        <para>
 +              The <quote>status-color</quote> patch allows you to theme different
 +              parts of the status bar (also when it's used by the index).
 +        </para>
 +
 +        <para>
 +              Unlike normal color commands, <literal>color status</literal> can now
 +              take up to 2 extra parameters (regex, num).
 +        </para>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="status-color-variables">
 +              <title>Variables</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="status-color-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="status-color-commands">
 +              <title>Commands</title>
 +              <cmdsynopsis>
 +                      <command>color</command>
 +                      <arg choice="plain">
 +                              <option>status</option>
 +                      </arg>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">foreground</replaceable>
 +                      </arg>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">background</replaceable>
 +                      </arg>
 +                      <group choice="opt">
 +                              <arg choice="plain">
 +                                      <replaceable class="parameter">regex</replaceable>
 +                              </arg>
 +                              <group choice="opt">
 +                                      <arg choice="plain">
 +                                              <replaceable class="parameter">num</replaceable>
 +                                      </arg>
 +                              </group>
 +                      </group>
 +              </cmdsynopsis>
 +
 +              <para>
 +                      With zero parameters, Mutt will set the default color for the entire
 +                      status bar.
 +              </para>
 +
 +              <para>
 +                      With one parameter, Mutt will only color the parts matching the
 +                      regex.
 +              </para>
 +
 +              <para>
 +                      With two parameters, Mutt will only color the num'th sub-match of
 +                      the regex.
 +              </para>
 +      </sect2>
 +
 +      <sect2 id="status-color-colors">
 +              <title>Colors</title>
 +
 +              <table id="table-status-color-colors">
 +                      <title>Status Colors</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Name</entry>
 +                                              <entry>Default Color</entry>
 +                                              <entry>Description</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry>status</entry>
 +                                              <entry><literal>reverse</literal></entry>
 +                                              <entry>Status bar</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="status-color-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="status-color-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># 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</emphasis>
 +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)-%&gt;-(%P)---'
 +set index_format='%4C %Z %{%b %d} %-15.15L (%?l?%4l&amp;%4c?) %s'
 +set sort=threads
 +set sort_aux=last-date-received
 + 
 +<emphasis role="comment"># '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</emphasis>
 +color status blue white
 + 
 +<emphasis role="comment"># 1 extra parameter
 +# Set the color for a matching pattern
 +# color status foreground background regexp
 + 
 +# Highlight New, Deleted, or Flagged emails</emphasis>
 +color status brightred white '(New|Del|Flag):[0-9]+'
 + 
 +<emphasis role="comment"># Highlight mailbox ordering if it's different from the default
 +# First, highlight anything (*/*)</emphasis>
 +color status brightred default '\([^)]+/[^)]+\)'
 + 
 +<emphasis role="comment"># Then override the color for one specfic case</emphasis>
 +color status default   default '\(threads/last-date-received\)'
 + 
 +<emphasis role="comment"># 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</emphasis>
 +color status red default '\[([^]]+)\]' 1
 + 
 +<emphasis role="comment"># The '1' refers to the first regex submatch, which is the inner
 +# part in ()s
 + 
 +# Highlight the mailbox</emphasis>
 +color status brightwhite default 'Mutt: ([^ ]+)' 1
 + 
 +<emphasis role="comment"># Search for 'Mutt: ' but only highlight what comes after it
 + 
 +# vim: syntax=muttrc</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="status-color-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +                      <listitem><para><link linkend="compile-time-features">Compile-Time Features</link></para></listitem>
 +                      <listitem><para><link linkend="regexp">Regular Expressions</link></para></listitem>
 +                      <listitem><para><link linkend="patterns">Patterns</link></para></listitem>
 +                      <listitem><para><link linkend="index-color">index-color patch</link></para></listitem>
 +                      <listitem><para><link linkend="color">Color command</link></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="status-color-known-bugs">
 +              <title>Known Bugs</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="status-color-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>David Sterba <email>dsterba@suse.cz</email></para></listitem>
 +              <listitem><para>Thomas Glanzmann <email>thomas@glanzmann.de</email></para></listitem>
 +              <listitem><para>Kirill A. Shutemov <email>kirill@shutemov.name</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="index-color">
 +      <title>Index Color Patch</title>
 +      <subtitle>Custom rules for theming the email index</subtitle>
 +
 +      <sect2 id="index-color-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>Index Color</quote>, look for
 +                      <quote>patch-index-color</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +                      <listitem><para><link linkend="status-color">status-color patch</link></para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="index-color-intro">
 +              <title>Introduction</title>
 +
 +        <para>
 +              The <quote>index-color</quote> patch allows you to specify colors for
 +              individual parts of the email index. e.g. Subject, Author, Flags.
 +        </para>
 +
 +        <para>
 +              First choose which part of the index you'd like to color.
 +              Then, if needed, pick a pattern to match.
 +        </para>
 +
 +              <para>
 +              Note: The pattern does not have to refer to the object you wish to
 +              color.  e.g.
 +              </para>
 +
 +<screen>
 +color index_author red default &quot;~smutt&quot;
 +</screen>
 +
 +        <para>
 +              The author appears red when the subject (~s) contains <quote>mutt</quote>.
 +        </para>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="index-color-variables">
 +              <title>Variables</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="index-color-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="index-color-commands">
 +              <title>Commands</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="index-color-colors">
 +              <title>Colors</title>
 +
 +        <para>
 +              All the colors default to <literal>default</literal>, i.e. unset.
 +        </para>
 +
 +        <para>
 +              The index objects can be themed using the <literal>color</literal> command.
 +              Some objects require a pattern.
 +        </para>
 +
 +<screen>
 +color index-object foreground background
 +color index-object foreground background pattern
 +</screen>
 +
 +              <table id="table-index-color-colors">
 +                      <title>Index Colors</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Object</entry>
 +                                              <entry>Pattern</entry>
 +                                              <entry>Highlights</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry><literal>index</literal></entry>
 +                                              <entry>yes</entry>
 +                                              <entry>Entire index line</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_author</literal></entry>
 +                                              <entry>yes</entry>
 +                                              <entry>Author name, %A %a %F %L %n</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_collapsed</literal></entry>
 +                                              <entry>no</entry>
 +                                              <entry>Number of messages in a collapsed thread, %M</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_date</literal></entry>
 +                                              <entry>no</entry>
 +                                              <entry>Date field</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_flags</literal></entry>
 +                                              <entry>yes</entry>
 +                                              <entry>Message flags, %S %Z</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_label</literal></entry>
 +                                              <entry>no</entry>
 +                                              <entry>Message label, %y %Y</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_number</literal></entry>
 +                                              <entry>no</entry>
 +                                              <entry>Message number, %C</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_size</literal></entry>
 +                                              <entry>no</entry>
 +                                              <entry>Message size, %c %l</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>index_subject</literal></entry>
 +                                              <entry>yes</entry>
 +                                              <entry>Subject, %s</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="index-color-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="index-color-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># Example Mutt config file for the 'index-color' feature.
 + 
 +# Entire index line</emphasis>
 +color index white black '.*'
 + 
 +<emphasis role="comment"># Author name, %A %a %F %L %n
 + 
 +# Give the author column a dark grey background</emphasis>
 +color index_author default color234 '.*'
 + 
 +<emphasis role="comment"># Highlight a particular from (~f)</emphasis>
 +color index_author brightyellow color234 '~fRay Charles'
 + 
 +<emphasis role="comment"># Message flags, %S %Z
 +# Highlight the flags for flagged (~F) emails</emphasis>
 +color index_flags default red '~F'
 + 
 +<emphasis role="comment"># Subject, %s
 +# Look for a particular subject (~s)</emphasis>
 +color index_subject brightcyan default '~s\(closes #[0-9]+\)'
 + 
 +<emphasis role="comment"># Number of messages in a collapsed thread, %M</emphasis>
 +color index_collapsed default brightblue
 + 
 +<emphasis role="comment"># Date field</emphasis>
 +color index_date green default
 + 
 +<emphasis role="comment"># Message label, %y %Y</emphasis>
 +color index_label default brightgreen
 + 
 +<emphasis role="comment"># Message number, %C</emphasis>
 +color index_number red default
 + 
 +<emphasis role="comment"># Message size, %c %l</emphasis>
 +color index_size cyan default
 + 
 +<emphasis role="comment"># vim: syntax=muttrc</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="index-color-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +                      <listitem><para><link linkend="regexp">Regular Expressions</link></para></listitem>
 +                      <listitem><para><link linkend="patterns">Patterns</link></para></listitem>
 +                      <listitem><para><link linkend="index-format">$index_format</link></para></listitem>
 +                      <listitem><para><link linkend="color">Color command</link></para></listitem>
 +                      <listitem><para><link linkend="status-color">Status-Color patch</link></para></listitem>
 +                      <listitem><para><link linkend="keywords">Keywords patch</link></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="index-color-known-bugs">
 +              <title>Known Bugs</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="index-color-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Christian Aichinger <email>Greek0@gmx.net</email></para></listitem>
 +              <listitem><para>Christoph <quote>Myon</quote> Berg <email>myon@debian.org</email></para></listitem>
 +              <listitem><para>Elimar Riesebieter <email>riesebie@lxtec.de</email></para></listitem>
 +              <listitem><para>Eric Davis <email>edavis@insanum.com</email></para></listitem>
 +              <listitem><para>Vladimir Marek <email>Vladimir.Marek@oracle.com</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="nested-if">
 +      <title>Nested If Patch</title>
 +      <subtitle>Allow complex nested conditions in format strings</subtitle>
 +
 +      <sect2 id="nested-if-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>Nested If</quote>, look for
 +                      <quote>patch-nested-if</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="nested-if-intro">
 +              <title>Introduction</title>
 +
 +              <para>
 +                      Mutt's format strings can contain embedded if-then-else conditions.
 +                      They are of the form:
 +              </para>
 +
 +<screen>
 +%?VAR?TRUE&amp;FALSE?
 +</screen>
 +
 +              <para>
 +                      If the variable <quote>VAR</quote> has a value greater than zero,
 +                      print the <quote>TRUE</quote> string, otherwise print the
 +                      <quote>FALSE</quote> string.
 +              </para>
 +
 +              <para>
 +                      e.g.  <literal>%?S?Size: %S&amp;Empty?</literal>
 +              </para>
 +
 +              <para>Which can be read as:</para>
 +
 +              <literallayout>
 +                  if (%S &gt; 0) {
 +                      print &quot;Size: %S&quot;
 +                  } else {
 +                      print &quot;Empty&quot;
 +                  }
 +              </literallayout>
 +
 +              <para>
 +                      These conditions are useful, but in Mutt they cannot be nested
 +                      within one another.  This patch uses the notation
 +                      <literal>%&lt;VAR?TRUE&amp;FALSE&gt;</literal> and allows them to be nested.
 +              </para>
 +
 +              <para>
 +                      The <literal>%&lt;...&gt;</literal> 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.
 +              </para>
 +
 +              <para>
 +                      A simple nested condition might be:
 +                      (Some whitespace has been introduced for clarity)
 +              </para>
 +
 +              <literallayout>
 +                  %&lt;x? %&lt;y? XY &amp; X &gt; &amp; %&lt;y? Y &amp; NONE &gt; &gt;  Conditions
 +                       %&lt;y? XY &amp; X &gt;                      x&gt;0
 +                            XY                            x&gt;0,y&gt;0
 +                                 X                        x&gt;0,y=0
 +              </literallayout>
 +
 +              <literallayout>
 +                  %&lt;x? %&lt;y? XY &amp; X &gt; &amp; %&lt;y? Y &amp; NONE &gt; &gt;  Conditions
 +                                       %&lt;y? Y &amp; NONE &gt;    x=0
 +                                            Y             x=0,y&gt;0
 +                                                NONE      x=0,y=0
 +              </literallayout>
 +
 +              <para>Equivalent to:</para>
 +
 +              <literallayout>
 +                  if (x &gt; 0) {
 +                      if (y &gt; 0) {
 +                          print 'XY'
 +                      } else {
 +                          print 'X'
 +                      }
 +                  } else {
 +                      if (y &gt; 0) {
 +                          print 'Y'
 +                      } else {
 +                          print 'NONE'
 +                      }
 +                  }
 +              </literallayout>
 +
 +              <para>Examples:</para>
 +
 +<screen>
 +set index_format='%4C %Z %{%b %d} %-25.25n %s%&gt; %&lt;M?%M Msgs &amp;%&lt;l?%l Lines&amp;%c Bytes&gt;&gt;'
 +</screen>
 +
 +              <literallayout>
 +                  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)
 +              </literallayout>
 +
 +<screen>
 +set index_format='%4C %Z %{%b %d} %-25.25n %&lt;M?[%M] %s&amp;%s%* %&lt;l?%l&amp;%c&gt;&gt;'
 +</screen>
 +
 +              <literallayout>
 +                  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)
 +              </literallayout>
 +
 +      </sect2>
 +
 +      <sect2 id="nested-if-variables">
 +              <title>Variables</title>
 +              The <quote>nested-if</quote> patch doesn't have any config of its own.
 +              It modifies the behavior of the format strings.
 +      </sect2>
 +
 +<!--
 +      <sect2 id="nested-if-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="nested-if-commands">
 +              <title>Commands</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="nested-if-colors">
 +              <title>Colors</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="nested-if-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="nested-if-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># Example Mutt config file for the 'nested-if' feature.
 + 
 +# This patch uses the format: '%&lt;VAR?TRUE&amp;FALSE&gt;' 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)</emphasis>
 +set index_format='%4C %Z %{%b %d} %-25.25n %s%&gt; %&lt;M?%M Msgs &amp;%&lt;l?%l Lines&amp;%c Bytes&gt;&gt;'
 + 
 +<emphasis role="comment"># 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)</emphasis>
 +set index_format='%4C %Z %{%b %d} %-25.25n %&lt;M?[%M] %s&amp;%s%* %&lt;l?%l&amp;%c&gt;&gt;'
 + 
 +<emphasis role="comment"># vim: syntax=muttrc</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="nested-if-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +                      <listitem><para><link linkend="cond-date">cond-date patch</link></para></listitem>
 +                      <listitem><para><link linkend="index-format">$index_format</link></para></listitem>
 +                      <listitem><para><link linkend="status-format">$status_format</link></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="nested-if-known-bugs">
 +              <title>Known Bugs</title>
 +              Patch overwrites $&lt;fmt&gt; handler in <literal>$index_format</literal>
 +      </sect2>
 +
 +      <sect2 id="nested-if-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>David Champion <email>dgc@uchicago.edu</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="cond-date">
 +      <title>Conditional Dates Patch</title>
 +      <subtitle>Use rules to choose date format</subtitle>
 +
 +      <sect2 id="cond-date-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>Conditional Dates</quote>, look for
 +                      <quote>patch-cond-date</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +                      <listitem><para><link linkend="nested-if">nested-if patch</link></para></listitem>
 +              </itemizedlist>
 +
 +              <para>
 +                      This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.
 +              </para>
 +      </sect2>
 +
 +      <sect2 id="cond-date-intro">
 +              <title>Introduction</title>
 +
 +              <para>
 +              The <quote>cond-date</quote> patch allows you to construct
 +              <link linkend="index-format">$index_format</link> expressions based on the age of the email.
 +              </para>
 +
 +              <para>
 +              Mutt's default <literal>$index_format</literal> displays email dates in the
 +              form: abbreviated-month day-of-month &mdash; <quote>Jan 14</quote>.
 +              </para>
 +
 +              <para>
 +              The format is configurable but only per-mailbox.  This patch allows you
 +              to configure the display depending on the age of the email.
 +              </para>
 +
 +              <table id="table-cond-date-scheme">
 +                      <title>Potential Formatting Scheme</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Email Sent</entry>
 +                                              <entry>Format</entry>
 +                                              <entry>Example</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry>Today</entry>
 +                                              <entry><literal>%H:%M</literal></entry>
 +                                              <entry>13:23</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>This Month</entry>
 +                                              <entry><literal>%a %d</literal></entry>
 +                                              <entry>Thu 17</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>This Year</entry>
 +                                              <entry><literal>%b %d</literal></entry>
 +                                              <entry>Dec 10</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>Older than 1 Year</entry>
 +                                              <entry><literal>%m/%y</literal></entry>
 +                                              <entry>06/14</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +
 +              <para>
 +        For an explanation of the date formatting strings, see
 +        <literal>strftime(3).</literal>
 +              </para>
 +
 +              <para>
 +        By carefully picking your formats, the dates can remain
 +        unambiguous and compact.
 +              </para>
 +
 +              <para>
 +              Mutt's conditional format strings have the form:
 +              (whitespace introduced for clarity)
 +              </para>
 +
 +              <screen>%? TEST ? TRUE &amp; FALSE ?</screen>
 +
 +              <para>
 +              The examples below use the test <quote>%[</quote> &mdash; the date
 +              of the message in the local timezone.  They will also work with
 +              <quote>%(</quote> &mdash; the local time that the message arrived.
 +              </para>
 +
 +              <para>
 +              The date tests are of the form:
 +              </para>
 +
 +              <screen>%[nX? TRUE &amp; FALSE ?</screen>
 +
 +              <itemizedlist>
 +              <listitem><para><quote>n</quote> is an optional count (defaults to 1 if missing)</para></listitem>
 +              <listitem><para><quote>X</quote> is the time period</para></listitem>
 +              </itemizedlist>
 +
 +              <table id="table-cond-date-format-codes">
 +                      <title>Date Formatting Codes</title>
 +                      <tgroup cols="2">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Letter</entry>
 +                                              <entry>Time Period</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry>y</entry>
 +                                              <entry>Years</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>m</entry>
 +                                              <entry>Months</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>w</entry>
 +                                              <entry>Weeks</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>d</entry>
 +                                              <entry>Days</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>H</entry>
 +                                              <entry>Hours</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>M</entry>
 +                                              <entry>Minutes</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +
 +              <table id="table-cond-date-example-tests">
 +                      <title>Example Date Tests</title>
 +                      <tgroup cols="2">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Test</entry>
 +                                              <entry>Meaning</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry><literal>%[y</literal></entry>
 +                                              <entry>This year</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>%[1y</literal></entry>
 +                                              <entry>This year</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>%[6m</literal></entry>
 +                                              <entry>In the last 6 months</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>%[w</literal></entry>
 +                                              <entry>This week</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>%[d</literal></entry>
 +                                              <entry>Today</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>%[4H</literal></entry>
 +                                              <entry>In the last 4 hours</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +
 +              <sect3 id="cond-date-example1">
 +                      <title>Example 1</title>
 +
 +                      <para>We start with a one-condition test.</para>
 +
 +                      <table id="table-cond-date-example1">
 +                              <title>Example 1</title>
 +                              <tgroup cols="4">
 +                                      <thead>
 +                                              <row>
 +                                                      <entry>Test</entry>
 +                                                      <entry>Date Range</entry>
 +                                                      <entry>Format String</entry>
 +                                                      <entry>Example</entry>
 +                                              </row>
 +                                      </thead>
 +                                      <tbody>
 +                                              <row>
 +                                                      <entry><literal>%[1m</literal></entry>
 +                                                      <entry>This month</entry>
 +                                                      <entry><literal>%[%b %d]</literal></entry>
 +                                                      <entry>Dec 10</entry>
 +                                              </row>
 +                                              <row>
 +                                                      <entry></entry>
 +                                                      <entry>Older</entry>
 +                                                      <entry><literal>%[%Y-%m-%d]</literal></entry>
 +                                                      <entry>2015-04-23</entry>
 +                                              </row>
 +                                      </tbody>
 +                              </tgroup>
 +                      </table>
 +
 +                      <para>The $index_format string would contain:</para>
 +<screen>
 +%?[1m?%[%b %d]&amp;%[%Y-%m-%d]?
 +</screen>
 + 
 +                      <para>
 +                              Reparsed a little, for clarity, you can see the
 +                              test condition and the two format strings.
 +                      </para>
 +
 +<screen>
 +%?[1m?        &amp;           ?
 +      %[%b %d] %[%Y-%m-%d]
 +</screen>
 +
 +              </sect3>
 +
 +              <sect3 id="cond-date-example2">
 +                      <title>Example 2</title>
 +
 +                      <para>
 +                      This example contains three test conditions and four date formats.
 +                      </para>
 +
 +                      <table id="table-cond-date-example2">
 +                              <title>Example 2</title>
 +                              <tgroup cols="4">
 +                                      <thead>
 +                                              <row>
 +                                                      <entry>Test</entry>
 +                                                      <entry>Date Range</entry>
 +                                                      <entry>Format String</entry>
 +                                                      <entry>Example</entry>
 +                                              </row>
 +                                      </thead>
 +                                      <tbody>
 +                                              <row>
 +                                                      <entry><literal>%[d</literal></entry>
 +                                                      <entry>Today</entry>
 +                                                      <entry><literal>%[%H:%M ] </literal></entry>
 +                                                      <entry>12:34</entry>
 +                                              </row>
 +                                              <row>
 +                                                      <entry><literal>%[m</literal></entry>
 +                                                      <entry>This month</entry>
 +                                                      <entry><literal>%[%a %d]</literal></entry>
 +                                                      <entry>Thu 12</entry>
 +                                              </row>
 +                                              <row>
 +                                                      <entry><literal>%[y</literal></entry>
 +                                                      <entry>This year</entry>
 +                                                      <entry><literal>%[%b %d]</literal></entry>
 +                                                      <entry>Dec 10</entry>
 +                                              </row>
 +                                              <row>
 +                                                      <entry></entry>
 +                                                      <entry>Older</entry>
 +                                                      <entry><literal>%[%m/%y ]</literal></entry>
 +                                                      <entry>06/15</entry>
 +                                              </row>
 +                                      </tbody>
 +                              </tgroup>
 +                      </table>
 +
 +                      <para>The $index_format string would contain:</para>
 + 
 +<screen>
 +%&lt;[y?%&lt;[m?%&lt;[d?%[%H:%M ]&amp;%[%a %d]&gt;&amp;%[%b %d]&gt;&amp;%[%m/%y ]&gt;
 +</screen>
 +
 +                      <para>
 +                              Reparsed a little, for clarity, you can see the
 +                              test conditions and the four format strings.
 +                      </para>
 +
 +<screen>
 +%&lt;[y?                                       &amp;%[%m/%y ]&gt;  Older
 +     %&lt;[m?                        &amp;%[%b %d]&gt;             This year
 +          %&lt;[d?         &amp;%[%a %d]&gt;                       This month
 +               %[%H:%M ]                                 Today
 +</screen>
 +
 +                      <para>
 +                      This a another view of the same example, with some whitespace
 +                      for clarity.
 +                      </para>
 +
 +<screen>
 +%&lt;[y? %&lt;[m? %&lt;[d? AAA &amp; BBB &gt; &amp; CCC &gt; &amp; DDD &gt;
 +</screen>
 +
 +                      <literallayout>
 +AAA = %[%H:%M ]
 +BBB = %[%a %d]
 +CCC = %[%b %d]
 +DDD = %[%m/%y ]
 +                      </literallayout>
 +              </sect3>
 +      </sect2>
 +
 +      <sect2 id="cond-date-variables">
 +              <title>Variables</title>
 +
 +        <para>
 +              The <quote>cond-date</quote> patch doesn't have any config of its own.
 +              It modifies the behavior of the format strings.
 +        </para>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="cond-date-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="cond-date-commands">
 +              <title>Commands</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="cond-date-colors">
 +              <title>Colors</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="cond-date-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="cond-date-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># Example Mutt config file for the 'index-color' feature.
 +#
 +# The default index_format is:
 +#       '%4C %Z %{%b %d} %-15.15L (%?l?%4l&amp;%4c?) %s'
 +#
 +# We replace the date field '%{%b %d}', giving:</emphasis>
 +set index_format='%4C %Z %&lt;[y?%&lt;[m?%&lt;[d?%[%H:%M ]&amp;%[%a %d]&gt;&amp;%[%b %d]&gt;&amp;%[%m/%y ]&gt; %-15.15L (%?l?%4l&amp;%4c?) %s'
 + 
 +<emphasis role="comment"># 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</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="cond-date-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +                      <listitem><para><link linkend="index-format">$index_format</link></para></listitem>
 +                      <listitem><para><link linkend="nested-if">nested-if patch</link></para></listitem>
 +                      <listitem><para><literal>strftime(3)</literal></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="cond-date-known-bugs">
 +              <title>Known Bugs</title>
 +
 +              <para>
 +                      Date parsing doesn't quite do what you expect.
 +                      <quote>1w</quote> doesn't mean the <quote>in the last 7 days</quote>, but
 +                      <quote><emphasis>this</emphasis> week</quote>.  This doesn't match
 +                      the normal Mutt behaviour: for example <literal>~d>1w</literal>
 +                      means emails dated in the last 7 days.
 +              </para>
 +
 +      </sect2>
 +
 +      <sect2 id="cond-date-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Aaron Schrab <email>aaron@schrab.com</email></para></listitem>
 +              <listitem><para>Eric Davis <email>edavis@insanum.com</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="tls-sni">
 +      <title>TLS-SNI Patch</title>
 +      <subtitle>Negotiate with a server for a TSL/SSL certificate</subtitle>
 +
 +      <sect2 id="tls-sni-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>TLS-SNI</quote>, look for
 +                      <quote>patch-tls-sni</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +                      <listitem><para>OpenSSL</para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-intro">
 +              <title>Introduction</title>
 +
 +              <para>
 +              The <quote>TLS-SNI</quote> patch adds support for TLS virtual hosting.
 +              If your mail server doesn't support this everything will still work
 +              normally.
 +              </para>
 +
 +              <para>
 +              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.
 +              </para>
 +
 +              <para>
 +              This has been tested against Exim 4.80, which optionally logs SNI
 +              and can perform vhosting.
 +              </para>
 +
 +        <para>
 +              To verify TLS SNI support by a server, you can use:
 +        </para>
 +
 +<screen>
 +openssl s_client -host &lt;imap server&gt; -port &lt;port&gt; -tls1 -servername &lt;imap server&gt;
 +</screen>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="tls-sni-variables">
 +              <title>Variables</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-commands">
 +              <title>Commands</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-colors">
 +              <title>Colors</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="tls-sni-muttrc">
 +              <title>Muttrc</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-known-bugs">
 +              <title>Known Bugs</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="tls-sni-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Jeremy Katz <email>katzj@linuxpower.org</email></para></listitem>
 +              <listitem><para>Phil Pennock <email>mutt-dev@spodhuis.demon.nl</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="sidebar">
 +      <title>Sidebar Patch</title>
 +      <subtitle>Overview of mailboxes</subtitle>
 +
 +      <sect2 id="sidebar-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>Sidebar</quote>, look for
 +                      <quote>+USE_SIDEBAR</quote> in the mutt version.
 +                      See: <xref linkend="compile-time-features"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="sidebar-intro">
 +              <title>Introduction</title>
 +
 +              <para>
 +                      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.
 +              </para>
 +
 +              <para>
 +                      This part of the manual is a reference guide.
 +                      If you want a simple introduction with examples see the
 +                      <link linkend="intro-sidebar">Sidebar Howto</link>.
 +                      If you just want to get started, you could use the sample
 +                      <link linkend="sidebar-muttrc">Sidebar muttrc</link>.
 +              </para>
 +
 +              <para>
 +                      This version of Sidebar is based on Terry Chan's
 +                      <ulink url="http://www.lunar-linux.org/mutt-sidebar/">2015-11-11 release</ulink>.
 +                      It contains many
 +                      <emphasis role="bold"><link linkend="intro-sidebar-features">new features</link></emphasis>,
 +                      lots of
 +                      <emphasis role="bold"><link linkend="intro-sidebar-bugfixes">bugfixes</link></emphasis>.
 +              </para>
 +      </sect2>
 +
 +      <sect2 id="sidebar-variables">
 +              <title>Variables</title>
 +
 +              <table id="table-sidebar-variables">
 +                      <title>Sidebar Variables</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Name</entry>
 +                                              <entry>Type</entry>
 +                                              <entry>Default</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry><literal>sidebar_delim_chars</literal></entry>
 +                                              <entry>string</entry>
 +                                              <entry><literal>/.</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_divider_char</literal></entry>
 +                                              <entry>string</entry>
 +                                              <entry><literal>|</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_folder_indent</literal></entry>
 +                                              <entry>boolean</entry>
 +                                              <entry><literal>no</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_format</literal></entry>
 +                                              <entry>string</entry>
 +                                              <entry><literal>%B%?F? [%F]?%* %?N?%N/?%S</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_indent_string</literal></entry>
 +                                              <entry>string</entry>
 +                                              <entry><literal>&nbsp;&nbsp;</literal> (two spaces)</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_new_mail_only</literal></entry>
 +                                              <entry>boolean</entry>
 +                                              <entry><literal>no</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_next_new_wrap</literal></entry>
 +                                              <entry>boolean</entry>
 +                                              <entry><literal>no</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_refresh_time</literal></entry>
 +                                              <entry>number</entry>
 +                                              <entry><literal>60</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_short_path</literal></entry>
 +                                              <entry>boolean</entry>
 +                                              <entry><literal>no</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_sort_method</literal></entry>
 +                                              <entry>enum</entry>
 +                                              <entry><literal>SORT_ORDER</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_visible</literal></entry>
 +                                              <entry>boolean</entry>
 +                                              <entry><literal>no</literal></entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_whitelist</literal></entry>
 +                                              <entry>list</entry>
 +                                              <entry>(empty)</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_width</literal></entry>
 +                                              <entry>number</entry>
 +                                              <entry><literal>20</literal></entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +      </sect2>
 +
 +      <sect2 id="sidebar-functions">
 +              <title>Functions</title>
 +
 +              <para>
 +                      Sidebar adds the following functions to Mutt.
 +                      By default, none of them are bound to keys.
 +              </para>
 +
 +              <table id="table-sidebar-functions">
 +                      <title>Sidebar Functions</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Menus</entry>
 +                                              <entry>Function</entry>
 +                                              <entry>Description</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-next&gt;</literal></entry>
 +                                              <entry>Move the highlight to next mailbox</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-next-new&gt;</literal></entry>
 +                                              <entry>Move the highlight to next mailbox with new mail</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-open&gt;</literal></entry>
 +                                              <entry>Open highlighted mailbox</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-page-down&gt;</literal></entry>
 +                                              <entry>Scroll the Sidebar down 1 page</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-page-up&gt;</literal></entry>
 +                                              <entry>Scroll the Sidebar up 1 page</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-prev&gt;</literal></entry>
 +                                              <entry>Move the highlight to previous mailbox</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-prev-new&gt;</literal></entry>
 +                                              <entry>Move the highlight to previous mailbox with new mail</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry>index,pager</entry>
 +                                              <entry><literal>&lt;sidebar-toggle-visible&gt;</literal></entry>
 +                                              <entry>Make the Sidebar (in)visible</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +      </sect2>
 +
 +      <sect2 id="sidebar-commands">
 +              <title>Commands</title>
 +              <cmdsynopsis>
 +                      <command>sidebar_whitelist</command>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">mailbox</replaceable>
 +                      </arg>
 +                      <arg choice="opt" rep="repeat">
 +                              <replaceable class="parameter">mailbox</replaceable>
 +                      </arg>
 +              </cmdsynopsis>
 +      </sect2>
 +
 +      <sect2 id="sidebar-colors">
 +              <title>Colors</title>
 +
 +              <table id="table-sidebar-colors">
 +                      <title>Sidebar Colors</title>
 +                      <tgroup cols="3">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Name</entry>
 +                                              <entry>Default Color</entry>
 +                                              <entry>Description</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry><literal>sidebar_divider</literal></entry>
 +                                              <entry>default</entry>
 +                                              <entry>The dividing line between the Sidebar and the Index/Pager panels</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_flagged</literal></entry>
 +                                              <entry>default</entry>
 +                                              <entry>Mailboxes containing flagged mail</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_highlight</literal></entry>
 +                                              <entry>underline</entry>
 +                                              <entry>Cursor to select a mailbox</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_indicator</literal></entry>
 +                                              <entry>mutt <literal>indicator</literal></entry>
 +                                              <entry>The mailbox open in the Index panel</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_new</literal></entry>
 +                                              <entry>default</entry>
 +                                              <entry>Mailboxes containing new mail</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>sidebar_spoolfile</literal></entry>
 +                                              <entry>default</entry>
 +                                              <entry>Mailbox that receives incoming mail</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +
 +              If the <literal>sidebar_indicator</literal> color isn't set, then the default Mutt
 +              indicator color will be used (the color used in the index panel).
 +      </sect2>
 +
 +      <sect2 id="sidebar-sort">
 +              <title>Sort</title>
 +
 +              <table id="table-sidebar-sort">
 +                      <title>Sidebar Sort</title>
 +                      <tgroup cols="2">
 +                              <thead>
 +                                      <row>
 +                                              <entry>Sort</entry>
 +                                              <entry>Description</entry>
 +                                      </row>
 +                              </thead>
 +                              <tbody>
 +                                      <row>
 +                                              <entry><literal>alpha</literal></entry>
 +                                              <entry>Alphabetically by path</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>count</literal></entry>
 +                                              <entry>Total number of messages</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>flagged</literal></entry>
 +                                              <entry>Number of flagged messages</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>name</literal></entry>
 +                                              <entry>Alphabetically by path</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>new</literal></entry>
 +                                              <entry>Number of new messages</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>path</literal></entry>
 +                                              <entry>Alphabetically by path</entry>
 +                                      </row>
 +                                      <row>
 +                                              <entry><literal>unsorted</literal></entry>
 +                                              <entry>Do not resort the paths</entry>
 +                                      </row>
 +                              </tbody>
 +                      </tgroup>
 +              </table>
 +      </sect2>
 +
 +      <sect2 id="sidebar-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># This is a complete list of sidebar-related configuration.
 + 
 +# --------------------------------------------------------------------------
 +# VARIABLES - shown with their default values
 +# --------------------------------------------------------------------------
 + 
 +# Should the Sidebar be shown?</emphasis>
 +set sidebar_visible = no
 + 
 +<emphasis role="comment"># How wide should the Sidebar be in screen columns?
 +# Note: Some characters, e.g. Chinese, take up two columns each.</emphasis>
 +set sidebar_width = 20
 + 
 +<emphasis role="comment"># Should the mailbox paths be abbreviated?</emphasis>
 +set sidebar_short_path = no
 + 
 +<emphasis role="comment"># 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.</emphasis>
 +set sidebar_delim_chars = '/.'
 + 
 +<emphasis role="comment"># If the mailbox path is abbreviated, should it be indented?</emphasis>
 +set sidebar_folder_indent = no
 + 
 +<emphasis role="comment"># Indent mailbox paths with this string.</emphasis>
 +set sidebar_indent_string = '  '
 + 
 +<emphasis role="comment"># Make the Sidebar only display mailboxes that contain new, or flagged,
 +# mail.</emphasis>
 +set sidebar_new_mail_only = no
 + 
 +<emphasis role="comment"># Any mailboxes that are whitelisted will always be visible, even if the
 +# sidebar_new_mail_only option is enabled.</emphasis>
 +sidebar_whitelist '/home/user/mailbox1'
 +sidebar_whitelist '/home/user/mailbox2'
 + 
 +<emphasis role="comment"># When searching for mailboxes containing new mail, should the search wrap
 +# around when it reaches the end of the list?</emphasis>
 +set sidebar_next_new_wrap = no
 + 
 +<emphasis role="comment"># 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.</emphasis>
 +set sidebar_divider_char = '|'
 + 
 +<emphasis role="comment"># Display the Sidebar mailboxes using this format string.</emphasis>
 +set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S'
 + 
 +<emphasis role="comment"># Sidebar will not refresh its list of mailboxes any more frequently than
 +# this number of seconds.  This will help reduce disk/network traffic.</emphasis>
 +set sidebar_refresh_time = 60
 + 
 +<emphasis role="comment"># 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</emphasis>
 +set sidebar_sort_method = 'unsorted'
 + 
 +<emphasis role="comment"># --------------------------------------------------------------------------
 +# FUNCTIONS - shown with an example mapping
 +# --------------------------------------------------------------------------
 + 
 +# Move the highlight to the previous mailbox</emphasis>
 +bind index,pager \Cp sidebar-prev
 + 
 +<emphasis role="comment"># Move the highlight to the next mailbox</emphasis>
 +bind index,pager \Cn sidebar-next
 + 
 +<emphasis role="comment"># Open the highlighted mailbox</emphasis>
 +bind index,pager \Co sidebar-open
 + 
 +<emphasis role="comment"># Move the highlight to the previous page
 +# This is useful if you have a LOT of mailboxes.</emphasis>
 +bind index,pager &lt;F3&gt; sidebar-page-up
 + 
 +<emphasis role="comment"># Move the highlight to the next page
 +# This is useful if you have a LOT of mailboxes.</emphasis>
 +bind index,pager &lt;F4&gt; sidebar-page-down
 + 
 +<emphasis role="comment"># Move the highlight to the previous mailbox containing new, or flagged,
 +# mail.</emphasis>
 +bind index,pager &lt;F5&gt; sidebar-prev-new
 + 
 +<emphasis role="comment"># Move the highlight to the next mailbox containing new, or flagged, mail.</emphasis>
 +bind index,pager &lt;F6&gt; sidebar-next-new
 + 
 +<emphasis role="comment"># Toggle the visibility of the Sidebar.</emphasis>
 +bind index,pager B sidebar-toggle-visible
 + 
 +<emphasis role="comment"># --------------------------------------------------------------------------
 +# 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.</emphasis>
 +color indicator cyan black
 + 
 +<emphasis role="comment"># Color of the highlighted, but not open, mailbox.</emphasis>
 +color sidebar_highlight black color8
 + 
 +<emphasis role="comment"># Color of the divider separating the Sidebar from Mutt panels</emphasis>
 +color sidebar_divider color8 black
 + 
 +<emphasis role="comment"># Color to give mailboxes containing flagged mail</emphasis>
 +color sidebar_flagged red black
 + 
 +<emphasis role="comment"># Color to give mailboxes containing new mail</emphasis>
 +color sidebar_new green black
 + 
 +<emphasis role="comment"># --------------------------------------------------------------------------
 + 
 +# vim: syntax=muttrc</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="sidebar-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><link linkend="regexp">Regular Expressions</link></para></listitem>
 +                      <listitem><para><link linkend="patterns">Patterns</link></para></listitem>
 +                      <listitem><para><link linkend="color">Color command</link></para></listitem>
 +                      <listitem><para><link linkend="notmuch">notmuch patch</link></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="sidebar-known-bugs">
 +              <title>Known Bugs</title>
 +              Unsorted isn't
 +      </sect2>
 +
 +      <sect2 id="sidebar-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Justin Hibbits <email>jrh29@po.cwru.edu</email></para></listitem>
 +              <listitem><para>Thomer M. Gil <email>mutt@thomer.com</email></para></listitem>
 +              <listitem><para>David Sterba <email>dsterba@suse.cz</email></para></listitem>
 +              <listitem><para>Evgeni Golov <email>evgeni@debian.org</email></para></listitem>
 +              <listitem><para>Fabian Groffen <email>grobian@gentoo.org</email></para></listitem>
 +              <listitem><para>Jason DeTiberus <email>jdetiber@redhat.com</email></para></listitem>
 +              <listitem><para>Stefan Assmann <email>sassmann@kpanic.de</email></para></listitem>
 +              <listitem><para>Steve Kemp <email>steve@steve.org.uk</email></para></listitem>
 +              <listitem><para>Terry Chan <email>tchan@lunar-linux.org</email></para></listitem>
 +              <listitem><para>Tyler Earnest <email>tylere@rne.st</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="ifdef">
 +      <title>Ifdef Patch</title>
 +      <subtitle>Conditional config options</subtitle>
 +
 +      <sect2 id="ifdef-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>ifdef</quote>, look for
 +                      <quote>patch-ifdef</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="ifdef-intro">
 +              <title>Introduction</title>
 +
 +              <para>
 +                      The <quote>ifdef</quote> 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.
 +              </para>
 +
 +<screen>
 +ifdef  symbol config-command [args...]  <emphasis role="comment"># If a symbol is defined</emphasis>
 +ifndef symbol config-command [args...]  <emphasis role="comment"># If a symbol is not defined</emphasis>
 +finish                                  <emphasis role="comment"># Finish reading the current file</emphasis>
 +</screen>
 +
 +              <para>
 +                      Here a symbol can be a <link linkend="variables">$variable</link>,
 +                      <link linkend="functions">&lt;function&gt;</link>,
 +                      <link linkend="commands">command</link> or compile-time symbol, such
 +                      as <quote>USE_IMAP</quote>.
 +              </para>
 +
 +        <para>
 +            <literal>finish</literal> is particularly useful when combined with
 +            <literal>ifndef</literal>. e.g.
 +        </para>
 +
 +<screen>
 +<emphasis role="comment"># Sidebar config file</emphasis>
 +ifndef USE_SIDEBAR finish
 +</screen>
 +
 +      </sect2>
 +
 +<!--
 +      <sect2 id="ifdef-variables">
 +              <title>Variables</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="ifdef-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="ifdef-commands">
 +              <title>Commands</title>
 +              <cmdsynopsis>
 +                      <command>ifdef</command>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">symbol</replaceable>
 +                      </arg>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">"config-command [args]"</replaceable>
 +                      </arg>
 +                      <command>ifndef</command>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">symbol</replaceable>
 +                      </arg>
 +                      <arg choice="plain">
 +                              <replaceable class="parameter">"config-command [args]"</replaceable>
 +                      </arg>
 +                      <command>finish</command>
 +              </cmdsynopsis>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="ifdef-colors">
 +              <title>Colors</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="ifdef-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="ifdef-muttrc">
 +              <title>Muttrc</title>
 +<screen>
 +<emphasis role="comment"># 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.</emphasis>
 +ifdef trash 'set trash=~/Mail/trash'
 + 
 +<emphasis role="comment"># If the 'tag-pattern' function exists, bind a key to it.</emphasis>
 +ifdef tag-pattern 'bind index &lt;F6&gt; tag-pattern'
 + 
 +<emphasis role="comment"># If the 'imap-fetch-mail' command exists, read my IMAP config.</emphasis>
 +ifdef imap-fetch-mail 'source ~/.mutt/imap.rc'
 + 
 +<emphasis role="comment"># If the compile-time symbol 'USE_SIDEBAR' does not exist, then
 +# stop reading the current config file.</emphasis>
 +ifndef USE_SIDEBAR finish
 + 
 +<emphasis role="comment"># vim: syntax=muttrc</emphasis>
 +</screen>
 +      </sect2>
 +
 +      <sect2 id="ifdef-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="ifdef-known-bugs">
 +              <title>Known Bugs</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="ifdef-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Cedric Duval <email>cedricduval@free.fr</email></para></listitem>
 +              <listitem><para>Matteo F. Vescovi <email>mfvescovi@gmail.com</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
 +<sect1 id="fmemopen">
 +      <title>Fmemopen Patch</title>
 +      <subtitle>Replace some temporary files with memory buffers</subtitle>
 +
 +      <sect2 id="fmemopen-patch">
 +              <title>Patch</title>
 +
 +              <para>
 +                      To check if Mutt supports <quote>fmemopen</quote>, look for
 +                      <quote>patch-fmemopen</quote> in the mutt version.
 +                      See: <xref linkend="mutt-patches"/>.
 +              </para>
 +
 +              <itemizedlist>
 +                      <title>Dependencies:</title>
 +                      <listitem><para>mutt-1.5.24</para></listitem>
 +                      <listitem><para><literal>open_memstream()</literal>, <literal>fmemopen()</literal> from glibc</para></listitem>
 +              </itemizedlist>
 +
 +              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-intro">
 +              <title>Introduction</title>
 +
 +        <para>
 +              The <quote>fmemopen</quote> patch speeds up some searches.
 +        </para>
 +
 +        <para>
 +              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
 +              <link linkend="thorough-search">$thorough_search</link> option.
 +        </para>
 +
 +        <para>
 +              There are no user-configurable parts.
 +        </para>
 +
 +        <para>
 +              This patch depends on <literal>open_memstream()</literal> and
 +              <literal>fmemopen()</literal>.  They are provided by glibc.  Without
 +              them, Mutt will simply create temporary files.
 +        </para>
 +      </sect2>
 +
 +<!--
 +      <sect2 id="fmemopen-variables">
 +              <title>Variables</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-functions">
 +              <title>Functions</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-commands">
 +              <title>Commands</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-colors">
 +              <title>Colors</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-sort">
 +              <title>Sort</title>
 +              <para>None</para>
 +      </sect2>
 +-->
 +
 +      <sect2 id="fmemopen-muttrc">
 +              <title>Muttrc</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-see-also">
 +              <title>See Also</title>
 +
 +              <itemizedlist>
 +                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
 +                      <listitem><para><link linkend="compile-time-features">Compile-Time Features</link></para></listitem>
 +                      <listitem><para><literal>fmemopen(3)</literal></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-known-bugs">
 +              <title>Known Bugs</title>
 +              <para>None</para>
 +      </sect2>
 +
 +      <sect2 id="fmemopen-credits">
 +              <title>Credits</title>
 +              <itemizedlist>
 +              <listitem><para>Julius Plenz <email>plenz@cis.fu-berlin.de</email></para></listitem>
 +              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
 +              </itemizedlist>
 +      </sect2>
 +</sect1>
 +
++<sect1 id="initials">
++      <title>Initials Expando Patch</title>
++      <subtitle>Expando for author's initials</subtitle>
++
++      <sect2 id="initials-patch">
++              <title>Patch</title>
++
++              <para>
++                      To check if Mutt supports <quote>Initials</quote>, look for
++                      <quote>patch-initials</quote> in the mutt version.
++                      See: <xref linkend="mutt-patches"/>.
++              </para>
++
++              <itemizedlist>
++                      <title>Dependencies:</title>
++                      <listitem><para>mutt-1.5.24</para></listitem>
++              </itemizedlist>
++
++              <para>This patch is part of the <ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink>.</para>
++      </sect2>
++
++      <sect2 id="initials-intro">
++              <title>Introduction</title>
++
++        <para>
++              The <quote>initials</quote> patch adds an expando (%I) for an author's
++              initials.
++        </para>
++
++              <para>
++              The index panel displays a list of emails.  Its layout is controlled by
++              the <link linkend="index-format">$index_format</link> 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.
++              </para>
++      </sect2>
++
++      <sect2 id="initials-variables">
++              <title>Variables</title>
++
++        <para>
++        This patch has no config of its own.  It adds an expando which can be
++              used in the <link linkend="index-format">$index_format</link> variable.
++        </para>
++      </sect2>
++
++<!--
++      <sect2 id="initials-functions">
++              <title>Functions</title>
++              <para>None</para>
++      </sect2>
++
++      <sect2 id="initials-commands">
++              <title>Commands</title>
++              <para>None</para>
++      </sect2>
++
++      <sect2 id="initials-colors">
++              <title>Colors</title>
++              <para>None</para>
++      </sect2>
++
++      <sect2 id="initials-sort">
++              <title>Sort</title>
++              <para>None</para>
++      </sect2>
++-->
++
++      <sect2 id="initials-muttrc">
++              <title>Muttrc</title>
++<screen>
++<emphasis role="comment"># 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:</emphasis>
++set index_format='%4C %Z %{%b %d} %-15.15L (%?l?%4l&amp;%4c?) %s'
++ 
++<emphasis role="comment"># 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:</emphasis>
++set index_format='%4C %Z %{%b %d} %I (%?l?%4l&amp;%4c?) %s'
++ 
++<emphasis role="comment"># 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</emphasis>
++</screen>
++      </sect2>
++
++      <sect2 id="initials-see-also">
++              <title>See Also</title>
++
++              <itemizedlist>
++                      <listitem><para><ulink url="https://github.com/neomutt/neomutt/wiki">NeoMutt Project</ulink></para></listitem>
++                      <listitem><para><link linkend="index-format">$index_format</link></para></listitem>
++                      <listitem><para><link linkend="index-color">index-color patch</link></para></listitem>
++                      <listitem><para><link linkend="folder-hook">folder-hook</link></para></listitem>
++              </itemizedlist>
++      </sect2>
++
++      <sect2 id="initials-known-bugs">
++              <title>Known Bugs</title>
++              <para>None</para>
++      </sect2>
++
++      <sect2 id="initials-credits">
++              <title>Credits</title>
++              <itemizedlist>
++              <listitem><para>Vsevolod Volkov <email>vvv@mutt.org.ua</email></para></listitem>
++              <listitem><para>Richard Russon <email>rich@flatcap.org</email></para></listitem>
++              </itemizedlist>
++      </sect2>
++</sect1>
++
 +</chapter>
 +
 +<chapter id="security">
 +<title>Security Considerations</title>
 +
 +<para>
 +First of all, Mutt contains no security holes included by intention but
 +may contain unknown security holes. As a consequence, please run Mutt
 +only with as few permissions as possible. Especially, do not run Mutt as
 +the super user.
 +</para>
 +
 +<para>
 +When configuring Mutt, there're some points to note about secure setups
 +so please read this chapter carefully.
 +</para>
 +
 +<sect1 id="security-passwords">
 +<title>Passwords</title>
 +
 +<para>
 +Although Mutt can be told the various passwords for accounts, please
 +never store passwords in configuration files. Besides the fact that the
 +system's operator can always read them, you could forget to mask it out
 +when reporting a bug or asking for help via a mailing list. Even worse,
 +your mail including your password could be archived by internet search
 +engines, mail-to-news gateways etc. It may already be too late before
 +you notice your mistake.
 +</para>
 +
 +</sect1>
 +
 +<sect1 id="security-tempfiles">
 +<title>Temporary Files</title>
 +
 +<para>
 +Mutt uses many temporary files for viewing messages, verifying digital
 +signatures, etc. As long as being used, these files are visible by other
 +users and maybe even readable in case of misconfiguration.  Also, a
 +different location for these files may be desired which can be changed
 +via the <link linkend="tmpdir">$tmpdir</link> variable.
 +</para>
 +
 +</sect1>
 +
 +<sect1 id="security-leaks">
 +<title>Information Leaks</title>
 +
 +<sect2 id="security-leaks-mid">
 +<title>Message-Id: headers</title>
 +
 +<para>
 +Message-Id: headers contain a local part that is to be created in a
 +unique fashion. In order to do so, Mutt will <quote>leak</quote> some
 +information to the outside world when sending messages: the generation
 +of this header includes a step counter which is increased (and rotated)
 +with every message sent. In a longer running mutt session, others can
 +make assumptions about your mailing habits depending on the number of
  messages sent. If this is not desired, the header can be manually
  provided using <link linkend="edit-headers">$edit_headers</link> (though
  not recommended).
diff --cc hdrline.c
index fc35a2f4203336fe092028d72c095d5782f278b4,030a6d02bed48e8bfc70b11b572c6a728bbab858..e065f962147d11ebb7347d2244b15cba57050589
+++ b/hdrline.c
@@@ -247,8 -211,8 +247,9 @@@ int mutt_user_is_recipient (HEADER *h
   * %E = number of messages in current thread
   * %f = entire from line
   * %F = like %n, unless from self
 + * %g = message labes (e.g. notmuch tags)
   * %i = message-id
+  * %I = initials of author
   * %l = number of lines in the message
   * %L = like %F, except `lists' are displayed first
   * %m = number of messages in the mailbox