<releaseinfo>version @VERSION@</releaseinfo>
<abstract>
<para>
- <quote>All mail clients suck. This one just sucks less.</quote>— me,
- circa 1995</para>
+ <quote>All mail clients suck. This one just sucks less.</quote> – me,
+ circa 1995
+ </para>
</abstract>
</bookinfo>
<chapter id="intro">
<title>Introduction</title>
<para>
- <emphasis role="bold">NeoMutt</emphasis> is a small but very powerful
- text-based MIME mail client. NeoMutt is highly configurable, and is well
- suited to the mail power user with advanced features like key bindings,
- keyboard macros, mail threading, regular expression searches and a powerful
- pattern matching language for selecting groups of messages.</para>
+ <emphasis role="bold">NeoMutt</emphasis> is a small but very powerful
+ text-based MIME mail client. NeoMutt is highly configurable, and is well
+ suited to the mail power user with advanced features like key bindings,
+ keyboard macros, mail threading, regular expression searches and
+ a powerful pattern matching language for selecting groups of messages.
+ </para>
<sect1 id="homepage">
<title>NeoMutt Home Page</title>
- <para>The homepage can be found at
- <ulink url="https://www.neomutt.org">https://www.neomutt.org</ulink>.</para>
+ <para>
+ The homepage can be found at
+ <ulink url="https://www.neomutt.org">https://www.neomutt.org</ulink>.
+ </para>
</sect1>
<sect1 id="mailinglists">
<itemizedlist>
<listitem>
<para>
- <email>neomutt-users@neomutt.org</email> â\80\94 help, bug reports and
+ <email>neomutt-users@neomutt.org</email> â\80\93 help, bug reports and
feature requests. To subscribe to this list, please send a mail to
<email>neomutt-users-request@neomutt.org</email> with the subject
"subscribe".
</listitem>
<listitem>
<para>
- <email>neomutt-devel@neomutt.org</email> â\80\94 development mailing list.
- To subscribe to this list, please send a mail to
+ <email>neomutt-devel@neomutt.org</email> â\80\93 development mailing
+ list. To subscribe to this list, please send a mail to
<email>neomutt-devel-request@neomutt.org</email> with the subject
"subscribe".
</para>
<varlistentry>
<term>Issue Tracking System</term>
<listitem>
- <para>Bugs may be reported on the devel mailing list, or on GitHub:
- <ulink url="https://github.com/neomutt/neomutt/issues">https://github.com/neomutt/neomutt/issues</ulink></para>
+ <para>
+ Bugs may be reported on the devel mailing list, or on GitHub:
+ <ulink url="https://github.com/neomutt/neomutt/issues">https://github.com/neomutt/neomutt/issues</ulink>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>IRC</term>
<listitem>
- <para>For the IRC user community, visit channel
- <emphasis>#neomutt</emphasis> on
- <ulink url="https://webchat.freenode.net">irc.freenode.net</ulink>.</para>
+ <para>
+ For the IRC user community, visit channel
+ <emphasis>#neomutt</emphasis> on
+ <ulink url="https://webchat.freenode.net">irc.freenode.net</ulink>.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<sect1 id="contrib">
<title>Contributing to NeoMutt</title>
- <para>There are various ways to contribute to the NeoMutt project.</para>
- <para>Especially for new users it may be helpful to meet other new and
- experienced users to chat about NeoMutt, talk about problems and share
- tricks.</para>
- <para>Since translations of NeoMutt into other languages are highly
- appreciated, the NeoMutt developers always look for skilled translators that
- help improve and continue to maintain stale translations.</para>
- <para>For contributing code patches for new features and bug fixes,
- please refer to the developer pages at
- <ulink url="https://www.neomutt.org/dev.html">https://www.neomutt.org/dev.html</ulink>
- for more details.</para>
+ <para>
+ There are various ways to contribute to the NeoMutt project.
+ </para>
+ <para>
+ Especially for new users it may be helpful to meet other new and
+ experienced users to chat about NeoMutt, talk about problems and share
+ tricks.
+ </para>
+ <para>
+ Since translations of NeoMutt into other languages are highly
+ appreciated, the NeoMutt developers always look for skilled translators
+ that help improve and continue to maintain stale translations.
+ </para>
+ <para>
+ For contributing code patches for new features and bug fixes,
+ please refer to the developer pages at
+ <ulink url="https://www.neomutt.org/dev.html">https://www.neomutt.org/dev.html</ulink>
+ for more details.
+ </para>
</sect1>
<sect1 id="typo">
<title>Typographical Conventions</title>
- <para>This section lists typographical conventions followed throughout
- this manual. See table
- <xref linkend="tab-typo" />for typographical conventions for special
- terms.</para>
+ <para>
+ This section lists typographical conventions followed throughout this
+ manual. See table <xref linkend="tab-typo" /> for typographical
+ conventions for special terms.
+ </para>
<table id="tab-typo">
<title>Typographical conventions for special terms</title>
</tbody>
</tgroup>
</table>
- <para>Examples are presented as:</para>
+ <para>
+ Examples are presented as:
+ </para>
<screen>neomutt -v</screen>
- <para>Within command synopsis, curly brackets (
- <quote>{}</quote>) denote a set of options of which one is mandatory,
- square brackets (
- <quote>[]</quote>) denote optional arguments, three dots denote that the
- argument may be repeated arbitrary times.</para>
+ <para>
+ Within command synopsis, curly brackets (<quote>{}</quote>) denote
+ a set of options of which one is mandatory, square brackets
+ (<quote>[]</quote>) denote optional arguments, three dots denote that
+ the argument may be repeated arbitrary times.
+ </para>
</sect1>
<sect1 id="copyright">
<title>Copyright</title>
- <para>NeoMutt is Copyright © 1996-2016 Michael R. Elkins
- <email>me@neomutt.org</email> and others.</para>
- <para>This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2 of the License, or (at
- your option) any later version.</para>
- <para>This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- Public License for more details.</para>
- <para>You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</para>
+ <para>
+ NeoMutt is Copyright © 1996-2016 Michael R. Elkins
+ <email>me@neomutt.org</email> and others.
+ </para>
+ <para>
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+ </para>
+ <para>
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+ </para>
+ <para>
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ </para>
</sect1>
</chapter>
<chapter id="gettingstarted">
<title>Getting Started</title>
- <para>This section is intended as a brief overview of how to use NeoMutt.
- There are many other features which are described elsewhere in the manual.
- There is even more information available in the NeoMutt FAQ and various web
- pages. See the
- <ulink url="https://www.neomutt.org">NeoMutt homepage</ulink> for more
- details.</para>
- <para>The keybindings described in this section are the defaults as
- distributed. Your local system administrator may have altered the defaults
- for your site. You can always type
- <quote>?</quote>in any menu to display the current bindings.</para>
- <para>The first thing you need to do is invoke NeoMutt, simply by typing
- <literal>neomutt</literal> at the command line. There are various command-line
- options, see either the NeoMutt man page or the
- <link linkend="commandline">reference</link>.</para>
+ <para>
+ This section is intended as a brief overview of how to use NeoMutt.
+ There are many other features which are described elsewhere in the
+ manual. There is even more information available in the NeoMutt FAQ and
+ various web pages. See the
+ <ulink url="https://www.neomutt.org">NeoMutt homepage</ulink> for more
+ details.
+ </para>
+ <para>
+ The keybindings described in this section are the defaults as
+ distributed. Your local system administrator may have altered the
+ defaults for your site. You can always type <quote>?</quote> in any menu
+ to display the current bindings.
+ </para>
+ <para>
+ The first thing you need to do is invoke NeoMutt, simply by typing
+ <literal>neomutt</literal> at the command line. There are various
+ command-line options, see either the NeoMutt man page or the
+ <link linkend="commandline">reference</link>.
+ </para>
<sect1 id="core-concepts">
<title>Core Concepts</title>
- <para>NeoMutt is a text-based application which interacts with users through
- different menus which are mostly line-/entry-based or page-based. A
- line-based menu is the so-called
- <quote>index</quote> menu (listing all messages of the currently opened
- folder) or the
- <quote>alias</quote> menu (allowing you to select recipients from a list).
- Examples for page-based menus are the
- <quote>pager</quote>(showing one message at a time) or the
- <quote>help</quote> menu listing all available key bindings.</para>
- <para>The user interface consists of a context sensitive help line at the
- top, the menu's contents followed by a context sensitive status line and
- finally the command line. The command line is used to display
- informational and error messages as well as for prompts and for entering
- interactive commands.</para>
- <para>NeoMutt is configured through variables which, if the user wants to
- permanently use a non-default value, are written to configuration files.
- NeoMutt supports a rich config file syntax to make even complex
- configuration files readable and commentable.</para>
- <para>Because NeoMutt allows for customizing almost all key bindings, there
- are so-called
- <quote>functions</quote> which can be executed manually (using the command
- line) or in macros. Macros allow the user to bind a sequence of commands
- to a single key or a short key sequence instead of repeating a sequence
- of actions over and over.</para>
- <para>Many commands (such as saving or copying a message to another
- folder) can be applied to a single message or a set of messages
- (so-called
- <quote>tagged</quote> messages). To help selecting messages, NeoMutt provides
- a rich set of message patterns (such as recipients, sender, body
- contents, date sent/received, etc.) which can be combined into complex
- expressions using the boolean
- <emphasis>and</emphasis> and
- <emphasis>or</emphasis> operations as well as negating. These patterns can
- also be used to (for example) search for messages or to limit the index
- to show only matching messages.</para>
- <para>NeoMutt supports a
- <quote>hook</quote> concept which allows the user to execute arbitrary
- configuration commands and functions in certain situations such as
- entering a folder, starting a new message or replying to an existing one.
- These hooks can be used to highly customize NeoMutt's behavior including
- managing multiple identities, customizing the display for a folder or
- even implementing auto-archiving based on a per-folder basis and much
- more.</para>
- <para>Besides an interactive mode, NeoMutt can also be used as a
- command-line tool only send messages. It also supports a
- <literal>mailx(1)</literal>-compatible interface, see
- <xref linkend="tab-commandline-options" />for a complete list of
- command-line options.</para>
+ <para>
+ NeoMutt is a text-based application which interacts with users through
+ different menus which are mostly line-/entry-based or page-based.
+ A line-based menu is the so-called <quote>index</quote> menu (listing
+ all messages of the currently opened folder) or the
+ <quote>alias</quote> menu (allowing you to select recipients from
+ a list). Examples for page-based menus are the <quote>pager</quote>
+ (showing one message at a time) or the <quote>help</quote> menu listing
+ all available key bindings.
+ </para>
+ <para>
+ The user interface consists of a context sensitive help line at the
+ top, the menu's contents followed by a context sensitive status line
+ and finally the command line. The command line is used to display
+ informational and error messages as well as for prompts and for
+ entering interactive commands.
+ </para>
+ <para>
+ NeoMutt is configured through variables which, if the user wants to
+ permanently use a non-default value, are written to configuration
+ files. NeoMutt supports a rich config file syntax to make even complex
+ configuration files readable and commentable.
+ </para>
+ <para>
+ Because NeoMutt allows for customizing almost all key bindings, there
+ are so-called <quote>functions</quote> which can be executed manually
+ (using the command line) or in macros. Macros allow the user to bind
+ a sequence of commands to a single key or a short key sequence instead
+ of repeating a sequence of actions over and over.
+ </para>
+ <para>
+ Many commands (such as saving or copying a message to another folder)
+ can be applied to a single message or a set of messages (so-called
+ <quote>tagged</quote> messages). To help selecting messages, NeoMutt
+ provides a rich set of message patterns (such as recipients, sender,
+ body contents, date sent/received, etc.) which can be combined into
+ complex expressions using the boolean <emphasis>and</emphasis> and
+ <emphasis>or</emphasis> operations as well as negating. These patterns
+ can also be used to (for example) search for messages or to limit the
+ index to show only matching messages.
+ </para>
+ <para>
+ NeoMutt supports a <quote>hook</quote> concept which allows the user to
+ execute arbitrary configuration commands and functions in certain
+ situations such as entering a folder, starting a new message or
+ replying to an existing one. These hooks can be used to highly
+ customize NeoMutt's behavior including managing multiple identities,
+ customizing the display for a folder or even implementing
+ auto-archiving based on a per-folder basis and much more.
+ </para>
+ <para>
+ Besides an interactive mode, NeoMutt can also be used as a command-line
+ tool only send messages. It also supports
+ a <literal>mailx(1)</literal>-compatible interface, see
+ <xref linkend="tab-commandline-options" /> for a complete list of
+ command-line options.
+ </para>
</sect1>
<sect1 id="concept-screens-and-menus">
<sect2 id="intro-index">
<title>Index</title>
- <para>The index is the screen that you usually see first when you start
- NeoMutt. It gives an overview over your emails in the currently opened
- mailbox. By default, this is your system mailbox. The information you
- see in the index is a list of emails, each with its number on the left,
- its flags (new email, important email, email that has been forwarded or
- replied to, tagged email, ...), the date when email was sent, its
- sender, the email size, and the subject. Additionally, the index also
- shows thread hierarchies: when you reply to an email, and the other
- person replies back, you can see the other person's email in a
- "sub-tree" below. This is especially useful for personal email between
- a group of people or when you've subscribed to mailing lists.</para>
+ <para>
+ The index is the screen that you usually see first when you start
+ NeoMutt. It gives an overview over your emails in the currently
+ opened mailbox. By default, this is your system mailbox. The
+ information you see in the index is a list of emails, each with its
+ number on the left, its flags (new email, important email, email that
+ has been forwarded or replied to, tagged email, ...), the date when
+ email was sent, its sender, the email size, and the subject.
+ Additionally, the index also shows thread hierarchies: when you reply
+ to an email, and the other person replies back, you can see the other
+ person's email in a "sub-tree" below. This is especially useful for
+ personal email between a group of people or when you've subscribed to
+ mailing lists.
+ </para>
</sect2>
<sect2 id="intro-pager">
<title>Pager</title>
- <para>The pager is responsible for showing the email content. On the
- top of the pager you have an overview over the most important email
- headers like the sender, the recipient, the subject, and much more
- information. How much information you actually see depends on your
- configuration, which we'll describe below.</para>
- <para>Below the headers, you see the email body which usually contains
- the message. If the email contains any attachments, you will see more
- information about them below the email body, or, if the attachments are
- text files, you can view them directly in the pager.</para>
- <para>To give the user a good overview, it is possible to configure
- NeoMutt to show different things in the pager with different colors.
- Virtually everything that can be described with a regular expression
- can be colored, e.g. URLs, email addresses or smileys.</para>
+ <para>
+ The pager is responsible for showing the email content. On the top of
+ the pager you have an overview over the most important email headers
+ like the sender, the recipient, the subject, and much more
+ information. How much information you actually see depends on your
+ configuration, which we'll describe below.
+ </para>
+ <para>
+ Below the headers, you see the email body which usually contains the
+ message. If the email contains any attachments, you will see more
+ information about them below the email body, or, if the attachments
+ are text files, you can view them directly in the pager.
+ </para>
+ <para>
+ To give the user a good overview, it is possible to configure NeoMutt
+ to show different things in the pager with different colors.
+ Virtually everything that can be described with a regular expression
+ can be colored, e.g. URLs, email addresses or smileys.
+ </para>
</sect2>
<sect2 id="intro-browser">
<title>File Browser</title>
- <para>The file browser is the interface to the local or remote file
- system. When selecting a mailbox to open, the browser allows custom
- sorting of items, limiting the items shown by a regular expression and
- a freely adjustable format of what to display in which way. It also
- allows for easy navigation through the file system when selecting
- file(s) to attach to a message, select multiple files to attach and
- many more.</para>
+ <para>
+ The file browser is the interface to the local or remote file system.
+ When selecting a mailbox to open, the browser allows custom sorting
+ of items, limiting the items shown by a regular expression and
+ a freely adjustable format of what to display in which way. It also
+ allows for easy navigation through the file system when selecting
+ file(s) to attach to a message, select multiple files to attach and
+ many more.
+ </para>
</sect2>
<sect2 id="intro-sidebar">
<title>Sidebar</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 suitable for beginners. If you already
- know NeoMutt you could skip ahead to the main
- <link linkend="sidebar">Sidebar guide</link>. If you just want to get
- started, you could use the sample
- <link linkend="sidebar-neomuttrc">Sidebar neomuttrc</link>.</para>
- <para>To check if NeoMutt supports
- <quote>Sidebar</quote>, look for the string
- <literal>+sidebar</literal> in the neomutt version.</para>
+ <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 suitable for beginners. If you already
+ know NeoMutt you could skip ahead to the main
+ <link linkend="sidebar">Sidebar guide</link>. If you just want to get
+ started, you could use the sample
+ <link linkend="sidebar-neomuttrc">Sidebar neomuttrc</link>.
+ </para>
+ <para>
+ To check if NeoMutt supports <quote>Sidebar</quote>, look for the
+ string <literal>+sidebar</literal> in the neomutt version.
+ </para>
<screen>neomutt -v</screen>
<para>
<emphasis role="bold">Let's turn on the Sidebar:</emphasis>
set mail_check_stats
</screen>
- <para>You will see something like this. A list of mailboxes on the
- left. A list of emails, from the selected mailbox, on the right.</para>
+ <para>
+ You will see something like this. A list of mailboxes on the left.
+ A list of emails, from the selected mailbox, on the right.
+ </para>
<screen>
<emphasis role="indicator">Fruit [1] 3/8</emphasis>| 1 + Jan 24 Rhys Lee (192) Yew
|
</screen>
- <para>This user has four mailboxes:
- <quote>Fruit</quote>,
- <quote>Cars</quote>,
- <quote>Animals</quote> and
- <quote>Seas</quote>.</para>
- <para>The current, open, mailbox is
- <quote>Fruit</quote>. We can also see information about the other
- mailboxes. For example: The
- <quote>Animals</quote> mailbox contains, 1 flagged email, 2 new emails
- out of a total of 6 emails.</para>
+ <para>
+ This user has four mailboxes: <quote>Fruit</quote>,
+ <quote>Cars</quote>, <quote>Animals</quote> and <quote>Seas</quote>.
+ </para>
+ <para>
+ The current, open, mailbox is <quote>Fruit</quote>. We can also see
+ information about the other mailboxes. For example: The
+ <quote>Animals</quote> mailbox contains, 1 flagged email, 2 new
+ emails out of a total of 6 emails.
+ </para>
<sect3 id="intro-sidebar-navigation">
<title>Navigation</title>
- <para>The Sidebar adds some new
- <link linkend="sidebar-functions">functions</link> to NeoMutt.</para>
- <para>The user pressed the
- <quote>c</quote> key to
- <literal><change-folder></literal>to the
- <quote>Animals</quote> mailbox. The Sidebar automatically updated the
- indicator to match.</para>
+ <para>
+ The Sidebar adds some new
+ <link linkend="sidebar-functions">functions</link> to NeoMutt.
+ </para>
+ <para>
+ The user pressed the <quote>c</quote> key to
+ <literal><change-folder></literal> to the
+ <quote>Animals</quote> mailbox. The Sidebar automatically updated
+ the indicator to match.
+ </para>
<screen>
Fruit [1] 3/8| 1 Jan 03 Tia Gibson (362) Caiman
|
</screen>
- <para>Let's map some functions:</para>
+ <para>
+ Let's map some functions:
+ </para>
<screen>
bind index,pager \CP sidebar-prev <emphasis role="comment"># Ctrl-Shift-P – Previous Mailbox</emphasis>
bind index,pager \CO sidebar-open <emphasis role="comment"># Ctrl-Shift-O – Open Highlighted Mailbox</emphasis>
</screen>
- <para>Press
- <quote>Ctrl-Shift-N</quote>(Next mailbox) twice will move the Sidebar
- <emphasis role="bold">highlight</emphasis> to down to the
- <quote>Seas</quote> mailbox.</para>
+ <para>
+ Press <quote>Ctrl-Shift-N</quote> (Next mailbox) twice will move
+ the Sidebar <emphasis role="bold">highlight</emphasis> to down to
+ the <quote>Seas</quote> mailbox.
+ </para>
<screen>
Fruit [1] 3/8| 1 Jan 03 Tia Gibson (362) Caiman
</screen>
<note>
- <para>Functions
- <literal><sidebar-next></literal>and
- <literal><sidebar-prev></literal>move the Sidebar
- <emphasis role="bold">highlight</emphasis>. They
- <emphasis role="bold">do not</emphasis> change the open
- mailbox.</para>
+ <para>
+ Functions <literal><sidebar-next></literal> and
+ <literal><sidebar-prev></literal> move the Sidebar
+ <emphasis role="bold">highlight</emphasis>. They <emphasis
+ role="bold">do not</emphasis> change the open mailbox.
+ </para>
</note>
- <para>Press
- <quote>Ctrl-Shift-O</quote>(
- <literal><sidebar-open></literal>) to open the highlighted
- mailbox.</para>
+ <para>
+ Press <quote>Ctrl-Shift-O</quote>
+ (<literal><sidebar-open></literal>) to open the highlighted
+ mailbox.
+ </para>
<screen>
Fruit [1] 3/8| 1 ! Mar 07 Finley Jones (139) Molucca Sea
<sect3 id="intro-sidebar-features">
<title>Features</title>
- <para>The Sidebar shows a list of mailboxes in a panel.</para>
- <para>Everything about the Sidebar can be configured.</para>
+ <para>
+ The Sidebar shows a list of mailboxes in a panel.
+ </para>
+ <para>
+ Everything about the Sidebar can be configured.
+ </para>
<itemizedlist>
<title>
<link linkend="intro-sidebar-basics">State of the Sidebar</link>
</title>
<listitem>
- <para>Visibility</para>
+ <para>
+ Visibility
+ </para>
</listitem>
<listitem>
- <para>Width</para>
+ <para>
+ Width
+ </para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>
- <link linkend="intro-sidebar-limit">Which mailboxes are
- displayed</link>
+ <link linkend="intro-sidebar-limit">Which mailboxes are displayed</link>
</title>
<listitem>
- <para>Display all</para>
+ <para>
+ Display all
+ </para>
</listitem>
<listitem>
- <para>Limit to mailboxes with new mail</para>
+ <para>
+ Limit to mailboxes with new mail
+ </para>
</listitem>
<listitem>
- <para>Whitelist mailboxes to display always</para>
+ <para>
+ Whitelist mailboxes to display always
+ </para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>
- <link linkend="sidebar-sort">The order in which mailboxes are
- displayed</link>
+ <link linkend="sidebar-sort">The order in which mailboxes are displayed</link>
</title>
<listitem>
- <para>Unsorted (order of mailboxes commands)</para>
+ <para>
+ Unsorted (order of mailboxes commands)
+ </para>
</listitem>
<listitem>
- <para>Sorted alphabetically</para>
+ <para>
+ Sorted alphabetically
+ </para>
</listitem>
<listitem>
- <para>Sorted by number of new mails</para>
+ <para>
+ Sorted by number of new mails
+ </para>
</listitem>
</itemizedlist>
<itemizedlist>
<link linkend="intro-sidebar-colors">Color</link>
</title>
<listitem>
- <para>Sidebar indicators and divider</para>
+ <para>
+ Sidebar indicators and divider
+ </para>
</listitem>
<listitem>
- <para>Mailboxes depending on their type</para>
+ <para>
+ Mailboxes depending on their type
+ </para>
</listitem>
<listitem>
- <para>Mailboxes depending on their contents</para>
+ <para>
+ Mailboxes depending on their contents
+ </para>
</listitem>
</itemizedlist>
<itemizedlist>
<link linkend="sidebar-functions">Key bindings</link>
</title>
<listitem>
- <para>Hide/Unhide the Sidebar</para>
+ <para>
+ Hide/Unhide the Sidebar
+ </para>
</listitem>
<listitem>
- <para>Select previous/next mailbox</para>
+ <para>
+ Select previous/next mailbox
+ </para>
</listitem>
<listitem>
- <para>Select previous/next mailbox with new mail</para>
+ <para>
+ Select previous/next mailbox with new mail
+ </para>
</listitem>
<listitem>
- <para>Page up/down through a list of mailboxes</para>
+ <para>
+ Page up/down through a list of mailboxes
+ </para>
</listitem>
</itemizedlist>
<itemizedlist>
<title>Misc</title>
<listitem>
<para>
- <link linkend="intro-sidebar-format">Formatting string for
- mailbox</link>
+ <link linkend="intro-sidebar-format">Formatting string for mailbox</link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="sidebar-next-new-wrap">Wraparound
- searching</link>
+ <link linkend="sidebar-next-new-wrap">Wraparound searching</link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="intro-sidebar-abbrev">Flexible mailbox
- abbreviations</link>
+ <link linkend="intro-sidebar-abbrev">Flexible mailbox abbreviations</link>
</para>
</listitem>
<listitem>
- <para>Support for Unicode mailbox names (UTF-8)</para>
+ <para>
+ Support for Unicode mailbox names (UTF-8)
+ </para>
</listitem>
</itemizedlist>
</sect3>
<sect3 id="intro-sidebar-display">
<title>Display</title>
- <para>Everything about the Sidebar can be configured.</para>
+ <para>
+ Everything about the Sidebar can be configured.
+ </para>
<itemizedlist>
<title>For a quick reference:</title>
<listitem>
<para>
- <link linkend="sidebar-variables">Sidebar variables to
- set</link>
+ <link linkend="sidebar-variables">Sidebar variables to set</link>
</para>
</listitem>
<listitem>
<sect4 id="intro-sidebar-basics">
<title>Sidebar Basics</title>
- <para>The most important variable is
- <literal>$sidebar_visible</literal>. You can set this in your
- <quote>neomuttrc</quote>, or bind a key to the function
- <literal><sidebar-toggle-visible></literal>.</para>
+ <para>
+ The most important variable is
+ <literal>$sidebar_visible</literal>. You can set this in your
+ <quote>neomuttrc</quote>, or bind a key to the function
+ <literal><sidebar-toggle-visible></literal>.
+ </para>
<screen>
set sidebar_visible <emphasis role="comment"># Make the Sidebar visible by default</emphasis>
bind index,pager B sidebar-toggle-visible <emphasis role="comment"># Use 'B' to switch the Sidebar on and off</emphasis>
</screen>
- <para>Next, decide how wide you want the Sidebar to be. 25
- characters might be enough for the mailbox name and some numbers.
- Remember, you can hide/show the Sidebar at the press of
- button.</para>
- <para>Finally, you might want to change the divider character. By
- default, Sidebar draws an ASCII line between it and the Index panel
- If your terminal supports it, you can use a Unicode line-drawing
- character.</para>
+ <para>
+ Next, decide how wide you want the Sidebar to be. 25 characters
+ might be enough for the mailbox name and some numbers. Remember,
+ you can hide/show the Sidebar at the press of button.
+ </para>
+ <para>
+ Finally, you might want to change the divider character. By
+ default, Sidebar draws an ASCII line between it and the Index
+ panel If your terminal supports it, you can use a Unicode
+ line-drawing character.
+ </para>
<screen>
set sidebar_width = 25 <emphasis role="comment"># Plenty of space</emphasis>
<sect4 id="intro-sidebar-format">
<title>Sidebar Format String</title>
<para>
- <literal>$sidebar_format</literal> allows you to customize the
- Sidebar display. For an introduction, read
- <link linkend="index-format">format strings</link> including the
- section about
- <link linkend="formatstrings-conditionals">
- conditionals</link>.</para>
- <para>The default value is:
- <literal>%B%* %n</literal></para>
- <para>A more detailed value is:
- <literal>%B%?F? [%F]?%* %?N?%N/?%S</literal></para>
+ <literal>$sidebar_format</literal> allows you to customize the
+ Sidebar display. For an introduction, read
+ <link linkend="index-format">format strings</link> including the
+ section about
+ <link linkend="formatstrings-conditionals"> conditionals</link>.
+ </para>
+ <para>
+ The default value is: <literal>%B%* %n</literal>
+ </para>
+ <para>
+ A more detailed value is:
+ <literal>%B%?F? [%F]?%* %?N?%N/?%S</literal>
+ </para>
<itemizedlist>
<title>Which breaks down as:</title>
<listitem>
<para>
- <literal>%B</literal>- Mailbox name</para>
+ <literal>%B</literal> – Mailbox name
+ </para>
</listitem>
<listitem>
<para>
- <literal>%?F? [%F]?</literal>- If flagged emails
- <literal>[%F]</literal>, otherwise nothing</para>
+ <literal>%?F? [%F]?</literal> – If flagged emails
+ <literal>[%F]</literal>, otherwise nothing
+ </para>
</listitem>
<listitem>
<para>
- <literal>%*</literal>- Pad with spaces</para>
+ <literal>%*</literal> – Pad with spaces
+ </para>
</listitem>
<listitem>
<para>
- <literal>%?N?%N/?</literal>- If new emails
- <literal>%N/</literal>, otherwise nothing</para>
+ <literal>%?N?%N/?</literal> – If new emails
+ <literal>%N/</literal>, otherwise nothing
+ </para>
</listitem>
<listitem>
<para>
- <literal>%S</literal>- Total number of emails</para>
+ <literal>%S</literal> – Total number of emails
+ </para>
</listitem>
</itemizedlist>
</tbody>
</tgroup>
</table>
- <para>* = Can be optionally printed if nonzero</para>
- <para>† = To use this expandos, you must first:
+ <para>
+ * = Can be optionally printed if nonzero
+ </para>
+ <para>
+ † = To use this expandos, you must first:
</para>
<screen>set mail_check_stats</screen>
- <para>‡ = Only applicable to the current folder</para>
- <para>Here are some examples. They show the number of (F)lagged,
- (N)ew and (S)ize.</para>
+ <para>
+ ‡ = Only applicable to the current folder
+ </para>
+ <para>
+ Here are some examples. They show the number of (F)lagged, (N)ew
+ and (S)ize.
+ </para>
<table>
<title>sidebar_format</title>
<sect4 id="intro-sidebar-abbrev">
<title>Abbreviating Mailbox Names</title>
<para>
- <literal>$sidebar_delim_chars</literal> tells Sidebar how to split
- up mailbox paths. For local directories use
- <quote>/</quote>; for IMAP folders use
- <quote>.</quote></para>
+ <literal>$sidebar_delim_chars</literal> tells Sidebar how to
+ split up mailbox paths. For local directories use
+ <quote>/</quote>; for IMAP folders use <quote>.</quote>
+ </para>
<sect5 id="intro-sidebar-abbrev-ex1">
<title>Example 1</title>
- <para>This example works well if your mailboxes have unique names
- after the last separator.</para>
- <para>Add some mailboxes of different depths.</para>
+ <para>
+ This example works well if your mailboxes have unique names
+ after the last separator.
+ </para>
+ <para>
+ Add some mailboxes of different depths.
+ </para>
<screen>
set folder="~/mail"
mailboxes =water/ocean/atlantic =water/ocean/pacific =water/ocean/arctic
</screen>
- <para>Shorten the names:</para>
+ <para>
+ Shorten the names:
+ </para>
<screen>
set sidebar_short_path <emphasis role="comment"># Shorten mailbox names (truncate all subdirs)</emphasis>
set sidebar_delim_chars="/" <emphasis role="comment"># Delete everything up to the last or Nth / character</emphasis>
</screen>
- <para>The screenshot below shows what the Sidebar would look like
- before and after shortening using <literal>sidebar_short_path</literal>.</para>
+ <para>
+ The screenshot below shows what the Sidebar would look like
+ before and after shortening using
+ <literal>sidebar_short_path</literal>.
+ </para>
<screen>
|fruit/apple |apple
|water/ocean/arctic |arctic
</screen>
- <para>The screenshot below shows what the Sidebar would look like
- before and after shortening using <literal>sidebar_component_depth=1</literal>.</para>
+ <para>
+ The screenshot below shows what the Sidebar would look like
+ before and after shortening using
+ <literal>sidebar_component_depth=1</literal>.
+ </para>
<screen>
|fruit/apple |apple
<sect5 id="intro-sidebar-abbrev-ex2">
<title>Example 2</title>
- <para>This example works well if you have lots of mailboxes which
- are arranged in a tree.</para>
- <para>Add some mailboxes of different depths.</para>
+ <para>
+ This example works well if you have lots of mailboxes which are
+ arranged in a tree.
+ </para>
+ <para>
+ Add some mailboxes of different depths.
+ </para>
<screen>
set folder="~/mail"
mailboxes =water/ocean/atlantic =water/ocean/pacific =water/ocean/arctic
</screen>
- <para>Shorten the names:</para>
+ <para>
+ Shorten the names:
+ </para>
<screen>
set sidebar_short_path <emphasis role="comment"># Shorten mailbox names</emphasis>
set sidebar_indent_string=" " <emphasis role="comment"># Indent with two spaces</emphasis>
</screen>
- <para>The screenshot below shows what the Sidebar would look like
- before and after shortening.</para>
+ <para>
+ The screenshot below shows what the Sidebar would look like
+ before and after shortening.
+ </para>
<screen>
|fruit |fruit
|water/ocean/arctic | arctic
</screen>
- <para>Sometimes, it will be necessary to add mailboxes, that you
- don't use, to fill in part of the tree. This will trade vertical
- space for horizontal space (but it looks good).</para>
+ <para>
+ Sometimes, it will be necessary to add mailboxes, that you
+ don't use, to fill in part of the tree. This will trade
+ vertical space for horizontal space (but it looks good).
+ </para>
</sect5>
</sect4>
<sect4 id="intro-sidebar-limit">
<title>Limiting the Number of Mailboxes</title>
- <para>If you have a lot of mailboxes, sometimes it can be useful to
- hide the ones you aren't using.
- <literal>$sidebar_new_mail_only</literal> tells Sidebar to only show
- mailboxes that contain new, or flagged, email.</para>
- <para>If you want some mailboxes to be always visible, then use the
- <literal>sidebar_whitelist</literal> command. It takes a list of
- mailboxes as parameters.</para>
+ <para>
+ If you have a lot of mailboxes, sometimes it can be useful to
+ hide the ones you aren't using.
+ <literal>$sidebar_new_mail_only</literal> tells Sidebar to only
+ show mailboxes that contain new, or flagged, email.
+ </para>
+ <para>
+ If you want some mailboxes to be always visible, then use the
+ <literal>sidebar_whitelist</literal> command. It takes a list of
+ mailboxes as parameters.
+ </para>
<screen>
set sidebar_new_mail_only <emphasis role="comment"># Only mailboxes with new/flagged email</emphasis>
<sect3 id="intro-sidebar-colors">
<title>Colors</title>
- <para>Here is a sample color scheme:</para>
+ <para>
+ Here is a sample color scheme:
+ </para>
<screen>
color sidebar_indicator default color17 <emphasis role="comment"># Dark blue background</emphasis>
color sidebar_divider color8 default <emphasis role="comment"># Dark grey</emphasis>
</screen>
- <para>There is a priority order when coloring Sidebar mailboxes. e.g.
- If a mailbox has new mail it will have the
- <literal>sidebar_new</literal> color, even if it also contains flagged
- mails.</para>
+ <para>
+ There is a priority order when coloring Sidebar mailboxes. e.g. If
+ a mailbox has new mail it will have the
+ <literal>sidebar_new</literal> color, even if it also contains
+ flagged mails.
+ </para>
<table id="table-intro-sidebar-colors">
<title>Sidebar Color Priority</title>
<sect3 id="intro-sidebar-config-changes">
<title>Config Changes</title>
- <para>If you haven't used Sidebar before, you can ignore this
- section.</para>
- <para>Some of the Sidebar config has been changed to make its meaning
- clearer. These changes have been made since the previous Sidebar
- release: 2015-11-11.</para>
+ <para>
+ If you haven't used Sidebar before, you can ignore this section.
+ </para>
+ <para>
+ Some of the Sidebar config has been changed to make its meaning
+ clearer. These changes have been made since the previous Sidebar
+ release: 2015-11-11.
+ </para>
<table id="table-intro-sidebar-config-changes">
<title>Config Changes</title>
<sect2 id="intro-help">
<title>Help</title>
- <para>The help screen is meant to offer a quick help to the user. It
- lists the current configuration of key bindings and their associated
- commands including a short description, and currently unbound functions
- that still need to be associated with a key binding (or alternatively,
- they can be called via the NeoMutt command prompt).</para>
+ <para>
+ The help screen is meant to offer a quick help to the user. It lists
+ the current configuration of key bindings and their associated
+ commands including a short description, and currently unbound
+ functions that still need to be associated with a key binding (or
+ alternatively, they can be called via the NeoMutt command prompt).
+ </para>
</sect2>
<sect2 id="intro-compose">
<title>Compose Menu</title>
- <para>The compose menu features a split screen containing the
- information which really matter before actually sending a message by
- mail: who gets the message as what (recipients and who gets what kind
- of copy). Additionally, users may set security options like deciding
- whether to sign, encrypt or sign and encrypt a message with/for what
- keys. Also, it's used to attach messages, to re-edit any attachment
- including the message itself.</para>
+ <para>
+ The compose menu features a split screen containing the information
+ which really matter before actually sending a message by mail: who
+ gets the message as what (recipients and who gets what kind of copy).
+ Additionally, users may set security options like deciding whether to
+ sign, encrypt or sign and encrypt a message with/for what keys. Also,
+ it's used to attach messages, to re-edit any attachment including the
+ message itself.
+ </para>
</sect2>
<sect2 id="intro-alias">
<title>Alias Menu</title>
- <para>The alias menu is used to help users finding the recipients of
- messages. For users who need to contact many people, there's no need to
- remember addresses or names completely because it allows for searching,
- too. The alias mechanism and thus the alias menu also features grouping
- several addresses by a shorter nickname, the actual alias, so that
- users don't have to select each single recipient manually.</para>
+ <para>
+ The alias menu is used to help users finding the recipients of
+ messages. For users who need to contact many people, there's no need
+ to remember addresses or names completely because it allows for
+ searching, too. The alias mechanism and thus the alias menu also
+ features grouping several addresses by a shorter nickname, the actual
+ alias, so that users don't have to select each single recipient
+ manually.
+ </para>
</sect2>
<sect2 id="intro-attach">
<title>Attachment Menu</title>
- <para>As will be later discussed in detail, NeoMutt features a good and
- stable MIME implementation, that is, it supports sending and receiving
- messages of arbitrary MIME types. The attachment menu displays a
- message's structure in detail: what content parts are attached to which
- parent part (which gives a true tree structure), which type is of what
- type and what size. Single parts may saved, deleted or modified to
- offer great and easy access to message's internals.</para>
+ <para>
+ As will be later discussed in detail, NeoMutt features a good and
+ stable MIME implementation, that is, it supports sending and
+ receiving messages of arbitrary MIME types. The attachment menu
+ displays a message's structure in detail: what content parts are
+ attached to which parent part (which gives a true tree structure),
+ which type is of what type and what size. Single parts may saved,
+ deleted or modified to offer great and easy access to message's
+ internals.
+ </para>
</sect2>
</sect1>
<sect1 id="menus">
<title>Moving Around in Menus</title>
- <para>The most important navigation keys common to line- or entry-based
- menus are shown in
- <xref linkend="tab-keys-nav-line" />and in
- <xref linkend="tab-keys-nav-page" />for page-based menus.</para>
+ <para>
+ The most important navigation keys common to line- or entry-based menus
+ are shown in <xref linkend="tab-keys-nav-line" /> and in <xref
+ linkend="tab-keys-nav-page" /> for page-based menus.
+ </para>
<table id="tab-keys-nav-line">
<title>Most common navigation keys in entry-based menus</title>
<sect2 id="editing-intro">
<title>Introduction</title>
- <para>NeoMutt has a built-in line editor for inputting text, e.g. email
- addresses or filenames. The keys used to manipulate text input are very
- similar to those of Emacs. See
- <xref linkend="tab-keys-editor" />for a full reference of available
- functions, their default key bindings, and short descriptions.</para>
+ <para>
+ NeoMutt has a built-in line editor for inputting text, e.g. email
+ addresses or filenames. The keys used to manipulate text input are
+ very similar to those of Emacs. See
+ <xref linkend="tab-keys-editor" /> for a full reference of available
+ functions, their default key bindings, and short descriptions.
+ </para>
<table id="tab-keys-editor">
<title>Most common line editor keys</title>
</tbody>
</tgroup>
</table>
- <para>You can remap the
- <emphasis>editor</emphasis> functions using the
- <link linkend="bind">
- <command>bind</command>
- </link>command. For example, to make the <Delete> key delete the
- character in front of the cursor rather than under, you could
- use:</para>
+ <para>
+ You can remap the <emphasis>editor</emphasis> functions using the
+ <link linkend="bind"><command>bind</command></link> command. For
+ example, to make the <Delete> key delete the character in front
+ of the cursor rather than under, you could use:
+ </para>
<screen>bind editor <delete> backspace</screen>
</sect2>
<sect2 id="editing-history">
<title>History</title>
- <para>NeoMutt maintains a history for the built-in editor. The number of
- items is controlled by the
- <link linkend="history">$history</link> variable and can be made
- persistent using an external file specified using
- <link linkend="history-file">$history_file</link> and
- <link linkend="save-history">$save_history</link>. You may cycle
- through them at an editor prompt by using the
- <literal><history-up></literal>and/or
- <literal><history-down></literal>commands. NeoMutt will remember the
- currently entered text as you cycle through history, and will wrap
- around to the initial entry line.</para>
- <para>NeoMutt maintains several distinct history lists, one for each of
- the following categories:</para>
+ <para>
+ NeoMutt maintains a history for the built-in editor. The number of
+ items is controlled by the <link linkend="history">$history</link>
+ variable and can be made persistent using an external file specified
+ using <link linkend="history-file">$history_file</link> and
+ <link linkend="save-history">$save_history</link>. You may cycle through
+ them at an editor prompt by using the
+ <literal><history-up></literal> and/or
+ <literal><history-down></literal> commands. NeoMutt will
+ remember the currently entered text as you cycle through history, and
+ will wrap around to the initial entry line.
+ </para>
+ <para>
+ NeoMutt maintains several distinct history lists, one for each of the
+ following categories:
+ </para>
<itemizedlist>
<listitem>
<para>
- <literal>.neomuttrc</literal> commands</para>
+ <literal>.neomuttrc</literal> commands
+ </para>
</listitem>
<listitem>
- <para>addresses and aliases</para>
+ <para>
+ addresses and aliases
+ </para>
</listitem>
<listitem>
- <para>shell commands</para>
+ <para>
+ shell commands
+ </para>
</listitem>
<listitem>
- <para>filenames</para>
+ <para>
+ filenames
+ </para>
</listitem>
<listitem>
- <para>patterns</para>
+ <para>
+ patterns
+ </para>
</listitem>
<listitem>
- <para>everything else</para>
+ <para>
+ everything else
+ </para>
</listitem>
</itemizedlist>
- <para>NeoMutt automatically filters out consecutively repeated items from
- the history. If
- <link linkend="history-remove-dups">$history_remove_dups</link> is set,
- all repeated items are removed from the history. It also mimics the
- behavior of some shells by ignoring items starting with a space. The
- latter feature can be useful in macros to not clobber the history's
- valuable entries with unwanted entries.</para>
+ <para>
+ NeoMutt automatically filters out consecutively repeated items from
+ the history. If
+ <link linkend="history-remove-dups">$history_remove_dups</link> is
+ set, all repeated items are removed from the history. It also mimics
+ the behavior of some shells by ignoring items starting with a space.
+ The latter feature can be useful in macros to not clobber the
+ history's valuable entries with unwanted entries.
+ </para>
</sect2>
</sect1>
<sect1 id="reading">
<title>Reading Mail</title>
- <para>Similar to many other mail clients, there are two modes in which
- mail is read in NeoMutt. The first is a list of messages in the mailbox,
- which is called the
- <quote>index</quote> menu in NeoMutt. The second mode is the display of the
- message contents. This is called the
- <quote>pager.</quote></para>
- <para>The next few sections describe the functions provided in each of
- these modes.</para>
+ <para>
+ Similar to many other mail clients, there are two modes in which mail
+ is read in NeoMutt. The first is a list of messages in the mailbox,
+ which is called the <quote>index</quote> menu in NeoMutt. The second
+ mode is the display of the message contents. This is called the
+ <quote>pager.</quote>
+ </para>
+ <para>
+ The next few sections describe the functions provided in each of these
+ modes.
+ </para>
<sect2 id="index-menu">
<title>The Message Index</title>
- <para>Common keys used to navigate through and manage messages in the
- index are shown in
- <xref linkend="tab-key-index" />. How messages are presented in the
- index menu can be customized using the
- <link linkend="index-format">$index_format</link> variable.</para>
+ <para>
+ Common keys used to navigate through and manage messages in the index
+ are shown in <xref linkend="tab-key-index" />. How messages are
+ presented in the index menu can be customized using the
+ <link linkend="index-format">$index_format</link> variable.
+ </para>
<table id="tab-key-index">
<title>Most common message index keys</title>
</tbody>
</tgroup>
</table>
- <para>In addition to who sent the message and the subject, a short
- summary of the disposition of each message is printed beside the
- message number. Zero or more of the
- <quote>flags</quote> in
- <xref linkend="tab-msg-status-flags" />may appear, some of which can be
- turned on or off using these functions:
- <literal><set-flag></literal>and
- <literal><clear-flag></literal>bound by default to
- <quote>w</quote> and
- <quote>W</quote> respectively.</para>
- <para>Furthermore, the flags in
- <xref linkend="tab-msg-recip-flags" />reflect who the message is
- addressed to. They can be customized with the
- <link linkend="to-chars">$to_chars</link> variable.</para>
+ <para>
+ In addition to who sent the message and the subject, a short summary
+ of the disposition of each message is printed beside the message
+ number. Zero or more of the <quote>flags</quote> in
+ <xref linkend="tab-msg-status-flags" /> may appear, some of which can
+ be turned on or off using these functions:
+ <literal><set-flag></literal> and
+ <literal><clear-flag></literal> bound by default to
+ <quote>w</quote> and <quote>W</quote> respectively.
+ </para>
+ <para>
+ Furthermore, the flags in <xref linkend="tab-msg-recip-flags" />
+ reflect who the message is addressed to. They can be customized with
+ the <link linkend="to-chars">$to_chars</link> variable.
+ </para>
<table id="tab-msg-status-flags">
<title>Message status flags</title>
<sect2 id="pager-menu">
<title>The Pager</title>
- <para>By default, NeoMutt uses its built-in pager to display the contents
- of messages (an external pager such as
- <literal>less(1)</literal>can be configured, see
- <link linkend="pager">$pager</link> variable). The pager is very similar
- to the Unix program
- <literal>less(1)</literal>though not nearly as featureful.</para>
+ <para>
+ By default, NeoMutt uses its built-in pager to display the contents
+ of messages (an external pager such as <literal>less(1)</literal> can
+ be configured, see <link linkend="pager">$pager</link> variable). The
+ pager is very similar to the Unix program <literal>less(1)</literal>
+ though not nearly as featureful.
+ </para>
<table id="tab-key-pager">
<title>Most common pager keys</title>
</tbody>
</tgroup>
</table>
- <para>In addition to key bindings in
- <xref linkend="tab-key-pager" />, many of the functions from the index
- menu are also available in the pager, such as
- <literal><delete-message></literal>or
- <literal><copy-message></literal>(this is one advantage over
- using an external pager to view messages).</para>
- <para>Also, the internal pager supports a couple other advanced
- features. For one, it will accept and translate the
- <quote>standard</quote> nroff sequences for bold and underline. These
- sequences are a series of either the letter, backspace (
- <quote>^H</quote>), the letter again for bold or the letter, backspace,
- <quote>_</quote> for denoting underline. NeoMutt will attempt to display
- these in bold and underline respectively if your terminal supports
- them. If not, you can use the bold and underline
- <link linkend="color">color</link> objects to specify a
- <command>color</command> or mono attribute for them.</para>
- <para>Additionally, the internal pager supports the ANSI escape
- sequences for character attributes. NeoMutt translates them into the
- correct color and character settings. The sequences NeoMutt supports
- are:</para>
+ <para>
+ In addition to key bindings in <xref linkend="tab-key-pager" />, many
+ of the functions from the index menu are also available in the pager,
+ such as <literal><delete-message></literal> or
+ <literal><copy-message></literal> (this is one advantage over
+ using an external pager to view messages).
+ </para>
+ <para>
+ Also, the internal pager supports a couple other advanced features.
+ For one, it will accept and translate the <quote>standard</quote>
+ nroff sequences for bold and underline. These sequences are a series
+ of either the letter, backspace (<quote>^H</quote>), the letter
+ again for bold or the letter, backspace, <quote>_</quote> for
+ denoting underline. NeoMutt will attempt to display these in bold and
+ underline respectively if your terminal supports them. If not, you
+ can use the bold and underline <link linkend="color">color</link>
+ objects to specify a <command>color</command> or mono attribute for
+ them.
+ </para>
+ <para>
+ Additionally, the internal pager supports the ANSI escape sequences
+ for character attributes. NeoMutt translates them into the correct
+ color and character settings. The sequences NeoMutt supports are:
+ </para>
<screen>
\e[
<emphasis>Ps</emphasis>;m
</screen>
- <para>where
- <emphasis>Ps</emphasis> can be one of the codes shown in
- <xref linkend="tab-ansi-esc" />.</para>
+ <para>
+ where <emphasis>Ps</emphasis> can be one of the codes shown in
+ <xref linkend="tab-ansi-esc" />.
+ </para>
<table id="tab-ansi-esc">
<title>ANSI escape sequences</title>
</tbody>
</tgroup>
</table>
- <para>NeoMutt uses these attributes for handling
- <literal>text/enriched</literal> messages, and they can also be used by
- an external
- <link linkend="auto-view">autoview</link> script for highlighting
- purposes.</para>
+ <para>
+ NeoMutt uses these attributes for handling
+ <literal>text/enriched</literal> messages, and they can also be used
+ by an external <link linkend="auto-view">autoview</link> script for
+ highlighting purposes.
+ </para>
<note>
- <para>If you change the colors for your display, for example by
- changing the color associated with color2 for your xterm, then that
- color will be used instead of green.</para>
+ <para>
+ If you change the colors for your display, for example by changing
+ the color associated with color2 for your xterm, then that color
+ will be used instead of green.
+ </para>
</note>
<note>
- <para>Note that the search commands in the pager take regular
- expressions, which are not quite the same as the more complex
- <link linkend="patterns">patterns</link> used by the search command in
- the index. This is because patterns are used to select messages by
- criteria whereas the pager already displays a selected
- message.</para>
+ <para>
+ Note that the search commands in the pager take regular
+ expressions, which are not quite the same as the more complex
+ <link linkend="patterns">patterns</link> used by the search command
+ in the index. This is because patterns are used to select messages
+ by criteria whereas the pager already displays a selected message.
+ </para>
</note>
</sect2>
<sect2 id="threads">
<title>Threaded Mode</title>
- <para>So-called
- <quote>threads</quote> provide a hierarchy of messages where replies are
- linked to their parent message(s). This organizational form is
- extremely useful in mailing lists where different parts of the
- discussion diverge. NeoMutt displays threads as a tree structure.</para>
- <para>In NeoMutt, when a mailbox is
- <link linkend="sort">sorted</link> by
- <emphasis>threads</emphasis>, there are a few additional functions
- available in the
- <emphasis>index</emphasis> and
- <emphasis>pager</emphasis> modes as shown in
- <xref linkend="tab-key-threads" />.</para>
+ <para>
+ So-called <quote>threads</quote> provide a hierarchy of messages
+ where replies are linked to their parent message(s). This
+ organizational form is extremely useful in mailing lists where
+ different parts of the discussion diverge. NeoMutt displays threads
+ as a tree structure.
+ </para>
+ <para>
+ In NeoMutt, when a mailbox is <link linkend="sort">sorted</link> by
+ <emphasis>threads</emphasis>, there are a few additional functions
+ available in the <emphasis>index</emphasis> and
+ <emphasis>pager</emphasis> modes as shown in
+ <xref linkend="tab-key-threads" />.
+ </para>
<table id="tab-key-threads">
<title>Most common thread mode keys</title>
</tbody>
</tgroup>
</table>
- <para>Collapsing a thread displays only the first message in the thread
- and hides the others. This is useful when threads contain so many
- messages that you can only see a handful of threads on the screen. See
- %M in
- <link linkend="index-format">$index_format</link>. For example, you
- could use
- <quote>%?M?(#%03M)&(%4l)?</quote>in
- <link linkend="index-format">$index_format</link> to optionally display
- the number of hidden messages if the thread is collapsed. The
- <literal>
- %?<char>?<if-part>&<else-part>?</literal>syntax
- is explained in detail in
- <link linkend="formatstrings-conditionals">format string
- conditionals</link>.</para>
- <para>Technically, every reply should contain a list of its parent
- messages in the thread tree, but not all do. In these cases, NeoMutt
- groups them by subject which can be controlled using the
- <link linkend="strict-threads">$strict_threads</link> variable.</para>
+ <para>
+ Collapsing a thread displays only the first message in the thread and
+ hides the others. This is useful when threads contain so many
+ messages that you can only see a handful of threads on the screen.
+ See %M in <link linkend="index-format">$index_format</link>. For
+ example, you could use <quote>%?M?(#%03M)&(%4l)?</quote> in
+ <link linkend="index-format">$index_format</link> to optionally display
+ the number of hidden messages if the thread is collapsed. The
+ <literal>%?<char>?<if-part>&<else-part>?</literal>
+ syntax is explained in detail in
+ <link linkend="formatstrings-conditionals">format string conditionals</link>.
+ </para>
+ <para>
+ Technically, every reply should contain a list of its parent messages
+ in the thread tree, but not all do. In these cases, NeoMutt groups
+ them by subject which can be controlled using the
+ <link linkend="strict-threads">$strict_threads</link> variable.
+ </para>
</sect2>
<sect2 id="reading-misc">
<title>Miscellaneous Functions</title>
- <para>In addition, the
- <emphasis>index</emphasis> and
- <emphasis>pager</emphasis> menus have these interesting
- functions:</para>
+ <para>
+ In addition, the <emphasis>index</emphasis> and
+ <emphasis>pager</emphasis> menus have these interesting functions:
+ </para>
<variablelist>
<varlistentry>
<term>
<literal><create-alias></literal>
<anchor id="create-alias" />(default: a)</term>
<listitem>
- <para>Creates a new alias based upon the current message (or
- prompts for a new one). Once editing is complete, an
- <link linkend="alias">
- <command>alias</command>
- </link>command is added to the file specified by the
- <link linkend="alias-file">$alias_file</link> variable for future
- use</para>
+ <para>
+ Creates a new alias based upon the current message (or prompts
+ for a new one). Once editing is complete, an
+ <link linkend="alias"><command>alias</command></link> command
+ is added to the file specified by the
+ <link linkend="alias-file">$alias_file</link> variable for
+ future use
+ </para>
<note>
- <para>NeoMutt does not read the
- <link linkend="alias-file">$alias_file</link> upon startup so
- you must explicitly
- <link linkend="source">
- <command>source</command>
- </link>the file.</para>
+ <para>
+ NeoMutt does not read the
+ <link linkend="alias-file">$alias_file</link> upon startup so
+ you must explicitly
+ <link linkend="source"><command>source</command></link> the
+ file.
+ </para>
</note>
</listitem>
</varlistentry>
<literal><check-traditional-pgp></literal>
<anchor id="check-traditional-pgp" />(default: Esc P)</term>
<listitem>
- <para>This function will search the current message for content
- signed or encrypted with PGP the
- <quote>traditional</quote> way, that is, without proper MIME
- tagging. Technically, this function will temporarily change the
- MIME content types of the body parts containing PGP data; this is
- similar to the
- <link linkend="edit-type">
- <literal><edit-type></literal>
- </link>function's effect.</para>
+ <para>
+ This function will search the current message for content
+ signed or encrypted with PGP the <quote>traditional</quote>
+ way, that is, without proper MIME tagging. Technically, this
+ function will temporarily change the MIME content types of the
+ body parts containing PGP data; this is similar to the
+ <link linkend="edit-type"><literal><edit-type></literal></link>
+ function's effect.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><edit-raw-message></literal>
<anchor id="edit-raw-message" /></term>
<listitem>
- <para>This command (available in the index and pager) allows you
- to edit the raw current message as it's present in the mail
- folder. After you have finished editing, the changed message will
- be appended to the current folder, and the original message will
- be marked for deletion; if the message is unchanged it won't be
- replaced.</para>
<para>
- <link linkend="edit"><literal><edit></literal></link> is a
- synonym of this for backwards compatibility.</para>
- <para>See also
- <link linkend="edit-or-view-raw-message">
- <literal><edit-or-view-raw-message></literal>
- </link>,
- <link linkend="view-raw-message">
- <literal><view-raw-message></literal>
- </link>.</para>
+ This command (available in the index and pager) allows you to
+ edit the raw current message as it's present in the mail
+ folder. After you have finished editing, the changed message
+ will be appended to the current folder, and the original
+ message will be marked for deletion; if the message is
+ unchanged it won't be replaced.
+ </para>
+ <para>
+ <link linkend="edit"><literal><edit></literal></link> is
+ a synonym of this for backwards compatibility.
+ </para>
+ <para>
+ See also
+ <link linkend="edit-or-view-raw-message"><literal><edit-or-view-raw-message></literal></link>,
+ <link linkend="view-raw-message"><literal><view-raw-message></literal></link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><edit></literal>
<anchor id="edit" /></term>
<listitem>
- <para>Alias of
- <link linkend="edit-raw-message">
- <literal><edit-raw-message></literal>
- </link> for backwards compatibility.</para>
+ <para>
+ Alias of
+ <link linkend="edit-raw-message"><literal><edit-raw-message></literal></link>
+ for backwards compatibility.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><edit-or-view-raw-message></literal>
<anchor id="edit-or-view-raw-message" />(default: e)</term>
<listitem>
- <para>This command (available in the index and pager) is the same
- as
- <link linkend="edit-raw-message">
- <literal><edit-raw-message></literal>
- </link>
- if the mailbox is writable, otherwise it the same as
- <link linkend="view-raw-message">
- <literal><view-raw-message></literal>
- </link>.</para>
+ <para>
+ This command (available in the index and pager) is the same as
+ <link linkend="edit-raw-message"><literal><edit-raw-message></literal></link>
+ if the mailbox is writable, otherwise it the same as
+ <link linkend="view-raw-message"><literal><view-raw-message></literal></link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<anchor id="edit-type" />(default: ^E on the attachment menu, and
in the pager and index menus; ^T on the compose menu)</term>
<listitem>
- <para>This command is used to temporarily edit an attachment's
- content type to fix, for instance, bogus character set
- parameters. When invoked from the index or from the pager, you'll
- have the opportunity to edit the top-level attachment's content
- type. On the
- <link linkend="attach-menu">attachment menu</link>, you can
- change any attachment's content type. These changes are not
- persistent, and get lost upon changing folders.</para>
- <para>Note that this command is also available on the
- <link linkend="compose-menu">compose menu</link>. There, it's
- used to fine-tune the properties of attachments you are going to
- send.</para>
+ <para>
+ This command is used to temporarily edit an attachment's
+ content type to fix, for instance, bogus character set
+ parameters. When invoked from the index or from the pager,
+ you'll have the opportunity to edit the top-level attachment's
+ content type. On the
+ <link linkend="attach-menu">attachment menu</link>, you can
+ change any attachment's content type. These changes are not
+ persistent, and get lost upon changing folders.
+ </para>
+ <para>
+ Note that this command is also available on the
+ <link linkend="compose-menu">compose menu</link>. There, it's
+ used to fine-tune the properties of attachments you are going
+ to send.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<anchor id="enter-command" />(default:
<quote>:</quote>)</term>
<listitem>
- <para>This command is used to execute any command you would
- normally put in a configuration file. A common use is to check
- the settings of variables, or in conjunction with
- <link linkend="macro">macros</link> to change settings on the
- fly.</para>
- </listitem>
+ <para>
+ This command is used to execute any command you would normally
+ put in a configuration file. A common use is to check the
+ settings of variables, or in conjunction with
+ <link linkend="macro">macros</link> to change settings on the
+ fly.
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
<term>
<literal><extract-keys></literal>
<anchor id="extract-keys" />(default: ^K)</term>
<listitem>
- <para>This command extracts PGP public keys from the current or
- tagged message(s) and adds them to your PGP public key
- ring.</para>
+ <para>
+ This command extracts PGP public keys from the current or
+ tagged message(s) and adds them to your PGP public key ring.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><forget-passphrase></literal>
<anchor id="forget-passphrase" />(default: ^F)</term>
<listitem>
- <para>This command wipes the passphrase(s) from memory. It is
- useful, if you misspelled the passphrase.</para>
+ <para>
+ This command wipes the passphrase(s) from memory. It is useful,
+ if you misspelled the passphrase.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><list-reply></literal>
<anchor id="list-reply" />(default: L)</term>
<listitem>
- <para>Reply to the current or tagged message(s) by extracting any
- addresses which match the regular expressions given by the
- <link linkend="lists">
- <command>lists</command> or
- <command>subscribe</command></link>commands, but also honor any
- <literal>Mail-Followup-To</literal> header(s) if the
- <link linkend="honor-followup-to">
- $honor_followup_to</link> configuration variable is set. In
- addition, the
- <literal>List-Post</literal> header field is examined for
- <literal>mailto:</literal>URLs specifying a mailing list address.
- Using this when replying to messages posted to mailing lists
- helps avoid duplicate copies being sent to the author of the
- message you are replying to.</para>
+ <para>
+ Reply to the current or tagged message(s) by extracting any
+ addresses which match the regular expressions given by the
+ <link linkend="lists"><command>lists</command></link> or
+ <link linkend="lists"><command>subscribe</command></link>
+ commands, but also honor any
+ <literal>Mail-Followup-To</literal> header(s) if the
+ <link linkend="honor-followup-to">$honor_followup_to</link>
+ configuration variable is set. In addition, the
+ <literal>List-Post</literal> header field is examined for
+ <literal>mailto:</literal> URLs specifying a mailing list
+ address. Using this when replying to messages posted to
+ mailing lists helps avoid duplicate copies being sent to the
+ author of the message you are replying to.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><pipe-message></literal>
<anchor id="pipe-message" />(default: |)</term>
<listitem>
- <para>Asks for an external Unix command and pipes the current or
- tagged message(s) to it. The variables
- <link linkend="pipe-decode">$pipe_decode</link>,
- <link linkend="pipe-split">$pipe_split</link>,
- <link linkend="pipe-sep">$pipe_sep</link> and
- <link linkend="wait-key">$wait_key</link> control the exact
- behavior of this function.</para>
+ <para>
+ Asks for an external Unix command and pipes the current or
+ tagged message(s) to it. The variables
+ <link linkend="pipe-decode">$pipe_decode</link>,
+ <link linkend="pipe-split">$pipe_split</link>,
+ <link linkend="pipe-sep">$pipe_sep</link> and
+ <link linkend="wait-key">$wait_key</link> control the exact
+ behavior of this function.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><resend-message></literal>
<anchor id="resend-message" />(default: Esc e)</term>
<listitem>
- <para>NeoMutt takes the current message as a template for a new
- message. This function is best described as "recall from
- arbitrary folders". It can conveniently be used to forward MIME
- messages while preserving the original mail structure. Note that
- the amount of headers included here depends on the value of the
- <link linkend="weed">$weed</link> variable.</para>
- <para>This function is also available from the attachment menu.
- You can use this to easily resend a message which was included
- with a bounce message as a
- <literal>message/rfc822</literal> body part.</para>
+ <para>
+ NeoMutt takes the current message as a template for a new
+ message. This function is best described as "recall from
+ arbitrary folders". It can conveniently be used to forward MIME
+ messages while preserving the original mail structure. Note
+ that the amount of headers included here depends on the value
+ of the <link linkend="weed">$weed</link> variable.
+ </para>
+ <para>
+ This function is also available from the attachment menu. You
+ can use this to easily resend a message which was included with
+ a bounce message as a <literal>message/rfc822</literal> body
+ part.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><shell-escape></literal>
<anchor id="shell-escape" />(default: !)</term>
<listitem>
- <para>Asks for an external Unix command and executes it. The
- <link linkend="wait-key">$wait_key</link> can be used to control
- whether NeoMutt will wait for a key to be pressed when the command
- returns (presumably to let the user read the output of the
- command), based on the return status of the named command. If no
- command is given, an interactive shell is executed.</para>
+ <para>
+ Asks for an external Unix command and executes it. The
+ <link linkend="wait-key">$wait_key</link> can be used to
+ control whether NeoMutt will wait for a key to be pressed when
+ the command returns (presumably to let the user read the output
+ of the command), based on the return status of the named
+ command. If no command is given, an interactive shell is
+ executed.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><toggle-quoted></literal>
<anchor id="toggle-quoted" />(default: T)</term>
<listitem>
- <para>The pager uses the
- <link linkend="quote-regex">$quote_regex</link> variable to
- detect quoted text when displaying the body of the message. This
- function toggles the display of the quoted material in the
- message. It is particularly useful when being interested in just
- the response and there is a large amount of quoted text in the
- way.</para>
+ <para>
+ The pager uses the
+ <link linkend="quote-regex">$quote_regex</link> variable to
+ detect quoted text when displaying the body of the message.
+ This function toggles the display of the quoted material in the
+ message. It is particularly useful when being interested in
+ just the response and there is a large amount of quoted text in
+ the way.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><view-raw-message></literal>
<anchor id="view-raw-message" /></term>
<listitem>
- <para>This command (available in the index and pager) opens the
- raw message read-only in an editor. This command does not allow
- editing the message, use
- <link linkend="edit-raw-message">
- <literal><edit-raw-message></literal>
- </link> for this.</para>
- <para>See also
- <link linkend="edit-raw-message">
- <literal><edit-raw-message></literal>
- </link>,
- <link linkend="edit-or-view-raw-message">
- <literal><edit-or-view-raw-message></literal>
- </link>.</para>
+ <para>
+ This command (available in the index and pager) opens the raw
+ message read-only in an editor. This command does not allow
+ editing the message, use
+ <link linkend="edit-raw-message"><literal><edit-raw-message></literal></link>
+ for this.
+ </para>
+ <para>
+ See also
+ <link linkend="edit-raw-message"><literal><edit-raw-message></literal></link>,
+ <link linkend="edit-or-view-raw-message"><literal><edit-or-view-raw-message></literal></link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<literal><skip-quoted></literal>
<anchor id="skip-quoted" />(default: S)</term>
<listitem>
- <para>This function will go to the next line of non-quoted text
- which comes after a line of quoted text in the internal
- pager.</para>
+ <para>
+ This function will go to the next line of non-quoted text which
+ comes after a line of quoted text in the internal pager.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<sect2 id="sending-intro">
<title>Introduction</title>
- <para>The bindings shown in
- <xref linkend="tab-key-send" />are available in the
- <emphasis>index</emphasis> and
- <emphasis>pager</emphasis> to start a new message.</para>
+ <para>
+ The bindings shown in
+ <xref linkend="tab-key-send" /> are available in the
+ <emphasis>index</emphasis> and <emphasis>pager</emphasis> to start
+ a new message.
+ </para>
<table id="tab-key-send">
<title>Most common mail sending keys</title>
</tgroup>
</table>
<para>
- <emphasis>Bouncing</emphasis> a message sends the message as-is to the
- recipient you specify.
- <emphasis>Forwarding</emphasis> a message allows you to add comments or
- modify the message you are forwarding. These items are discussed in
- greater detail in the next section
- <quote>
- <link linkend="forwarding-mail">Forwarding and Bouncing
- Mail</link>.</quote></para>
- <para>NeoMutt will then enter the
- <emphasis>compose</emphasis> menu and prompt you for the recipients to
- place on the
- <quote>To:</quote>header field when you hit
- <literal>m</literal> to start a new message. Next, it will ask you for
- the
- <quote>Subject:</quote>field for the message, providing a default if
- you are replying to or forwarding a message. You again have the chance
- to adjust recipients, subject, and security settings right before
- actually sending the message. See also
- <link linkend="askcc">$askcc</link>,
- <link linkend="askbcc">$askbcc</link>,
- <link linkend="autoedit">$autoedit</link>,
- <link linkend="bounce">$bounce</link>,
- <link linkend="fast-reply">$fast_reply</link>, and
- <link linkend="include">$include</link> for changing how and if NeoMutt
- asks these questions.</para>
- <para>When replying, NeoMutt fills these fields with proper values
- depending on the reply type. The types of replying supported
- are:</para>
+ <emphasis>Bouncing</emphasis> a message sends the message as-is to
+ the recipient you specify. <emphasis>Forwarding</emphasis> a message
+ allows you to add comments or modify the message you are forwarding.
+ These items are discussed in greater detail in the next section
+ <quote><link linkend="forwarding-mail">Forwarding and Bouncing Mail</link></quote>.
+ </para>
+ <para>
+ NeoMutt will then enter the <emphasis>compose</emphasis> menu and
+ prompt you for the recipients to place on the <quote>To:</quote>
+ header field when you hit <literal>m</literal> to start a new
+ message. Next, it will ask you for the <quote>Subject:</quote> field
+ for the message, providing a default if you are replying to or
+ forwarding a message. You again have the chance to adjust recipients,
+ subject, and security settings right before actually sending the
+ message. See also
+ <link linkend="askcc">$askcc</link>,
+ <link linkend="askbcc">$askbcc</link>,
+ <link linkend="autoedit">$autoedit</link>,
+ <link linkend="bounce">$bounce</link>,
+ <link linkend="fast-reply">$fast_reply</link>, and
+ <link linkend="include">$include</link> for changing how and if
+ NeoMutt asks these questions.
+ </para>
+ <para>
+ When replying, NeoMutt fills these fields with proper values
+ depending on the reply type. The types of replying supported are:
+ </para>
<variablelist>
<varlistentry>
<term>Simple reply</term>
<listitem>
- <para>Reply to the author directly.</para>
+ <para>
+ Reply to the author directly.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Group reply</term>
<listitem>
- <para>Reply to the author as well to all recipients except you;
- this consults
- <link linkend="alternates">
- <command>alternates</command>
- </link>.</para>
+ <para>
+ Reply to the author as well to all recipients except you;
+ this consults
+ <link linkend="alternates"><command>alternates</command></link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>List reply</term>
<listitem>
- <para>Reply to all mailing list addresses found, either specified
- via configuration or auto-detected. See
- <xref linkend="lists" />for details.</para>
+ <para>
+ Reply to all mailing list addresses found, either specified via
+ configuration or auto-detected. See <xref linkend="lists" />
+ for details.
+ </para>
</listitem>
</varlistentry>
</variablelist>
- <para>After getting recipients for new messages, forwards or replies,
- NeoMutt will then automatically start your
- <link linkend="editor">$editor</link> on the message body. If the
- <link linkend="edit-headers">$edit_headers</link> variable is set, the
- headers will be at the top of the message in your editor; the message
- body should start on a new line after the existing blank line at the
- end of headers. Any messages you are replying to will be added in sort
- order to the message, with appropriate
- <link linkend="attribution">$attribution</link>,
- <link linkend="indent-string">$indent_string</link> and
- <link linkend="post-indent-string">$post_indent_string</link>. When
- forwarding a message, if the
- <link linkend="mime-forward">$mime_forward</link> variable is unset, a
- copy of the forwarded message will be included. If you have specified a
- <link linkend="signature">$signature</link>, it will be appended to the
- message.</para>
- <para>Once you have finished editing the body of your mail message, you
- are returned to the
- <emphasis>compose</emphasis> menu providing the functions shown in
- <xref linkend="tab-func-compose" />to modify, send or postpone the
- message.</para>
+ <para>
+ After getting recipients for new messages, forwards or replies,
+ NeoMutt will then automatically start your
+ <link linkend="editor">$editor</link> on the message body. If the
+ <link linkend="edit-headers">$edit_headers</link> variable is set,
+ the headers will be at the top of the message in your editor; the
+ message body should start on a new line after the existing blank line
+ at the end of headers. Any messages you are replying to will be added
+ in sort order to the message, with appropriate
+ <link linkend="attribution">$attribution</link>,
+ <link linkend="indent-string">$indent_string</link> and
+ <link linkend="post-indent-string">$post_indent_string</link>. When
+ forwarding a message, if the
+ <link linkend="mime-forward">$mime_forward</link> variable is unset,
+ a copy of the forwarded message will be included. If you have
+ specified a <link linkend="signature">$signature</link>, it will be
+ appended to the message.
+ </para>
+ <para>
+ Once you have finished editing the body of your mail message, you are
+ returned to the <emphasis>compose</emphasis> menu providing the
+ functions shown in <xref linkend="tab-func-compose" /> to modify,
+ send or postpone the message.
+ </para>
<table id="tab-func-compose">
<title>Most common compose menu keys</title>
</tbody>
</tgroup>
</table>
- <para>The compose menu is also used to edit the attachments for a
- message which can be either files or other messages. The
- <literal><attach-message></literal>function to will prompt you
- for a folder to attach messages from. You can now tag messages in that
- folder and they will be attached to the message you are sending.</para>
+ <para>
+ The compose menu is also used to edit the attachments for a message
+ which can be either files or other messages. The
+ <literal><attach-message></literal> function to will prompt you
+ for a folder to attach messages from. You can now tag messages in
+ that folder and they will be attached to the message you are sending.
+ </para>
<note>
- <para>Note that certain operations like composing a new mail,
- replying, forwarding, etc. are not permitted when you are in that
- folder. The %r in
- <link linkend="status-format">$status_format</link> will change to a
- <quote>A</quote> to indicate that you are in attach-message
- mode.</para>
+ <para>
+ Note that certain operations like composing a new mail, replying,
+ forwarding, etc. are not permitted when you are in that folder. The
+ %r in <link linkend="status-format">$status_format</link> will
+ change to a <quote>A</quote> to indicate that you are in
+ attach-message mode.
+ </para>
</note>
</sect2>
<sect2 id="edit-header">
<title>Editing the Message Header</title>
- <para>When editing the header because of
- <link linkend="edit-headers">$edit_headers</link> being set, there are a
- several pseudo headers available which will not be included in sent
- messages but trigger special NeoMutt behavior.</para>
+ <para>
+ When editing the header because of
+ <link linkend="edit-headers">$edit_headers</link> being set, there are
+ a several pseudo headers available which will not be included in sent
+ messages but trigger special NeoMutt behavior.
+ </para>
<sect3 id="fcc-header">
<title>Fcc: Pseudo Header</title>
- <para>If you specify</para>
<para>
- <literal>Fcc:</literal>
- <emphasis>filename</emphasis>
+ If you specify
+ </para>
+ <para>
+ <literal>Fcc:</literal> <emphasis>filename</emphasis>
+ </para>
+ <para>
+ as a header, NeoMutt will pick up <emphasis>filename</emphasis>
+ just as if you had used the <literal><edit-fcc></literal>
+ function in the <emphasis>compose</emphasis> menu. It can later be
+ changed from the compose menu.
</para>
- <para>as a header, NeoMutt will pick up
- <emphasis>filename</emphasis> just as if you had used the
- <literal><edit-fcc></literal>function in the
- <emphasis>compose</emphasis> menu. It can later be changed from the
- compose menu.</para>
</sect3>
<sect3 id="attach-header">
<title>Attach: Pseudo Header</title>
- <para>You can also attach files to your message by specifying</para>
<para>
- <literal>Attach:</literal>
- <emphasis>filename</emphasis>[
- <emphasis>description</emphasis>]</para>
- <para>where
- <emphasis>filename</emphasis> is the file to attach and
- <emphasis>description</emphasis> is an optional string to use as the
- description of the attached file. Spaces in filenames have to be
- escaped using backslash (
- <quote>\</quote>). The file can be removed as well as more added from
- the compose menu.</para>
+ You can also attach files to your message by specifying
+ </para>
+ <para>
+ <literal>Attach:</literal>
+ <emphasis>filename</emphasis> [<emphasis>description</emphasis>]
+ </para>
+ <para>
+ where <emphasis>filename</emphasis> is the file to attach and
+ <emphasis>description</emphasis> is an optional string to use as
+ the description of the attached file. Spaces in filenames have to
+ be escaped using backslash (<quote>\</quote>). The file can be
+ removed as well as more added from the compose menu.
+ </para>
</sect3>
<sect3 id="pgp-header">
<title>Pgp: Pseudo Header</title>
- <para>If you want to use PGP, you can specify</para>
<para>
- <literal>Pgp:</literal>[
- <literal>E</literal>|
- <literal>S</literal>|
- <literal>S</literal>
- <emphasis><id></emphasis>]</para>
+ If you want to use PGP, you can specify
+ </para>
+ <para>
+ <literal>Pgp:</literal> [
+ <literal>E</literal> |
+ <literal>S</literal> |
+ <literal>S</literal>
+ <emphasis><id></emphasis> ]
+ </para>
<para>
- <quote>E</quote> selects encryption,
- <quote>S</quote> selects signing and
- <quote>S<id></quote>selects signing with the given key, setting
- <link linkend="pgp-sign-as">$pgp_sign_as</link> permanently. The
- selection can later be changed in the compose menu.</para>
+ <quote>E</quote> selects encryption, <quote>S</quote> selects
+ signing and <quote>S<id></quote> selects signing with the
+ given key, setting <link linkend="pgp-sign-as">$pgp_sign_as</link>
+ permanently. The selection can later be changed in the compose
+ menu.
+ </para>
</sect3>
<sect3 id="in-reply-to-header">
<title>In-Reply-To: Header</title>
- <para>When replying to messages, the
- <emphasis>In-Reply-To:</emphasis>header contains the Message-Id of
- the message(s) you reply to. If you remove or modify its value, NeoMutt
- will not generate a
- <emphasis>References:</emphasis>field, which allows you to create a
- new message thread, for example to create a new message to a mailing
- list without having to enter the mailing list's address.</para>
- <para>If you intend to start a new thread by replying, please make
- really sure you remove the
- <emphasis>In-Reply-To:</emphasis>header in your editor. Otherwise,
- though you'll produce a technically valid reply, some netiquette
- guardians will be annoyed by this so-called
- <quote>thread hijacking</quote>.</para>
+ <para>
+ When replying to messages, the <emphasis>In-Reply-To:</emphasis>
+ header contains the Message-Id of the message(s) you reply to. If
+ you remove or modify its value, NeoMutt will not generate
+ a <emphasis>References:</emphasis> field, which allows you to
+ create a new message thread, for example to create a new message to
+ a mailing list without having to enter the mailing list's address.
+ </para>
+ <para>
+ If you intend to start a new thread by replying, please make really
+ sure you remove the <emphasis>In-Reply-To:</emphasis> header in
+ your editor. Otherwise, though you'll produce a technically valid
+ reply, some netiquette guardians will be annoyed by this so-called
+ <quote>thread hijacking</quote>.
+ </para>
</sect3>
</sect2>
<sect2 id="sending-crypto">
<title>Sending Cryptographically Signed/Encrypted Messages</title>
- <para>If you have told NeoMutt to PGP or S/MIME encrypt a message, it will
- guide you through a key selection process when you try to send the
- message. NeoMutt will not ask you any questions about keys which have a
- certified user ID matching one of the message recipients' mail
- addresses. However, there may be situations in which there are several
- keys, weakly certified user ID fields, or where no matching keys can be
- found.</para>
- <para>In these cases, you are dropped into a menu with a list of keys
- from which you can select one. When you quit this menu, or NeoMutt can't
- find any matching keys, you are prompted for a user ID. You can, as
- usually, abort this prompt using
- <literal>^G</literal>. When you do so, NeoMutt will return to the compose
- screen.</para>
- <para>Once you have successfully finished the key selection, the
- message will be encrypted using the selected public keys when sent
- out.</para>
- <para>
- To ensure you can view encrypted messages you have sent, you
- may wish to set <link linkend="pgp-self-encrypt">$pgp_self_encrypt</link>
- and <link linkend="pgp-default-key">$pgp_default_key</link> for PGP, or
- <link linkend="smime-self-encrypt">$smime_self_encrypt</link>
- and <link linkend="smime-default-key">$smime_default_key</link> for S/MIME.
- </para>
- <para>Most fields of the entries in the key selection menu (see also
- <link linkend="pgp-entry-format">$pgp_entry_format</link>) have obvious
- meanings. But some explanations on the capabilities, flags, and
- validity fields are in order.</para>
- <para>The flags sequence (
- <quote>%f</quote>) will expand to one of the flags in
- <xref linkend="tab-pgp-menuflags" />.</para>
+ <para>
+ If you have told NeoMutt to PGP or S/MIME encrypt a message, it will
+ guide you through a key selection process when you try to send the
+ message. NeoMutt will not ask you any questions about keys which have
+ a certified user ID matching one of the message recipients' mail
+ addresses. However, there may be situations in which there are
+ several keys, weakly certified user ID fields, or where no matching
+ keys can be found.
+ </para>
+ <para>
+ In these cases, you are dropped into a menu with a list of keys from
+ which you can select one. When you quit this menu, or NeoMutt can't
+ find any matching keys, you are prompted for a user ID. You can, as
+ usually, abort this prompt using <literal>^G</literal>. When you do
+ so, NeoMutt will return to the compose screen.
+ </para>
+ <para>
+ Once you have successfully finished the key selection, the message
+ will be encrypted using the selected public keys when sent out.
+ </para>
+ <para>
+ To ensure you can view encrypted messages you have sent, you may wish
+ to set <link linkend="pgp-self-encrypt">$pgp_self_encrypt</link> and
+ <link linkend="pgp-default-key">$pgp_default_key</link> for PGP, or
+ <link linkend="smime-self-encrypt">$smime_self_encrypt</link> and
+ <link linkend="smime-default-key">$smime_default_key</link> for
+ S/MIME.
+ </para>
+ <para>
+ Most fields of the entries in the key selection menu (see also
+ <link linkend="pgp-entry-format">$pgp_entry_format</link>) have
+ obvious meanings. But some explanations on the capabilities, flags,
+ and validity fields are in order.
+ </para>
+ <para>
+ The flags sequence (<quote>%f</quote>) will expand to one of the
+ flags in <xref linkend="tab-pgp-menuflags" />.
+ </para>
<table id="tab-pgp-menuflags">
<title>PGP key menu flags</title>
</tbody>
</tgroup>
</table>
- <para>The capabilities field (
- <quote>%c</quote>) expands to a two-character sequence representing a
- key's capabilities. The first character gives the key's encryption
- capabilities: A minus sign (
- <quote>-</quote>) means that the key cannot be used for encryption. A
- dot (
- <quote>.</quote>) means that it's marked as a signature key in one of
- the user IDs, but may also be used for encryption. The letter
- <quote>e</quote> indicates that this key can be used for
- encryption.</para>
- <para>The second character indicates the key's signing capabilities.
- Once again, a
- <quote>-</quote>implies
- <quote>not for signing</quote>,
- <quote>.</quote>implies that the key is marked as an encryption key in
- one of the user-ids, and
- <quote>s</quote> denotes a key which can be used for signing.</para>
- <para>Finally, the validity field (
- <quote>%t</quote>) indicates how well-certified a user-id is. A
- question mark (
- <quote>?</quote>) indicates undefined validity, a minus character (
- <quote>-</quote>) marks an untrusted association, a space character
- means a partially trusted association, and a plus character (
- <quote>+</quote>) indicates complete validity.</para>
+ <para>
+ The capabilities field (<quote>%c</quote>) expands to
+ a two-character sequence representing a key's capabilities. The first
+ character gives the key's encryption capabilities: A minus sign
+ (<quote>-</quote>) means that the key cannot be used for encryption.
+ A dot (<quote>.</quote>) means that it's marked as a signature key
+ in one of the user IDs, but may also be used for encryption. The
+ letter <quote>e</quote> indicates that this key can be used for
+ encryption.
+ </para>
+ <para>
+ The second character indicates the key's signing capabilities. Once
+ again, a <quote>-</quote> implies <quote>not for signing</quote>,
+ <quote>.</quote> implies that the key is marked as an encryption key
+ in one of the user-ids, and <quote>s</quote> denotes a key which can
+ be used for signing.
+ </para>
+ <para>
+ Finally, the validity field (<quote>%t</quote>) indicates how
+ well-certified a user-id is. A question mark (<quote>?</quote>)
+ indicates undefined validity, a minus character (<quote>-</quote>)
+ marks an untrusted association, a space character means a partially
+ trusted association, and a plus character (<quote>+</quote>)
+ indicates complete validity.
+ </para>
</sect2>
<sect2 id="ff">
<sect3 id="ff-concept">
<title>Concept</title>
<para>
- <literal>format=flowed</literal>-style messages (or
- <literal>f=f</literal> for short) are
- <literal>text/plain</literal> messages that consist of paragraphs
- which a receiver's mail client may reformat to its own needs which
- mostly means to customize line lengths regardless of what the sender
- sent. Technically this is achieved by letting lines of a
- <quote>flowable</quote> paragraph end in spaces except for the last
- line.</para>
- <para>While for text-mode clients like NeoMutt it's the best way to
- assume only a standard 80x25 character cell terminal, it may be
- desired to let the receiver decide completely how to view a
- message.</para>
+ <literal>format=flowed</literal>-style messages (or
+ <literal>f=f</literal> for short) are <literal>text/plain</literal>
+ messages that consist of paragraphs which a receiver's mail client
+ may reformat to its own needs which mostly means to customize line
+ lengths regardless of what the sender sent. Technically this is
+ achieved by letting lines of a <quote>flowable</quote> paragraph
+ end in spaces except for the last line.
+ </para>
+ <para>
+ While for text-mode clients like NeoMutt it's the best way to
+ assume only a standard 80x25 character cell terminal, it may be
+ desired to let the receiver decide completely how to view
+ a message.
+ </para>
</sect3>
<sect3 id="ff-support">
<title>NeoMutt Support</title>
- <para>NeoMutt only supports setting the required
- <literal>format=flowed</literal> MIME parameter on outgoing messages
- if the
- <link linkend="text-flowed">$text_flowed</link> variable is set,
- specifically it does not add the trailing spaces.</para>
- <para>After editing the initial message text and before entering the
- compose menu, NeoMutt properly space-stuffs the message.
- <emphasis>Space-stuffing</emphasis> is required by RFC3676 defining
- <literal>format=flowed</literal> and means to prepend a space
- to:</para>
+ <para>
+ NeoMutt only supports setting the required
+ <literal>format=flowed</literal> MIME parameter on outgoing
+ messages if the <link linkend="text-flowed">$text_flowed</link>
+ variable is set, specifically it does not add the trailing spaces.
+ </para>
+ <para>
+ After editing the initial message text and before entering the
+ compose menu, NeoMutt properly space-stuffs the message.
+ <emphasis>Space-stuffing</emphasis> is required by RFC3676 defining
+ <literal>format=flowed</literal> and means to prepend a space to:
+ </para>
<itemizedlist>
<listitem>
- <para>all lines starting with a space</para>
+ <para>
+ all lines starting with a space
+ </para>
</listitem>
<listitem>
- <para>lines starting with the word
- <quote>
- <literal>From</literal>
- </quote>followed by space</para>
+ <para>
+ lines starting with the word
+ <quote><literal>From</literal></quote> followed by space
+ </para>
</listitem>
<listitem>
- <para>all lines starting with
- <quote>
- <literal>></literal>
- </quote>which is not intended to be a quote character</para>
+ <para>
+ all lines starting with
+ <quote><literal>></literal></quote> which is not intended to
+ be a quote character
+ </para>
</listitem>
</itemizedlist>
<note>
- <para>NeoMutt only supports space-stuffing for the first two types of
- lines but not for the third: It is impossible to safely detect
- whether a leading
- <literal>></literal>character starts a quote or not.
- Furthermore, NeoMutt only applies space-stuffing
- <emphasis>once</emphasis> after the initial edit is finished.</para>
+ <para>
+ NeoMutt only supports space-stuffing for the first two types of
+ lines but not for the third: It is impossible to safely detect
+ whether a leading <literal>></literal> character starts
+ a quote or not. Furthermore, NeoMutt only applies space-stuffing
+ <emphasis>once</emphasis> after the initial edit is finished.
+ </para>
</note>
- <para>All leading spaces are to be removed by receiving clients to
- restore the original message prior to further processing.</para>
+ <para>
+ All leading spaces are to be removed by receiving clients to
+ restore the original message prior to further processing.
+ </para>
</sect3>
<sect3 id="ff-editor">
<title>Editor Considerations</title>
- <para>As NeoMutt provides no additional features to compose
- <literal>f=f</literal> messages, it's completely up to the user and
- his editor to produce proper messages. Please consider your editor's
- documentation if you intend to send
- <literal>f=f</literal> messages.</para>
- <para>Please note that when editing messages from the compose menu
- several times before really sending a mail, it's up to the user to
- ensure that the message is properly space-stuffed.</para>
- <para>For example,
- <emphasis>vim</emphasis> provides the
- <literal>w</literal> flag for its
- <literal>formatoptions</literal> setting to assist in creating
- <literal>f=f</literal> messages, see
- <literal>:help fo-table</literal> for details.</para>
+ <para>
+ As NeoMutt provides no additional features to compose
+ <literal>f=f</literal> messages, it's completely up to the user and
+ his editor to produce proper messages. Please consider your
+ editor's documentation if you intend to send <literal>f=f</literal>
+ messages.
+ </para>
+ <para>
+ Please note that when editing messages from the compose menu
+ several times before really sending a mail, it's up to the user to
+ ensure that the message is properly space-stuffed.
+ </para>
+ <para>
+ For example, <emphasis>vim</emphasis> provides the
+ <literal>w</literal> flag for its <literal>formatoptions</literal>
+ setting to assist in creating <literal>f=f</literal> messages, see
+ <literal>:help fo-table</literal> for details.
+ </para>
</sect3>
<sect3 id="ff-pager">
<title>Reformatting</title>
- <para>NeoMutt has some support for reformatting when viewing and
- replying to
- <literal>format=flowed</literal> messages. In order to take advantage
- of these,
- <link linkend="reflow-text">$reflow_text</link> must be set.</para>
+ <para>
+ NeoMutt has some support for reformatting when viewing and replying
+ to <literal>format=flowed</literal> messages. In order to take
+ advantage of these, <link linkend="reflow-text">$reflow_text</link>
+ must be set.
+ </para>
<itemizedlist>
<listitem>
- <para>Paragraphs are automatically reflowed and wrapped at a
- width specified by
- <link linkend="reflow-wrap">$reflow_wrap</link>.</para>
+ <para>
+ Paragraphs are automatically reflowed and wrapped at a width
+ specified by <link linkend="reflow-wrap">$reflow_wrap</link>.
+ </para>
</listitem>
<listitem>
- <para>In its original format, the quoting style of
- <literal>format=flowed</literal> messages can be difficult to
- read, and doesn't intermix well with non-flowed replies. Setting
- <link linkend="reflow-space-quotes">
- $reflow_space_quotes</link> adds spaces after each level of
- quoting when in the pager and replying in a non-flowed format
- (i.e. with
- <link linkend="text-flowed">$text_flowed</link> unset).</para>
+ <para>
+ In its original format, the quoting style of
+ <literal>format=flowed</literal> messages can be difficult to
+ read, and doesn't intermix well with non-flowed replies.
+ Setting
+ <link linkend="reflow-space-quotes">$reflow_space_quotes</link>
+ adds spaces after each level of quoting when in the pager and
+ replying in a non-flowed format (i.e. with
+ <link linkend="text-flowed">$text_flowed</link> unset).
+ </para>
</listitem>
<listitem>
- <para>If
- <link linkend="reflow-space-quotes">$reflow_space_quotes</link> is
- unset, NeoMutt will still add one trailing space after all the
- quotes in the pager (but not when replying).</para>
+ <para>
+ If
+ <link linkend="reflow-space-quotes">$reflow_space_quotes</link>
+ is unset, NeoMutt will still add one trailing space after all
+ the quotes in the pager (but not when replying).
+ </para>
</listitem>
</itemizedlist>
</sect3>
<sect1 id="forwarding-mail">
<title>Forwarding and Bouncing Mail</title>
- <para>Bouncing and forwarding let you send an existing message to
- recipients that you specify. Bouncing a message sends a verbatim copy of
- a message to alternative addresses as if they were the message's original
- recipients specified in the Bcc header. Forwarding a message, on the
- other hand, allows you to modify the message before it is resent (for
- example, by adding your own comments). Bouncing is done using the
- <literal><bounce></literal>function and forwarding using the
- <literal><forward></literal>function bound to
- <quote>b</quote> and
- <quote>f</quote> respectively.</para>
- <para>Forwarding can be done by including the original message in the new
- message's body (surrounded by indicating lines) or including it as a MIME
- attachment, depending on the value of the
- <link linkend="mime-forward">$mime_forward</link> variable. Decoding of
- attachments, like in the pager, can be controlled by the
- <link linkend="forward-decode">$forward_decode</link> and
- <link linkend="mime-forward-decode">$mime_forward_decode</link> variables,
- respectively. The desired forwarding format may depend on the content,
- therefore
- <link linkend="mime-forward">$mime_forward</link> is a quadoption which,
- for example, can be set to
- <quote>ask-no</quote>.</para>
- <para>The inclusion of headers is controlled by the current setting of
- the
- <link linkend="weed">$weed</link> variable, unless
- <link linkend="mime-forward">$mime_forward</link> is set.</para>
- <para>By default a forwarded message does not reference the messages it
- contains. When
- <link linkend="forward-references">$forward_references</link> is set, a
- forwarded message includes the
- <quote>In-Reply-To:</quote>and
- <quote>References:</quote>headers, just like a reply would. Hence the
- forwarded message becomes part of the original thread instead of starting
- a new one.</para>
- <para>Editing the message to forward follows the same procedure as
- sending or replying to a message does.</para>
+ <para>
+ Bouncing and forwarding let you send an existing message to recipients
+ that you specify. Bouncing a message sends a verbatim copy of a message
+ to alternative addresses as if they were the message's original
+ recipients specified in the Bcc header. Forwarding a message, on the
+ other hand, allows you to modify the message before it is resent (for
+ example, by adding your own comments). Bouncing is done using the
+ <literal><bounce></literal> function and forwarding using the
+ <literal><forward></literal> function bound to <quote>b</quote>
+ and <quote>f</quote> respectively.
+ </para>
+ <para>
+ Forwarding can be done by including the original message in the new
+ message's body (surrounded by indicating lines) or including it as
+ a MIME attachment, depending on the value of the
+ <link linkend="mime-forward">$mime_forward</link> variable. Decoding of
+ attachments, like in the pager, can be controlled by the
+ <link linkend="forward-decode">$forward_decode</link> and
+ <link linkend="mime-forward-decode">$mime_forward_decode</link>
+ variables, respectively. The desired forwarding format may depend on
+ the content, therefore
+ <link linkend="mime-forward">$mime_forward</link> is a quadoption
+ which, for example, can be set to <quote>ask-no</quote>.
+ </para>
+ <para>
+ The inclusion of headers is controlled by the current setting of the
+ <link linkend="weed">$weed</link> variable, unless
+ <link linkend="mime-forward">$mime_forward</link> is set.
+ </para>
+ <para>
+ By default a forwarded message does not reference the messages it
+ contains. When
+ <link linkend="forward-references">$forward_references</link> is set,
+ a forwarded message includes the <quote>In-Reply-To:</quote> and
+ <quote>References:</quote> headers, just like a reply would. Hence the
+ forwarded message becomes part of the original thread instead of
+ starting a new one.
+ </para>
+ <para>
+ Editing the message to forward follows the same procedure as sending or
+ replying to a message does.
+ </para>
</sect1>
<sect1 id="postponing-mail">
<title>Postponing Mail</title>
- <para>At times it is desirable to delay sending a message that you have
- already begun to compose. When the
- <literal><postpone-message></literal>function is used in the
- <emphasis>compose</emphasis> menu, the body of your message and
- attachments are stored in the mailbox specified by the
- <link linkend="postponed">$postponed</link> variable. This means that you
- can recall the message even if you exit NeoMutt and then restart it at a
- later time.</para>
- <para>Once a message is postponed, there are several ways to resume it.
- From the command line you can use the
- <quote>-p</quote> option, or if you compose a new message from the
- <emphasis>index</emphasis> or
- <emphasis>pager</emphasis> you will be prompted if postponed messages
- exist. If multiple messages are currently postponed, the
- <emphasis>postponed</emphasis> menu will pop up and you can select which
- message you would like to resume.</para>
+ <para>
+ At times it is desirable to delay sending a message that you have
+ already begun to compose. When the
+ <literal><postpone-message></literal> function is used in the
+ <emphasis>compose</emphasis> menu, the body of your message and
+ attachments are stored in the mailbox specified by the
+ <link linkend="postponed">$postponed</link> variable. This means that
+ you can recall the message even if you exit NeoMutt and then restart it
+ at a later time.
+ </para>
+ <para>
+ Once a message is postponed, there are several ways to resume it. From
+ the command line you can use the <quote>-p</quote> option, or if you
+ compose a new message from the <emphasis>index</emphasis> or
+ <emphasis>pager</emphasis> you will be prompted if postponed messages
+ exist. If multiple messages are currently postponed, the
+ <emphasis>postponed</emphasis> menu will pop up and you can select
+ which message you would like to resume.
+ </para>
<note>
- <para>If you postpone a reply to a message, the reply setting of the
- message is only updated when you actually finish the message and send
- it. Also, you must be in the same folder with the message you replied
- to for the status of the message to be updated.</para>
+ <para>
+ If you postpone a reply to a message, the reply setting of the
+ message is only updated when you actually finish the message and send
+ it. Also, you must be in the same folder with the message you replied
+ to for the status of the message to be updated.
+ </para>
</note>
- <para>See also the
- <link linkend="postpone">$postpone</link> quad-option.</para>
+ <para>
+ See also the <link linkend="postpone">$postpone</link> quad-option.
+ </para>
</sect1>
<sect1 id="logging">
<title>Logging</title>
- <para>NeoMutt has different types of logging/error messages</para>
+ <para>
+ NeoMutt has different types of logging/error messages
+ </para>
<itemizedlist>
<listitem>
<para>Primitive Errors: errors emitted by C library functions such as
<para>Debug: Debug messages usually only interesting while debugging.</para>
</listitem>
</itemizedlist>
- <para>These log messages are shown in the command bar at the bottom of the
- UI (usually below the status line) and errors are shown in a different
- colour than the other message types. The colours used for displaying can
- be adjusted with <literal>color error ...</literal> and <literal>color
- message ...</literal>, respectively. See the <link linkend="color">
- description of <literal>color</literal></link> for the precise syntax.
- </para>
- <para>The command bar shows only the last message. To show the last 100
- messages (this includes all types of messages from debug to error) the
- function <link linkend="tab-index-bindings"><literal>
- <show-log-messages></literal></link> can be used.</para>
- <para>Debug messages are not shown by default. To enable them NeoMutt
- must be compiled with <literal>+debug</literal>. Furthermore, the debug
- log level must be set with the <link linkend="tab-commandline-options">
- <literal>-d</literal> command line parameter</link> at startup. The
- <literal>-d</literal> parameter expects a debug level which can range
- from 1 to 5 and affects verbosity of the debug messages. A value of 2 is
- recommended for the start. If debug logging is enabled, all log messages
- (i.e. errors, warnings, ..., debug) are additionally written to the file
- <literal>~/.neomuttdebug0</literal>.</para>
+ <para>
+ These log messages are shown in the command bar at the bottom of the UI
+ (usually below the status line) and errors are shown in a different
+ colour than the other message types. The colours used for displaying
+ can be adjusted with <literal>color error ...</literal> and
+ <literal>color message ...</literal>, respectively. See the
+ <link linkend="color">description of <literal>color</literal></link>
+ for the precise syntax.
+ </para>
+ <para>
+ The command bar shows only the last message. To show the last 100
+ messages (this includes all types of messages from debug to error) the
+ function
+ <link linkend="tab-index-bindings"><literal><show-log-messages></literal></link>
+ can be used.
+ </para>
+ <para>
+ Debug messages are not shown by default. To enable them NeoMutt must be
+ compiled with <literal>+debug</literal>. Furthermore, the debug log
+ level must be set with the
+ <link linkend="tab-commandline-options"><literal>-d</literal> command line parameter</link>
+ at startup. The <literal>-d</literal> parameter expects a debug level
+ which can range from 1 to 5 and affects verbosity of the debug
+ messages. A value of 2 is recommended for the start. If debug logging
+ is enabled, all log messages (i.e. errors, warnings, ..., debug) are
+ additionally written to the file <literal>~/.neomuttdebug0</literal>.
+ </para>
</sect1>
</chapter>
<sect1 id="configuration-files">
<title>Location of Initialization Files</title>
- <para>When NeoMutt starts up it looks for two configuration files -- one
- <quote>system</quote> file and one
- <quote>user</quote> file.</para>
- <para>NeoMutt first reads the system configuration file, then the user
- configuration file. The two files are merged in the sense that "last
- setting wins". That is, if a setting is defined in both files, the user
- configuration file's value for that setting is the one that takes
- precedence and becomes effective.</para>
- <para>NeoMutt searches for several different file names when looking for
- config. It looks for NeoMutt config files before Mutt config files and
- versioned config before plain config. For example:</para>
+ <para>
+ When NeoMutt starts up it looks for two configuration files – one
+ <quote>system</quote> file and one <quote>user</quote> file.
+ </para>
+ <para>
+ NeoMutt first reads the system configuration file, then the user
+ configuration file. The two files are merged in the sense that "last
+ setting wins". That is, if a setting is defined in both files, the user
+ configuration file's value for that setting is the one that takes
+ precedence and becomes effective.
+ </para>
+ <para>
+ NeoMutt searches for several different file names when looking for
+ config. It looks for NeoMutt config files before Mutt config files and
+ versioned config before plain config. For example:
+ </para>
<table id="neomuttrc-order">
<title>NeoMutt config file search order</title>
</tbody>
</tgroup>
</table>
- <para>This allows the user to create separate NeoMutt and Mutt config
- files on the same system.</para>
+ <para>
+ This allows the user to create separate NeoMutt and Mutt config files
+ on the same system.
+ </para>
<sect2 id="neomuttrc-system">
<title>Location of system config files</title>
- <para>NeoMutt will search for a system config file in a
- <literal>neomutt</literal> directory in several places. First it searches
- the locations specified in the
- <literal>XDG_CONFIG_DIRS</literal> environment variable, which defaults
- to
- <literal>/etc/xdg</literal>. Next, it looks in
- <literal>/etc</literal>. Finally, it tries
- <literal>/usr/share</literal>.</para>
- <para>The system config file will not be read if the
- <quote>-n</quote> option is used on the
- <link linkend="commandline">command line</link>.</para>
- <para>NeoMutt will read just one file, the first file it finds, from the
- list below.</para>
+ <para>
+ NeoMutt will search for a system config file in
+ a <literal>neomutt</literal> directory in several places. First it
+ searches the locations specified in the
+ <literal>XDG_CONFIG_DIRS</literal> environment variable, which
+ defaults to <literal>/etc/xdg</literal>. Next, it looks in
+ <literal>/etc</literal>. Finally, it tries
+ <literal>/usr/share</literal>.
+ </para>
+ <para>
+ The system config file will not be read if the <quote>-n</quote>
+ option is used on the
+ <link linkend="commandline">command line</link>.
+ </para>
+ <para>
+ NeoMutt will read just one file, the first file it finds, from the
+ list below.
+ </para>
<table id="neomuttrc-system-files">
<title>NeoMutt system config file locations</title>
<sect2 id="neomuttrc-user">
<title>Location of user config files</title>
- <para>NeoMutt will search for a user config file in several places. First
- it looks in the directory specified in the
- <literal>XDG_CONFIG_HOME</literal> environment variable, which defaults
- to
- <literal>~/.config/neomutt</literal>. Next, it looks in
- <literal>~</literal> (your home directory). Finally, it tries
- <literal>~/.neomutt</literal>.</para>
- <para>You may specify your own location for the user config file using
- the
- <quote>-F</quote> option on the
- <link linkend="commandline">command line</link>.</para>
- <para>NeoMutt will read just one file, the first file it finds, from the
- list below.</para>
+ <para>
+ NeoMutt will search for a user config file in several places. First
+ it looks in the directory specified in the
+ <literal>XDG_CONFIG_HOME</literal> environment variable, which
+ defaults to <literal>~/.config/neomutt</literal>. Next, it looks in
+ <literal>~</literal> (your home directory). Finally, it tries
+ <literal>~/.neomutt</literal>.
+ </para>
+ <para>
+ You may specify your own location for the user config file using the
+ <quote>-F</quote> option on the
+ <link linkend="commandline">command line</link>.
+ </para>
+ <para>
+ NeoMutt will read just one file, the first file it finds, from the
+ list below.
+ </para>
<table id="neomuttrc-user-files">
<title>NeoMutt user config file locations</title>
system config in <literal>/etc</literal> and the user config in, e.g.
<literal>~/.neomuttrc</literal>
</para>
-
<para>
The last file that gets read will overwrite any settings from
- previous config files. This means that an administrator can set some
+ previous config files. This means that an administrator can set some
defaults which the user can override.
</para>
-
<para>
Additionally, there are a handful of config items which can be set
- using an environment variable. They have a lower priority than the
+ using an environment variable. They have a lower priority than the
NeoMutt config files:
- <link linkend="editor">$editor</link>,
- <link linkend="from">$from</link>,
- <link linkend="mailcap-path">$mailcap_path</link>,
- <link linkend="news-server">$news_server</link>,
- <link linkend="shell">shell</link>,
- <link linkend="spoolfile">$spoolfile</link>,
- <link linkend="tmpdir">$tmpdir</link>,
+ <link linkend="editor">$editor</link>,
+ <link linkend="from">$from</link>,
+ <link linkend="mailcap-path">$mailcap_path</link>,
+ <link linkend="news-server">$news_server</link>,
+ <link linkend="shell">shell</link>,
+ <link linkend="spoolfile">$spoolfile</link>,
+ <link linkend="tmpdir">$tmpdir</link>,
<link linkend="visual">$visual</link>.
</para>
-
<para>
- Finally, it's possible to <link linkend="commandline">set some
- variables directly</link> on the command-line using the
- <literal>-e</literal> option.
+ Finally, it's possible to
+ <link linkend="commandline">set some variables directly</link> on the
+ command-line using the <literal>-e</literal> option.
</para>
<table id="table-config-priority">
</tbody>
</tgroup>
</table>
-
-
</sect2>
</sect1>
<sect1 id="neomuttrc-syntax" xreflabel="Syntax of Initialization Files">
<title>Syntax of Initialization Files</title>
- <para>An initialization file consists of a series of
- <link linkend="commands">commands</link>. Each line of the file may
- contain one or more commands. When multiple commands are used, they must
- be separated by a semicolon (
- <quote>;</quote>).</para>
+ <para>
+ An initialization file consists of a series of
+ <link linkend="commands">commands</link>. Each line of the file may
+ contain one or more commands. When multiple commands are used, they
+ must be separated by a semicolon (<quote>;</quote>).
+ </para>
<example id="ex-rc-multiple-cmds">
<title>Multiple configuration commands per line</title>
<screen>set realname='John Smith' ; ignore x-</screen>
</example>
- <para>The hash mark, or pound sign (
- <quote>#</quote>), is used as a
- <quote>comment</quote> character. You can use it to annotate your
- initialization file. All text after the comment character to the end of
- the line is ignored.</para>
+ <para>
+ The hash mark, or pound sign (<quote>#</quote>), is used as
+ a <quote>comment</quote> character. You can use it to annotate your
+ initialization file. All text after the comment character to the end of
+ the line is ignored.
+ </para>
<example id="ex-ec-comment">
<title>Commenting configuration files</title>
</screen>
</example>
- <para>Single quotes (
- <quote>'</quote>) and double quotes (
- <quote>"</quote>) can be used to quote strings which contain spaces or
- other special characters. The difference between the two types of quotes
- is similar to that of many popular shell programs, namely that a single
- quote is used to specify a literal string (one that is not interpreted
- for shell variables or quoting with a backslash [see next paragraph]),
- while double quotes indicate a string for which should be evaluated. For
- example, backticks are evaluated inside of double quotes, but
- <emphasis>not</emphasis> for single quotes.</para>
- <para>
- <quote>\</quote>quotes the next character, just as in shells such as bash
- and zsh. For example, if want to put quotes
- <quote>"</quote>inside of a string, you can use
- <quote>\</quote>to force the next character to be a literal instead of
- interpreted character.</para>
+ <para>
+ Single quotes (<quote>'</quote>) and double quotes (<quote>"</quote>)
+ can be used to quote strings which contain spaces or other special
+ characters. The difference between the two types of quotes is similar
+ to that of many popular shell programs, namely that a single quote is
+ used to specify a literal string (one that is not interpreted for shell
+ variables or quoting with a backslash [see next paragraph]), while
+ double quotes indicate a string for which should be evaluated. For
+ example, backticks are evaluated inside of double quotes, but
+ <emphasis>not</emphasis> for single quotes.
+ </para>
+ <para>
+ <quote>\</quote> quotes the next character, just as in shells such as
+ bash and zsh. For example, if want to put quotes <quote>"</quote>
+ inside of a string, you can use <quote>\</quote> to force the next
+ character to be a literal instead of interpreted character.
+ </para>
<example id="ex-rc-quote">
<title>Escaping quotes in configuration files</title>
<screen>set realname="Michael \"MuttDude\" Elkins"</screen>
</example>
<para>
- <quote>\\</quote>means to insert a literal
- <quote>\</quote>into the line.
- <quote>\n</quote> and
- <quote>\r</quote> have their usual C meanings of linefeed and
- carriage-return, respectively.</para>
- <para>A
- <quote>\</quote>at the end of a line can be used to split commands over
- multiple lines as it
- <quote>escapes</quote> the line end, provided that the split points don't
- appear in the middle of command names. Lines are first concatenated
- before interpretation so that a multi-line can be commented by commenting
- out the first line only.</para>
+ <quote>\\</quote> means to insert a literal <quote>\</quote> into the
+ line. <quote>\n</quote> and <quote>\r</quote> have their usual
+ C meanings of linefeed and carriage-return, respectively.
+ </para>
+ <para>
+ A <quote>\</quote> at the end of a line can be used to split commands
+ over multiple lines as it <quote>escapes</quote> the line end, provided
+ that the split points don't appear in the middle of command names.
+ Lines are first concatenated before interpretation so that a multi-line
+ can be commented by commenting out the first line only.
+ </para>
<example id="ex-rc-split">
<title>Splitting long configuration commands over several lines</title>
</screen>
</example>
- <para>It is also possible to substitute the output of a Unix command in
- an initialization file. This is accomplished by enclosing the command in
- backticks (``). In
- <xref linkend="ex-rc-backtick" />, the output of the Unix command
- <quote>uname -a</quote> will be substituted before the line is parsed.
- Since initialization files are line oriented, only the first line of
- output from the Unix command will be substituted.</para>
+ <para>
+ It is also possible to substitute the output of a Unix command in an
+ initialization file. This is accomplished by enclosing the command in
+ backticks (``). In <xref linkend="ex-rc-backtick" />, the output of the
+ Unix command <quote>uname -a</quote> will be substituted before the
+ line is parsed. Since initialization files are line oriented, only the
+ first line of output from the Unix command will be substituted.
+ </para>
<example id="ex-rc-backtick">
<title>Using external command's output in configuration files</title>
<screen>my_hdr X-Operating-System: `uname -a`</screen>
</example>
- <para>Both environment variables and NeoMutt variables can be accessed by
- prepending
- <quote>$</quote>to the name of the variable. For example,</para>
+ <para>
+ Both environment variables and NeoMutt variables can be accessed by
+ prepending <quote>$</quote> to the name of the variable. For example,
+ </para>
<example id="ex-rc-env">
<title>Using environment variables in configuration files</title>
<screen>set record=+sent_on_$HOSTNAME</screen>
</example>
- <para>will cause NeoMutt to save outgoing messages to a folder named
- <quote>sent_on_kremvax</quote> if the environment variable
- <literal>$HOSTNAME</literal> is set to
- <quote>kremvax.</quote>(See
- <link linkend="record">$record</link> for details.)</para>
- <para>NeoMutt expands the variable when it is assigned, not when it is used.
- If the value of a variable on the right-hand side of an assignment
- changes after the assignment, the variable on the left-hand side will not
- be affected.</para>
- <para>The commands understood by NeoMutt are explained in the next
- paragraphs. For a complete list, see the
- <link linkend="commands">command reference</link>.</para>
- <para>All configuration files are expected to be in the current locale as
- specified by the
- <link linkend="charset">$charset</link> variable which doesn't have a
- default value since it's determined by NeoMutt at startup. If a
- configuration file is not encoded in the same character set the
- <link linkend="config-charset">$config_charset</link> variable should be
- used: all lines starting with the next are recoded from
- <link linkend="config-charset">$config_charset</link> to
- <link linkend="charset">$charset</link>.</para>
- <para>This mechanism should be avoided if possible as it has the
- following implications:</para>
+ <para>
+ will cause NeoMutt to save outgoing messages to a folder named
+ <quote>sent_on_kremvax</quote> if the environment variable
+ <literal>$HOSTNAME</literal> is set to <quote>kremvax.</quote> (See
+ <link linkend="record">$record</link> for details.)
+ </para>
+ <para>
+ NeoMutt expands the variable when it is assigned, not when it is used.
+ If the value of a variable on the right-hand side of an assignment
+ changes after the assignment, the variable on the left-hand side will
+ not be affected.
+ </para>
+ <para>
+ The commands understood by NeoMutt are explained in the next
+ paragraphs. For a complete list, see the
+ <link linkend="commands">command reference</link>.
+ </para>
+ <para>
+ All configuration files are expected to be in the current locale as
+ specified by the <link linkend="charset">$charset</link> variable which
+ doesn't have a default value since it's determined by NeoMutt at
+ startup. If a configuration file is not encoded in the same character
+ set the <link linkend="config-charset">$config_charset</link> variable
+ should be used: all lines starting with the next are recoded from
+ <link linkend="config-charset">$config_charset</link> to
+ <link linkend="charset">$charset</link>.
+ </para>
+ <para>
+ This mechanism should be avoided if possible as it has the following
+ implications:
+ </para>
<itemizedlist>
<listitem>
- <para>These variables should be set early in a configuration file
- with
- <link linkend="charset">$charset</link> preceding
- <link linkend="config-charset">$config_charset</link> so NeoMutt knows
- what character set to convert to.</para>
+ <para>
+ These variables should be set early in a configuration file with
+ <link linkend="charset">$charset</link> preceding
+ <link linkend="config-charset">$config_charset</link> so NeoMutt
+ knows what character set to convert to.
+ </para>
</listitem>
<listitem>
- <para>If
- <link linkend="config-charset">$config_charset</link> is set, it
- should be set in each configuration file because the value is global
- and
- <emphasis>not</emphasis> per configuration file.</para>
+ <para>
+ If <link linkend="config-charset">$config_charset</link> is set, it
+ should be set in each configuration file because the value is
+ global and <emphasis>not</emphasis> per configuration file.
+ </para>
</listitem>
<listitem>
- <para>Because NeoMutt first recodes a line before it attempts to parse
- it, a conversion introducing question marks or other characters as
- part of errors (unconvertable characters, transliteration) may
- introduce syntax errors or silently change the meaning of certain
- tokens (e.g. inserting question marks into regular
- expressions).</para>
+ <para>
+ Because NeoMutt first recodes a line before it attempts to parse
+ it, a conversion introducing question marks or other characters as
+ part of errors (unconvertable characters, transliteration) may
+ introduce syntax errors or silently change the meaning of certain
+ tokens (e.g. inserting question marks into regular expressions).
+ </para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="addrgroup">
<title>Address Groups</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>group</command>
<arg choice="opt" rep="repeat">
</arg>
</group>
</cmdsynopsis>
- <para>NeoMutt supports grouping addresses logically into named groups. An
- address or address pattern can appear in several groups at the same time.
- These groups can be used in
- <link linkend="patterns">patterns</link>(for searching, limiting and
- tagging) and in hooks by using group patterns. This can be useful to
- classify mail and take certain actions depending on in what groups the
- message is. For example, the NeoMutt user's mailing list would fit into the
- categories
- <quote>mailing list</quote> and
- <quote>NeoMutt-related</quote>. Using
- <link linkend="send-hook">
- <literal>send-hook</literal>
- </link>, the sender can be set to a dedicated one for writing mailing
- list messages, and the signature could be set to a NeoMutt-related one for
- writing to a NeoMutt list — for other lists, the list sender setting still
- applies but a different signature can be selected. Or, given a group only
- containing recipients known to accept encrypted mail,
- <quote>auto-encryption</quote> can be achieved easily.</para>
- <para>The
- <command>group</command> command is used to directly add either addresses
- or regular expressions to the specified group or groups. The different
- categories of arguments to the
- <command>group</command> command can be in any order. The flags
- <literal>-rx</literal> and
- <literal>-addr</literal> specify what the following strings (that cannot
- begin with a hyphen) should be interpreted as: either a regular
- expression or an email address, respectively.</para>
- <para>These address groups can also be created implicitly by the
- <link linkend="alias">
- <command>alias</command>
- </link>,
- <link linkend="lists">
- <command>lists</command>
- </link>,
- <link linkend="lists">
- <command>subscribe</command>
- </link>and
- <link linkend="alternates">
- <command>alternates</command>
- </link>commands by specifying the optional
- <literal>-group</literal> option. For example,</para>
+ <para>
+ NeoMutt supports grouping addresses logically into named groups. An
+ address or address pattern can appear in several groups at the same
+ time. These groups can be used in
+ <link linkend="patterns">patterns</link> (for searching, limiting and
+ tagging) and in hooks by using group patterns. This can be useful to
+ classify mail and take certain actions depending on in what groups the
+ message is. For example, the NeoMutt user's mailing list would fit into
+ the categories <quote>mailing list</quote> and
+ <quote>NeoMutt-related</quote>. Using
+ <link linkend="send-hook"><literal>send-hook</literal></link>, the
+ sender can be set to a dedicated one for writing mailing list messages,
+ and the signature could be set to a NeoMutt-related one for writing to
+ a NeoMutt list – for other lists, the list sender setting still applies
+ but a different signature can be selected. Or, given a group only
+ containing recipients known to accept encrypted mail,
+ <quote>auto-encryption</quote> can be achieved easily.
+ </para>
+ <para>
+ The <command>group</command> command is used to directly add either
+ addresses or regular expressions to the specified group or groups. The
+ different categories of arguments to the <command>group</command>
+ command can be in any order. The flags <literal>-rx</literal> and
+ <literal>-addr</literal> specify what the following strings (that
+ cannot begin with a hyphen) should be interpreted as: either a regular
+ expression or an email address, respectively.
+ </para>
+ <para>
+ These address groups can also be created implicitly by the
+ <link linkend="alias"><command>alias</command></link>,
+ <link linkend="lists"><command>lists</command></link>,
+ <link linkend="lists"><command>subscribe</command></link> and
+ <link linkend="alternates"><command>alternates</command></link>
+ commands by specifying the optional <literal>-group</literal> option.
+ For example,
+ </para>
<screen>
alternates -group me address1 address2
alternates -group me -group work address3
</screen>
- <para>would create a group named
- <quote>me</quote> which contains all your addresses and a group named
- <quote>work</quote> which contains only your work address
- <emphasis>address3</emphasis>. Besides many other possibilities, this
- could be used to automatically mark your own messages in a mailing list
- folder as read or use a special signature for work-related
- messages.</para>
- <para>The
- <command>ungroup</command> command is used to remove addresses or regular
- expressions from the specified group or groups. The syntax is similar to
- the
- <command>group</command> command, however the special character
- <literal>*</literal>can be used to empty a group of all of its contents.
- As soon as a group gets empty because all addresses and regular
- expressions have been removed, it'll internally be removed, too (i.e.
- there cannot be an empty group). When removing regular expressions from a
- group, the pattern must be specified exactly as given to the
- <command>group</command> command or
- <literal>-group</literal> argument.</para>
+ <para>
+ would create a group named <quote>me</quote> which contains all your
+ addresses and a group named <quote>work</quote> which contains only
+ your work address <emphasis>address3</emphasis>. Besides many other
+ possibilities, this could be used to automatically mark your own
+ messages in a mailing list folder as read or use a special signature
+ for work-related messages.
+ </para>
+ <para>
+ The <command>ungroup</command> command is used to remove addresses or
+ regular expressions from the specified group or groups. The syntax is
+ similar to the <command>group</command> command, however the special
+ character <literal>*</literal> can be used to empty a group of all of
+ its contents. As soon as a group gets empty because all addresses and
+ regular expressions have been removed, it'll internally be removed, too
+ (i.e. there cannot be an empty group). When removing regular
+ expressions from a group, the pattern must be specified exactly as
+ given to the <command>group</command> command or
+ <literal>-group</literal> argument.
+ </para>
</sect1>
<sect1 id="alias">
<title>Defining/Using Aliases</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>alias</command>
<arg choice="opt" rep="repeat">
</arg>
</group>
</cmdsynopsis>
- <para>It's usually very cumbersome to remember or type out the address of
- someone you are communicating with. NeoMutt allows you to create
- <quote>aliases</quote> which map a short string to a full address.</para>
+ <para>
+ It's usually very cumbersome to remember or type out the address of
+ someone you are communicating with. NeoMutt allows you to create
+ <quote>aliases</quote> which map a short string to a full address.
+ </para>
<note>
- <para>If you want to create an alias for more than one address, you
- <emphasis>must</emphasis> separate the addresses with a comma (
- <quote>,</quote>).</para>
+ <para>
+ If you want to create an alias for more than one address, you
+ <emphasis>must</emphasis> separate the addresses with a comma
+ (<quote>,</quote>).
+ </para>
</note>
- <para>The optional
- <literal>-group</literal> argument to
- <command>alias</command> causes the aliased address(es) to be added to the
- named
- <emphasis>group</emphasis>.</para>
- <para>To remove an alias or aliases (
- <quote>*</quote>means all aliases):</para>
+ <para>
+ The optional <literal>-group</literal> argument to
+ <command>alias</command> causes the aliased address(es) to be added to
+ the named <emphasis>group</emphasis>.
+ </para>
+ <para>
+ To remove an alias or aliases (<quote>*</quote> means all aliases):
+ </para>
<screen>
alias muttdude me@cs.hmc.edu (Michael Elkins)
alias theguys manny, moe, jack
</screen>
- <para>Unlike other mailers, NeoMutt doesn't require aliases to be defined in
- a special file. The
- <command>alias</command> command can appear anywhere in a configuration
- file, as long as this file is
- <link linkend="source">
- <command>source</command>d</link>. Consequently, you can have multiple
- alias files, or you can have all aliases defined in your
- <literal>.neomuttrc</literal>.</para>
- <para>On the other hand, the
- <link linkend="create-alias">
- <literal><create-alias></literal>
- </link>function can use only one file, the one pointed to by the
- <link linkend="alias-file">$alias_file</link> variable (which is
- <literal>~/.neomuttrc</literal> by default). This file is not special either,
- in the sense that NeoMutt will happily append aliases to any file, but in
- order for the new aliases to take effect you need to explicitly
- <link linkend="source">
- <command>source</command>
- </link>this file too.</para>
+ <para>
+ Unlike other mailers, NeoMutt doesn't require aliases to be defined in
+ a special file. The <command>alias</command> command can appear
+ anywhere in a configuration file, as long as this file is
+ <link linkend="source"><command>source</command>d</link>. Consequently,
+ you can have multiple alias files, or you can have all aliases defined
+ in your <literal>.neomuttrc</literal>.
+ </para>
+ <para>
+ On the other hand, the
+ <link linkend="create-alias"><literal><create-alias></literal></link>
+ function can use only one file, the one pointed to by the
+ <link linkend="alias-file">$alias_file</link> variable (which is
+ <literal>~/.neomuttrc</literal> by default). This file is not special
+ either, in the sense that NeoMutt will happily append aliases to any
+ file, but in order for the new aliases to take effect you need to
+ explicitly <link linkend="source"><command>source</command></link> this
+ file too.
+ </para>
<example id="ex-alias-external">
<title>Configuring external alias files</title>
</screen>
</example>
- <para>To use aliases, you merely use the alias at any place in NeoMutt where
- NeoMutt prompts for addresses, such as the
- <emphasis>To:</emphasis>or
- <emphasis>Cc:</emphasis>prompt. You can also enter aliases in your editor
- at the appropriate headers if you have the
- <link linkend="edit-headers">$edit_headers</link> variable set.</para>
- <para>In addition, at the various address prompts, you can use the tab
- character to expand a partial alias to the full alias. If there are
- multiple matches, NeoMutt will bring up a menu with the matching aliases. In
- order to be presented with the full list of aliases, you must hit tab
- without a partial alias, such as at the beginning of the prompt or after
- a comma denoting multiple addresses.</para>
- <para>In the alias menu, you can select as many aliases as you want with
- the
- <literal>select-entry</literal> key (default: <Return>), and use the
- <emphasis>exit</emphasis> key (default: q) to return to the address
- prompt.</para>
+ <para>
+ To use aliases, you merely use the alias at any place in NeoMutt where
+ NeoMutt prompts for addresses, such as the <emphasis>To:</emphasis> or
+ <emphasis>Cc:</emphasis> prompt. You can also enter aliases in your
+ editor at the appropriate headers if you have the
+ <link linkend="edit-headers">$edit_headers</link> variable set.
+ </para>
+ <para>
+ In addition, at the various address prompts, you can use the tab
+ character to expand a partial alias to the full alias. If there are
+ multiple matches, NeoMutt will bring up a menu with the matching
+ aliases. In order to be presented with the full list of aliases, you
+ must hit tab without a partial alias, such as at the beginning of the
+ prompt or after a comma denoting multiple addresses.
+ </para>
+ <para>
+ In the alias menu, you can select as many aliases as you want with the
+ <literal>select-entry</literal> key (default: <Return>), and use
+ the <emphasis>exit</emphasis> key (default: q) to return to the address
+ prompt.
+ </para>
</sect1>
<sect1 id="bind">
<title>Changing the Default Key Bindings</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>bind</command>
<arg choice="plain">
<replaceable class="parameter">function</replaceable>
</arg>
</cmdsynopsis>
- <para>This command allows you to change the default key bindings
- (operation invoked when pressing a key).</para>
<para>
- <emphasis>map</emphasis> specifies in which menu the binding belongs.
- Multiple maps may be specified by separating them with commas (no
- additional whitespace is allowed). The currently defined maps are:</para>
+ This command allows you to change the default key bindings (operation
+ invoked when pressing a key).
+ </para>
+ <para>
+ <emphasis>map</emphasis> specifies in which menu the binding belongs.
+ Multiple maps may be specified by separating them with commas (no
+ additional whitespace is allowed). The currently defined maps are:
+ </para>
<anchor id="maps" />
<variablelist>
<varlistentry>
<term>generic</term>
<listitem>
- <para>This is not a real menu, but is used as a fallback for all of
- the other menus except for the pager and editor modes. If a key is
- not defined in another menu, NeoMutt will look for a binding to use in
- this menu. This allows you to bind a key to a certain function in
- multiple menus instead of having multiple
- <command>bind</command> statements to accomplish the same
- task.</para>
+ <para>
+ This is not a real menu, but is used as a fallback for all of the
+ other menus except for the pager and editor modes. If a key is
+ not defined in another menu, NeoMutt will look for a binding to
+ use in this menu. This allows you to bind a key to a certain
+ function in multiple menus instead of having multiple
+ <command>bind</command> statements to accomplish the same task.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>alias</term>
<listitem>
- <para>The alias menu is the list of your personal aliases as
- defined in your
- <literal>.neomuttrc</literal>. It is the mapping from a short alias
- name to the full email address(es) of the recipient(s).</para>
+ <para>
+ The alias menu is the list of your personal aliases as defined in
+ your <literal>.neomuttrc</literal>. It is the mapping from
+ a short alias name to the full email address(es) of the
+ recipient(s).
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>attach</term>
<listitem>
- <para>The attachment menu is used to access the attachments on
- received messages.</para>
+ <para>
+ The attachment menu is used to access the attachments on received
+ messages.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>browser</term>
<listitem>
- <para>The browser is used for both browsing the local directory
- structure, and for listing all of your incoming mailboxes.</para>
+ <para>
+ The browser is used for both browsing the local directory
+ structure, and for listing all of your incoming mailboxes.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>editor</term>
<listitem>
- <para>The editor is used to allow the user to enter a single line
- of text, such as the
- <emphasis>To</emphasis> or
- <emphasis>Subject</emphasis> prompts in the
- <literal>compose</literal> menu.</para>
+ <para>
+ The editor is used to allow the user to enter a single line of
+ text, such as the <emphasis>To</emphasis> or
+ <emphasis>Subject</emphasis> prompts in the
+ <literal>compose</literal> menu.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>index</term>
<listitem>
- <para>The index is the list of messages contained in a
- mailbox.</para>
+ <para>
+ The index is the list of messages contained in a mailbox.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>compose</term>
<listitem>
- <para>The compose menu is the screen used when sending a new
- message.</para>
+ <para>
+ The compose menu is the screen used when sending a new message.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>pager</term>
<listitem>
- <para>The pager is the mode used to display message/attachment
- data, and help listings.</para>
+ <para>
+ The pager is the mode used to display message/attachment data,
+ and help listings.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>pgp</term>
<listitem>
- <para>The pgp menu is used to select the OpenPGP keys used to
- encrypt outgoing messages.</para>
+ <para>
+ The pgp menu is used to select the OpenPGP keys used to encrypt
+ outgoing messages.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>smime</term>
<listitem>
- <para>The smime menu is used to select the OpenSSL certificates
- used to encrypt outgoing messages.</para>
+ <para>
+ The smime menu is used to select the OpenSSL certificates used to
+ encrypt outgoing messages.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>postpone</term>
<listitem>
- <para>The postpone menu is similar to the index menu, except is
- used when recalling a message the user was composing, but saved
- until later.</para>
+ <para>
+ The postpone menu is similar to the index menu, except is used
+ when recalling a message the user was composing, but saved until
+ later.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>query</term>
<listitem>
- <para>The query menu is the browser for results returned by
- <link linkend="query-command">$query_command</link>.</para>
+ <para>
+ The query menu is the browser for results returned by
+ <link linkend="query-command">$query_command</link>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>mix</term>
<listitem>
- <para>The mixmaster screen is used to select remailer options for
- outgoing messages (if NeoMutt is compiled with Mixmaster
- support).</para>
+ <para>
+ The mixmaster screen is used to select remailer options for
+ outgoing messages (if NeoMutt is compiled with Mixmaster
+ support).
+ </para>
</listitem>
</varlistentry>
</variablelist>
<para>
- <emphasis>key</emphasis> is the key (or key sequence) you wish to bind. To
- specify a control character, use the sequence
- <emphasis>\Cx</emphasis>, where
- <emphasis>x</emphasis> is the letter of the control character (for
- example, to specify control-A use
- <quote>\Ca</quote>). Note that the case of
- <emphasis>x</emphasis> as well as
- <emphasis>\C</emphasis> is ignored, so that
- <emphasis>\CA</emphasis>,
- <emphasis>\Ca</emphasis>,
- <emphasis>\cA</emphasis> and
- <emphasis>\ca</emphasis> are all equivalent. An alternative form is to
- specify the key as a three digit octal number prefixed with a
- <quote>\</quote>(for example
- <emphasis>\177</emphasis> is equivalent to
- <emphasis>\c?</emphasis>). In addition,
- <emphasis>key</emphasis> may be a symbolic name as shown in
- <xref linkend="tab-key-names" />.</para>
+ <emphasis>key</emphasis> is the key (or key sequence) you wish to bind.
+ To specify a control character, use the sequence
+ <emphasis>\Cx</emphasis>, where <emphasis>x</emphasis> is the letter of
+ the control character (for example, to specify control-A use
+ <quote>\Ca</quote>). Note that the case of <emphasis>x</emphasis> as
+ well as <emphasis>\C</emphasis> is ignored, so that
+ <emphasis>\CA</emphasis>, <emphasis>\Ca</emphasis>,
+ <emphasis>\cA</emphasis> and <emphasis>\ca</emphasis> are all
+ equivalent. An alternative form is to specify the key as a three digit
+ octal number prefixed with a <quote>\</quote> (for example
+ <emphasis>\177</emphasis> is equivalent to <emphasis>\c?</emphasis>).
+ In addition, <emphasis>key</emphasis> may be a symbolic name as shown
+ in <xref linkend="tab-key-names" />.
+ </para>
<table id="tab-key-names">
<title>Symbolic key names</title>
</tbody>
</tgroup>
</table>
- <para>The
- <literal><what-key></literal>function can be used to explore
- keycode and symbolic names for other keys on your keyboard. Executing
- this function will display information about each key pressed, until
- terminated by
- <literal>^G</literal>.</para>
- <para>
- <emphasis>key</emphasis> does not need to be enclosed in quotes unless it
- contains a space (
- <quote> </quote>) or semi-colon (
- <quote>;</quote>).</para>
- <para>
- <emphasis>function</emphasis> specifies which action to take when
- <emphasis>key</emphasis> is pressed. For a complete list of functions, see
- the
- <link linkend="functions">reference</link>. Note that the
- <command>bind</command> expects
- <emphasis>function</emphasis> to be specified without angle
- brackets.</para>
- <para>The special function
- <literal><noop></literal>unbinds the specified key sequence.</para>
+ <para>
+ The <literal><what-key></literal> function can be used to explore
+ keycode and symbolic names for other keys on your keyboard. Executing
+ this function will display information about each key pressed, until
+ terminated by <literal>^G</literal>.
+ </para>
+ <para>
+ <emphasis>key</emphasis> does not need to be enclosed in quotes unless
+ it contains a space (<quote> </quote>) or semi-colon
+ (<quote>;</quote>).
+ </para>
+ <para>
+ <emphasis>function</emphasis> specifies which action to take when
+ <emphasis>key</emphasis> is pressed. For a complete list of functions,
+ see the <link linkend="functions">reference</link>. Note that the
+ <command>bind</command> expects <emphasis>function</emphasis> to be
+ specified without angle brackets.
+ </para>
+ <para>
+ The special function <literal><noop></literal> unbinds the
+ specified key sequence.
+ </para>
<sect2 id="bind-warnings">
<title>Warnings about Duplicated Bindings</title>
- <para>Due to a limitation of NeoMutt, creating key bindings, or macros,
- will overwrite existing mappings with similar, shorter, names.</para>
+ <para>
+ Due to a limitation of NeoMutt, creating key bindings, or macros,
+ will overwrite existing mappings with similar, shorter, names.
+ </para>
<screen>
bind index g group-reply
bind index gg first-entry
</screen>
- <para>In this example, the <literal>g</literal> binding will be
- overwritten and cannot be used. Newer versions of NeoMutt will warn the
- user about this.</para>
- <para>To avoid warnings on startup, first set the shorter binding to
- <literal>noop</literal> (no operation).</para>
+ <para>
+ In this example, the <literal>g</literal> binding will be overwritten
+ and cannot be used. Newer versions of NeoMutt will warn the user
+ about this.
+ </para>
+ <para>
+ To avoid warnings on startup, first set the shorter binding to
+ <literal>noop</literal> (no operation).
+ </para>
<screen>
bind index g noop
<sect1 id="charset-hook">
<title>Defining Aliases for Character Sets</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>charset-hook</command>
<arg choice="plain">
<replaceable class="parameter">local-charset</replaceable>
</arg>
</cmdsynopsis>
- <para>The
- <command>charset-hook</command> command defines an alias for a character
- set. This is useful to properly display messages which are tagged with a
- character set name not known to NeoMutt.</para>
- <para>The
- <command>iconv-hook</command> command defines a system-specific name for a
- character set. This is helpful when your systems character conversion
- library insists on using strange, system-specific names for character
- sets.</para>
+ <para>
+ The <command>charset-hook</command> command defines an alias for
+ a character set. This is useful to properly display messages which are
+ tagged with a character set name not known to NeoMutt.
+ </para>
+ <para>
+ The <command>iconv-hook</command> command defines a system-specific
+ name for a character set. This is helpful when your systems character
+ conversion library insists on using strange, system-specific names for
+ character sets.
+ </para>
</sect1>
<sect1 id="folder-hook">
<title>Setting Variables Based Upon Mailbox</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>folder-hook</command>
<arg choice="plain">
<replaceable class="parameter">command</replaceable>
</arg>
</cmdsynopsis>
- <para>It is often desirable to change settings based on which mailbox you
- are reading. The
- <command>folder-hook</command> command provides a method by which you can
- execute any configuration command.
- <emphasis>regex</emphasis> is a regular expression specifying in which
- mailboxes to execute
- <emphasis>command</emphasis> before loading. If a mailbox matches multiple
- <command>folder-hook</command>s, they are executed in the order given in
- the
- <literal>.neomuttrc</literal>.</para>
- <para>The regex parameter has
- <link linkend="shortcuts">mailbox shortcut</link> expansion performed on
- the first character. See
- <xref linkend="mailbox-hook" />for more details.</para>
+ <para>
+ It is often desirable to change settings based on which mailbox you are
+ reading. The <command>folder-hook</command> command provides a method
+ by which you can execute any configuration command.
+ <emphasis>regex</emphasis> is a regular expression specifying in which
+ mailboxes to execute <emphasis>command</emphasis> before loading. If
+ a mailbox matches multiple <command>folder-hook</command>s, they are
+ executed in the order given in the <literal>.neomuttrc</literal>.
+ </para>
+ <para>
+ The regex parameter has <link linkend="shortcuts">mailbox
+ shortcut</link> expansion performed on the first character. See
+ <xref linkend="mailbox-hook" /> for more details.
+ </para>
<note>
- <para>If you use the
- <quote>!</quote>shortcut for
- <link linkend="spoolfile">$spoolfile</link> at the beginning of the
- pattern, you must place it inside of double or single quotes in order
- to distinguish it from the logical
- <emphasis>not</emphasis> operator for the expression.</para>
+ <para>
+ If you use the <quote>!</quote> shortcut for
+ <link linkend="spoolfile">$spoolfile</link> at the beginning of the
+ pattern, you must place it inside of double or single quotes in order
+ to distinguish it from the logical <emphasis>not</emphasis> operator
+ for the expression.
+ </para>
</note>
<note>
- <para>Settings are
- <emphasis>not</emphasis> restored when you leave the mailbox. For
- example, a command action to perform is to change the sorting method
- based upon the mailbox being read:</para>
+ <para>
+ Settings are <emphasis>not</emphasis> restored when you leave the
+ mailbox. For example, a command action to perform is to change the
+ sorting method based upon the mailbox being read:
+ </para>
<screen>folder-hook work "set sort=threads"</screen>
- <para>However, the sorting method is not restored to its previous value
- when reading a different mailbox. To specify a
- <emphasis>default</emphasis> command, use the pattern
- <quote>.</quote>before other
- <command>folder-hook</command>s adjusting a value on a per-folder basis
- because
- <command>folder-hook</command>s are evaluated in the order given in the
- configuration file.</para>
+ <para>
+ However, the sorting method is not restored to its previous value
+ when reading a different mailbox. To specify
+ a <emphasis>default</emphasis> command, use the pattern
+ <quote>.</quote> before other <command>folder-hook</command>s
+ adjusting a value on a per-folder basis because
+ <command>folder-hook</command>s are evaluated in the order given in
+ the configuration file.
+ </para>
</note>
<note>
- <para>The keyboard buffer will not be processed until after all hooks
- are run; multiple
- <link linkend="push">push</link> or
- <link linkend="exec">exec</link> commands will end up being processed in
- reverse order.</para>
+ <para>
+ The keyboard buffer will not be processed until after all hooks are
+ run; multiple <link linkend="push">push</link> or
+ <link linkend="exec">exec</link> commands will end up being processed
+ in reverse order.
+ </para>
</note>
- <para>The following example will set the
- <link linkend="sort">sort</link> variable to
- <literal>date-sent</literal> for all folders but to
- <literal>threads</literal> for all folders containing
- <quote>work</quote> in their name.</para>
+ <para>
+ The following example will set the <link linkend="sort">sort</link>
+ variable to <literal>date-sent</literal> for all folders but to
+ <literal>threads</literal> for all folders containing
+ <quote>work</quote> in their name.
+ </para>
<example id="ex-folder-sorting">
<title>Setting sort method based on mailbox name</title>
<sect1 id="macro">
<title>Keyboard Macros</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>macro</command>
<arg choice="plain">
<replaceable class="parameter">description</replaceable>
</arg>
</cmdsynopsis>
- <para>Macros are useful when you would like a single key to perform a
- series of actions. When you press
- <emphasis>key</emphasis> in menu
- <emphasis>menu</emphasis>, NeoMutt will behave as if you had typed
- <emphasis>sequence</emphasis>. So if you have a common sequence of
- commands you type, you can create a macro to execute those commands with
- a single key or fewer keys.</para>
- <para>
- <emphasis>menu</emphasis> is the
- <link linkend="maps">map</link> which the macro will be bound in. Multiple
- maps may be specified by separating multiple menu arguments by commas.
- Whitespace may not be used in between the menu arguments and the commas
- separating them.</para>
- <para>
- <emphasis>key</emphasis> and
- <emphasis>sequence</emphasis> are expanded by the same rules as the
- <link linkend="bind">key bindings</link> with some additions. The first is
- that control characters in
- <emphasis>sequence</emphasis> can also be specified as
- <emphasis>^x</emphasis>. In order to get a caret (
- <quote>^</quote>) you need to use
- <emphasis>^^</emphasis>. Secondly, to specify a certain key such as
- <emphasis>up</emphasis> or to invoke a function directly, you can use the
- format
- <emphasis><key name></emphasis>and
- <emphasis><function name></emphasis>. For a listing of key names
- see the section on
- <link linkend="bind">key bindings</link>. Functions are listed in the
- <link linkend="functions">reference</link>.</para>
- <para>The advantage with using function names directly is that the macros
- will work regardless of the current key bindings, so they are not
- dependent on the user having particular key definitions. This makes them
- more robust and portable, and also facilitates defining of macros in
- files used by more than one user (e.g., the system neomuttrc).</para>
- <para>Optionally you can specify a descriptive text after
- <emphasis>sequence</emphasis>, which is shown in the help screens if they
- contain a description.</para>
+ <para>
+ Macros are useful when you would like a single key to perform a series
+ of actions. When you press <emphasis>key</emphasis> in menu
+ <emphasis>menu</emphasis>, NeoMutt will behave as if you had typed
+ <emphasis>sequence</emphasis>. So if you have a common sequence of
+ commands you type, you can create a macro to execute those commands
+ with a single key or fewer keys.
+ </para>
+ <para>
+ <emphasis>menu</emphasis> is the <link linkend="maps">map</link> which
+ the macro will be bound in. Multiple maps may be specified by
+ separating multiple menu arguments by commas. Whitespace may not be
+ used in between the menu arguments and the commas separating them.
+ </para>
+ <para>
+ <emphasis>key</emphasis> and <emphasis>sequence</emphasis> are expanded
+ by the same rules as the <link linkend="bind">key bindings</link> with
+ some additions. The first is that control characters in
+ <emphasis>sequence</emphasis> can also be specified as
+ <emphasis>^x</emphasis>. In order to get a caret (<quote>^</quote>)
+ you need to use <emphasis>^^</emphasis>. Secondly, to specify a certain
+ key such as <emphasis>up</emphasis> or to invoke a function directly,
+ you can use the format <emphasis><key name></emphasis> and
+ <emphasis><function name></emphasis>. For a listing of key names
+ see the section on <link linkend="bind">key bindings</link>. Functions
+ are listed in the <link linkend="functions">reference</link>.
+ </para>
+ <para>
+ The advantage with using function names directly is that the macros
+ will work regardless of the current key bindings, so they are not
+ dependent on the user having particular key definitions. This makes
+ them more robust and portable, and also facilitates defining of macros
+ in files used by more than one user (e.g., the system neomuttrc).
+ </para>
+ <para>
+ Optionally you can specify a descriptive text after
+ <emphasis>sequence</emphasis>, which is shown in the help screens if
+ they contain a description.
+ </para>
<note>
- <para>Macro definitions (if any) listed in the help screen(s), are
- silently truncated at the screen width, and are not wrapped.</para>
+ <para>
+ Macro definitions (if any) listed in the help screen(s), are silently
+ truncated at the screen width, and are not wrapped.
+ </para>
</note>
</sect1>
<sect1 id="color">
<title>Using Color and Mono Video Attributes</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>color</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>If your terminal supports color, you can spice up NeoMutt by creating
- your own color scheme. To define the color of an object (type of
- information), you must specify both a foreground color
- <emphasis>and</emphasis> a background color (it is not possible to only
- specify one or the other).</para>
- <para>
- <emphasis>header</emphasis> and
- <emphasis>body</emphasis> match
- <emphasis>regex</emphasis> in the header/body of a message,
- <emphasis>index-object</emphasis> can match
- <emphasis>pattern</emphasis>(see
- <xref linkend="patterns" />) in the message index. Note that IMAP
- server-side searches (=b, =B, =h) are not supported for color index
- patterns.</para>
- <para>When
- <link linkend="header-color-partial">$header_color_partial</link> is unset
- (the default), a
- <emphasis>header</emphasis> matched by
- <emphasis>regex</emphasis> will have color applied to the entire header.
- When set, color is applied only to the exact text matched by
- <emphasis>regex</emphasis>.</para>
- <para>
- <emphasis>object</emphasis> can be one of:</para>
+ <para>
+ If your terminal supports color, you can spice up NeoMutt by creating
+ your own color scheme. To define the color of an object (type of
+ information), you must specify both a foreground color
+ <emphasis>and</emphasis> a background color (it is not possible to only
+ specify one or the other).
+ </para>
+ <para>
+ <emphasis>header</emphasis> and <emphasis>body</emphasis> match
+ <emphasis>regex</emphasis> in the header/body of a message,
+ <emphasis>index-object</emphasis> can match
+ <emphasis>pattern</emphasis> (see <xref linkend="patterns" />) in the
+ message index. Note that IMAP server-side searches (=b, =B, =h) are not
+ supported for color index patterns.
+ </para>
+ <para>
+ When <link linkend="header-color-partial">$header_color_partial</link>
+ is unset (the default), a <emphasis>header</emphasis> matched by
+ <emphasis>regex</emphasis> will have color applied to the entire
+ header. When set, color is applied only to the exact text matched by
+ <emphasis>regex</emphasis>.
+ </para>
+ <para>
+ <emphasis>object</emphasis> can be one of:
+ </para>
<itemizedlist>
<listitem>
- <para>attachment</para>
+ <para>
+ attachment
+ </para>
</listitem>
<listitem>
- <para>bold (highlighting bold patterns in the body of
- messages)</para>
+ <para>
+ bold (highlighting bold patterns in the body of messages)
+ </para>
</listitem>
<listitem>
- <para>error (error messages printed by NeoMutt)</para>
+ <para>
+ error (error messages printed by NeoMutt)
+ </para>
</listitem>
<listitem>
- <para>hdrdefault (default color of the message header in the
- pager)</para>
+ <para>
+ hdrdefault (default color of the message header in the pager)
+ </para>
</listitem>
<listitem>
- <para>index_author (color of the author name in the index, uses
- <emphasis>pattern</emphasis>)</para>
+ <para>
+ index_author (color of the author name in the index, uses
+ <emphasis>pattern</emphasis>)
+ </para>
</listitem>
<listitem>
- <para>index_collapsed (the number of messages in a collapsed thread
- in the index)</para>
+ <para>
+ index_collapsed (the number of messages in a collapsed thread in
+ the index)
+ </para>
</listitem>
<listitem>
- <para>index_date (color of the date field in the index)</para>
+ <para>
+ index_date (color of the date field in the index)
+ </para>
</listitem>
<listitem>
- <para>index_flags (color of the message flags in the index)</para>
+ <para>
+ index_flags (color of the message flags in the index)
+ </para>
</listitem>
<listitem>
- <para>index_label (color of the message label in the index)</para>
+ <para>
+ index_label (color of the message label in the index)
+ </para>
</listitem>
<listitem>
- <para>index_number (color of the message number in the index)</para>
+ <para>
+ index_number (color of the message number in the index)
+ </para>
</listitem>
<listitem>
- <para>index_size (color of the message size and line number in the
- index)</para>
+ <para>
+ index_size (color of the message size and line number in the index)
+ </para>
</listitem>
<listitem>
- <para>index_subject (color of the subject in the index, uses
- <emphasis>pattern</emphasis>)</para>
+ <para>
+ index_subject (color of the subject in the index, uses
+ <emphasis>pattern</emphasis>)
+ </para>
</listitem>
<listitem>
- <para>indicator (arrow or bar used to indicate the current item in a
- menu)</para>
+ <para>
+ indicator (arrow or bar used to indicate the current item in
+ a menu)
+ </para>
</listitem>
<listitem>
- <para>markers (the
- <quote>+</quote>markers at the beginning of wrapped lines in the
- pager)</para>
+ <para>
+ markers (the <quote>+</quote> markers at the beginning of wrapped
+ lines in the pager)
+ </para>
</listitem>
<listitem>
- <para>message (informational messages)</para>
+ <para>
+ message (informational messages)
+ </para>
</listitem>
<listitem>
- <para>normal</para>
+ <para>
+ normal
+ </para>
</listitem>
<listitem>
<para>
- <link linkend="progress">progress</link>(visual progress bar)</para>
+ <link linkend="progress">progress</link> (visual progress bar)
+ </para>
</listitem>
<listitem>
- <para>prompt</para>
+ <para>
+ prompt
+ </para>
</listitem>
<listitem>
- <para>quoted (text matching
- <link linkend="quote-regex">$quote_regex</link> in the body of a
- message)</para>
+ <para>
+ quoted (text matching
+ <link linkend="quote-regex">$quote_regex</link> in the body of
+ a message)
+ </para>
</listitem>
<listitem>
- <para>quoted1, quoted2, ..., quoted
- <emphasis>N</emphasis>(higher levels of quoting)</para>
+ <para>
+ quoted1, quoted2, ..., quoted <emphasis>N</emphasis> (higher levels
+ of quoting)
+ </para>
</listitem>
<listitem>
- <para>search (highlighting of words in the pager)</para>
+ <para>
+ search (highlighting of words in the pager)
+ </para>
</listitem>
<listitem>
- <para>signature</para>
+ <para>
+ signature
+ </para>
</listitem>
<listitem>
- <para>status (mode lines used to display info about the mailbox or
- message)</para>
+ <para>
+ status (mode lines used to display info about the mailbox or
+ message)
+ </para>
</listitem>
<listitem>
- <para>tilde (the
- <quote>~</quote>used to pad blank lines in the pager)</para>
+ <para>
+ tilde (the <quote>~</quote> used to pad blank lines in the pager)
+ </para>
</listitem>
<listitem>
- <para>tree (thread tree drawn in the message index and attachment
- menu)</para>
+ <para>
+ tree (thread tree drawn in the message index and attachment menu)
+ </para>
</listitem>
<listitem>
- <para>underline (highlighting underlined patterns in the body of
- messages)</para>
+ <para>
+ underline (highlighting underlined patterns in the body of
+ messages)
+ </para>
</listitem>
</itemizedlist>
<para>
- <emphasis>composeobject</emphasis> can be one of:</para>
+ <emphasis>composeobject</emphasis> can be one of:
+ </para>
<itemizedlist>
<listitem>
- <para>header</para>
+ <para>
+ header
+ </para>
</listitem>
<listitem>
- <para>security_encrypt</para>
+ <para>
+ security_encrypt
+ </para>
</listitem>
<listitem>
- <para>security_sign</para>
+ <para>
+ security_sign
+ </para>
</listitem>
<listitem>
- <para>security_both</para>
+ <para>
+ security_both
+ </para>
</listitem>
<listitem>
- <para>security_none</para>
+ <para>
+ security_none
+ </para>
</listitem>
</itemizedlist>
<para>
- <emphasis>index-object</emphasis> can be one of the following:</para>
+ <emphasis>index-object</emphasis> can be one of the following:
+ </para>
<itemizedlist>
<listitem>
- <para>index (default highlighting of the entire index line, uses
- <emphasis>pattern</emphasis>)</para>
+ <para>
+ index (default highlighting of the entire index line, uses
+ <emphasis>pattern</emphasis>)
+ </para>
</listitem>
<listitem>
- <para>index_date (the date field)</para>
+ <para>
+ index_date (the date field)
+ </para>
</listitem>
<listitem>
- <para>index_flags (the message flags, %S %Z, uses
- <emphasis>pattern</emphasis>)</para>
+ <para>
+ index_flags (the message flags, %S %Z, uses
+ <emphasis>pattern</emphasis>)
+ </para>
</listitem>
<listitem>
- <para>index_number (the message number, %C)</para>
+ <para>
+ index_number (the message number, %C)
+ </para>
</listitem>
<listitem>
- <para>index_collapsed (the number of messages in a collapsed thread,
- %M)</para>
+ <para>
+ index_collapsed (the number of messages in a collapsed thread, %M)
+ </para>
</listitem>
<listitem>
- <para>index_author (the author name, %A %a %F %L %n, uses
- <emphasis>pattern</emphasis>)</para>
+ <para>
+ index_author (the author name, %A %a %F %L %n, uses
+ <emphasis>pattern</emphasis>)
+ </para>
</listitem>
<listitem>
- <para>index_subject (the subject, %s, uses
- <emphasis>pattern</emphasis>)</para>
+ <para>
+ index_subject (the subject, %s, uses <emphasis>pattern</emphasis>)
+ </para>
</listitem>
<listitem>
- <para>index_size (the message size, %c %l)</para>
+ <para>
+ index_size (the message size, %c %l)
+ </para>
</listitem>
<listitem>
- <para>index_label (the message label, %y %Y)</para>
+ <para>
+ index_label (the message label, %y %Y)
+ </para>
</listitem>
<listitem>
- <para>index_tags (the transformed message tags, %g)</para>
+ <para>
+ index_tags (the transformed message tags, %g)
+ </para>
</listitem>
<listitem>
- <para>index_tag (an individual message tag, %G, uses
- <emphasis>pattern / tag name</emphasis>)</para>
+ <para>
+ index_tag (an individual message tag, %G, uses <emphasis>pattern
+ / tag name</emphasis>)
+ </para>
</listitem>
</itemizedlist>
<para>
- <emphasis>foreground</emphasis> and
- <emphasis>background</emphasis> can be one of the following:</para>
+ <emphasis>foreground</emphasis> and <emphasis>background</emphasis> can
+ be one of the following:
+ </para>
<itemizedlist>
<listitem>
- <para>white</para>
+ <para>
+ white
+ </para>
</listitem>
<listitem>
- <para>black</para>
+ <para>
+ black
+ </para>
</listitem>
<listitem>
- <para>green</para>
+ <para>
+ green
+ </para>
</listitem>
<listitem>
- <para>magenta</para>
+ <para>
+ magenta
+ </para>
</listitem>
<listitem>
- <para>blue</para>
+ <para>
+ blue
+ </para>
</listitem>
<listitem>
- <para>cyan</para>
+ <para>
+ cyan
+ </para>
</listitem>
<listitem>
- <para>yellow</para>
+ <para>
+ yellow
+ </para>
</listitem>
<listitem>
- <para>red</para>
+ <para>
+ red
+ </para>
</listitem>
<listitem>
- <para>default</para>
+ <para>
+ default
+ </para>
</listitem>
<listitem>
- <para>color
- <emphasis>x</emphasis></para>
+ <para>
+ color
+ <emphasis>x</emphasis>
+ </para>
</listitem>
</itemizedlist>
<para>
- <emphasis>foreground</emphasis> can optionally be prefixed with the
- keyword
- <literal>bright</literal> to make the foreground color boldfaced (e.g.,
- <literal>brightred</literal>).
- <literal>alert</literal> to make a blinking/alert color (e.g.,
- <literal>alertred</literal>).</para>
- <para>If your terminal supports it, the special keyword
- <emphasis>default</emphasis> can be used as a transparent color. The value
- <emphasis>brightdefault</emphasis> is also valid. If NeoMutt is linked
- against the
- <emphasis>S-Lang</emphasis> library, you also need to set the
- <literal>$COLORFGBG</literal> environment variable to the default colors
- of your terminal for this to work; for example (for Bourne-like
- shells):</para>
+ <emphasis>foreground</emphasis> can optionally be prefixed with the
+ keyword <literal>bright</literal> to make the foreground color
+ boldfaced (e.g., <literal>brightred</literal>).
+ <literal>alert</literal> to make a blinking/alert color (e.g.,
+ <literal>alertred</literal>).
+ </para>
+ <para>
+ If your terminal supports it, the special keyword
+ <emphasis>default</emphasis> can be used as a transparent color. The
+ value <emphasis>brightdefault</emphasis> is also valid. If NeoMutt is
+ linked against the <emphasis>S-Lang</emphasis> library, you also need
+ to set the <literal>$COLORFGBG</literal> environment variable to the
+ default colors of your terminal for this to work; for example (for
+ Bourne-like shells):
+ </para>
<screen>
set COLORFGBG="green;black"
</screen>
<note>
- <para>The
- <emphasis>S-Lang</emphasis> library requires you to use the
- <emphasis>lightgray</emphasis> and
- <emphasis>brown</emphasis> keywords instead of
- <emphasis>white</emphasis> and
- <emphasis>yellow</emphasis> when setting this variable.</para>
+ <para>
+ The <emphasis>S-Lang</emphasis> library requires you to use the
+ <emphasis>lightgray</emphasis> and <emphasis>brown</emphasis>
+ keywords instead of <emphasis>white</emphasis> and
+ <emphasis>yellow</emphasis> when setting this variable.
+ </para>
</note>
<note>
- <para>The
- <command>uncolor</command> command can be applied to the index, header
- and body objects only. It removes entries from the list. You
- <emphasis>must</emphasis> specify the same pattern specified in the
- <command>color</command> command for it to be removed. The pattern
- <quote>*</quote>is a special token which means to clear the color list
- of all entries.</para>
+ <para>
+ The <command>uncolor</command> command can be applied to the index,
+ header and body objects only. It removes entries from the list. You
+ <emphasis>must</emphasis> specify the same pattern specified in the
+ <command>color</command> command for it to be removed. The pattern
+ <quote>*</quote> is a special token which means to clear the color
+ list of all entries.
+ </para>
</note>
- <para>NeoMutt also recognizes the keywords
- <emphasis>color0</emphasis>,
- <emphasis>color1</emphasis>, ...,
- <emphasis>color</emphasis>
- <emphasis>N-1</emphasis>(
- <emphasis>N</emphasis> being the number of colors supported by your
- terminal). This is useful when you remap the colors for your display (for
- example by changing the color associated with
- <emphasis>color2</emphasis> for your xterm), since color names may then
- lose their normal meaning.</para>
+ <para>
+ NeoMutt also recognizes the keywords <emphasis>color0</emphasis>,
+ <emphasis>color1</emphasis>, ..., <emphasis>color</emphasis>
+ <emphasis>N-1</emphasis> (<emphasis>N</emphasis> being the number of
+ colors supported by your terminal). This is useful when you remap the
+ colors for your display (for example by changing the color associated
+ with <emphasis>color2</emphasis> for your xterm), since color names may
+ then lose their normal meaning.
+ </para>
<anchor id="mono" />
- <para>If your terminal does not support color, it is still possible
- change the video attributes through the use of the
- <quote>mono</quote> command. Usage:</para>
+ <para>
+ If your terminal does not support color, it is still possible change
+ the video attributes through the use of the <quote>mono</quote>
+ command. Usage:
+ </para>
<cmdsynopsis>
<command>mono</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>For
- <emphasis>object</emphasis>, see the
- <command>color</command> command.
- <emphasis>attribute</emphasis> can be one of the following:</para>
+ <para>
+ For <emphasis>object</emphasis>, see the <command>color</command>
+ command. <emphasis>attribute</emphasis> can be one of the following:
+ </para>
<itemizedlist>
<listitem>
- <para>none</para>
+ <para>
+ none
+ </para>
</listitem>
<listitem>
- <para>bold</para>
+ <para>
+ bold
+ </para>
</listitem>
<listitem>
- <para>underline</para>
+ <para>
+ underline
+ </para>
</listitem>
<listitem>
- <para>reverse</para>
+ <para>
+ reverse
+ </para>
</listitem>
<listitem>
- <para>standout</para>
+ <para>
+ standout
+ </para>
</listitem>
</itemizedlist>
</sect1>
<sect2 id="hdr-folding">
<title>Header Display</title>
- <para>When displaying a message in the pager, NeoMutt folds long header
- lines at
- <link linkend="wrap">$wrap</link> columns. Though there're precise rules
- about where to break and how, NeoMutt always folds headers using a tab for
- readability. (Note that the sending side is not affected by this, NeoMutt
- tries to implement standards compliant folding.)</para>
+ <para>
+ When displaying a message in the pager, NeoMutt folds long header
+ lines at <link linkend="wrap">$wrap</link> columns. Though there're
+ precise rules about where to break and how, NeoMutt always folds
+ headers using a tab for readability. (Note that the sending side is
+ not affected by this, NeoMutt tries to implement standards compliant
+ folding.)
+ </para>
</sect2>
<sect2 id="ignore">
<title>Selecting Headers</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>ignore</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>Messages often have many header fields added by automatic
- processing systems, or which may not seem useful to display on the
- screen. This command allows you to specify header fields which you
- don't normally want to see in the pager.</para>
- <para>You do not need to specify the full header field name. For
- example,
- <quote>ignore content-</quote>will ignore all header fields that begin
- with the pattern
- <quote>content-</quote>.
- <quote>ignore *</quote>will ignore all headers.</para>
- <para>To remove a previously added token from the list, use the
- <quote>unignore</quote> command. The
- <quote>unignore</quote> command will make NeoMutt display headers with the
- given pattern. For example, if you do
- <quote>ignore x-</quote>it is possible to
- <quote>unignore x-mailer</quote>.</para>
- <para>
- <quote>unignore *</quote>will remove all tokens from the ignore
- list.</para>
+ <para>
+ Messages often have many header fields added by automatic processing
+ systems, or which may not seem useful to display on the screen. This
+ command allows you to specify header fields which you don't normally
+ want to see in the pager.
+ </para>
+ <para>
+ You do not need to specify the full header field name. For example,
+ <quote>ignore content-</quote> will ignore all header fields that
+ begin with the pattern <quote>content-</quote>.
+ <quote>ignore *</quote> will ignore all headers.
+ </para>
+ <para>
+ To remove a previously added token from the list, use the
+ <quote>unignore</quote> command. The <quote>unignore</quote> command
+ will make NeoMutt display headers with the given pattern. For
+ example, if you do <quote>ignore x-</quote> it is possible to
+ <quote>unignore x-mailer</quote>.
+ </para>
+ <para>
+ <quote>unignore *</quote> will remove all tokens from the ignore
+ list.
+ </para>
<example id="ex-header-weeding">
<title>Header weeding</title>
<sect2 id="hdr-order">
<title>Ordering Displayed Headers</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>hdr_order</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>With the
- <command>hdr_order</command> command you can specify an order in which
- NeoMutt will attempt to present these headers to you when viewing
- messages.</para>
- <para>
- <quote>
- <command>unhdr_order</command>*</quote>will clear all previous headers
- from the order list, thus removing the header order effects set by the
- system-wide startup file.</para>
+ <para>
+ With the <command>hdr_order</command> command you can specify an
+ order in which NeoMutt will attempt to present these headers to you
+ when viewing messages.
+ </para>
+ <para>
+ <quote><command>unhdr_order</command>*</quote> will clear all
+ previous headers from the order list, thus removing the header order
+ effects set by the system-wide startup file.
+ </para>
<example id="ex-hdr-order">
<title>Configuring header display order</title>
<screen>hdr_order From Date: From: To: Cc: Subject:</screen>
<sect1 id="alternates">
<title>Alternative Addresses</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>alternates</command>
<arg choice="opt" rep="repeat">
</arg>
</group>
</cmdsynopsis>
- <para>With various functions, NeoMutt will treat messages differently,
- depending on whether you sent them or whether you received them from
- someone else. For instance, when replying to a message that you sent to a
- different party, NeoMutt will automatically suggest to send the response to
- the original message's recipients — responding to yourself won't make
- much sense in many cases. (See
- <link linkend="reply-to">$reply_to</link>.)</para>
- <para>Many users receive e-mail under a number of different addresses. To
- fully use NeoMutt's features here, the program must be able to recognize
- what e-mail addresses you receive mail under. That's the purpose of the
- <command>alternates</command> command: It takes a list of regular
- expressions, each of which can identify an address under which you
- receive e-mail.</para>
- <para>As addresses are matched using regular expressions and not exact
- strict comparisons, you should make sure you specify your addresses as
- precise as possible to avoid mismatches. For example, if you
- specify:</para>
+ <para>
+ With various functions, NeoMutt will treat messages differently,
+ depending on whether you sent them or whether you received them from
+ someone else. For instance, when replying to a message that you sent to
+ a different party, NeoMutt will automatically suggest to send the
+ response to the original message's recipients – responding to yourself
+ won't make much sense in many cases. (See
+ <link linkend="reply-to">$reply_to</link>.)
+ </para>
+ <para>
+ Many users receive e-mail under a number of different addresses. To
+ fully use NeoMutt's features here, the program must be able to
+ recognize what e-mail addresses you receive mail under. That's the
+ purpose of the <command>alternates</command> command: It takes a list
+ of regular expressions, each of which can identify an address under
+ which you receive e-mail.
+ </para>
+ <para>
+ As addresses are matched using regular expressions and not exact strict
+ comparisons, you should make sure you specify your addresses as precise
+ as possible to avoid mismatches. For example, if you specify:
+ </para>
<screen>alternates user@example</screen>
- <para>NeoMutt will consider
- <quote>
- <literal>some-user@example</literal>
- </quote>as being your address, too which may not be desired. As a
- solution, in such cases addresses should be specified as:</para>
+ <para>
+ NeoMutt will consider
+ <quote><literal>some-user@example</literal></quote> as being your
+ address, too which may not be desired. As a solution, in such cases
+ addresses should be specified as:
+ </para>
<screen>alternates '^user@example$'</screen>
- <para>The
- <literal>-group</literal> flag causes all of the subsequent regular
- expressions to be added to the named group.</para>
- <para>The
- <command>unalternates</command> command can be used to write exceptions to
- <command>alternates</command> patterns. If an address matches something in
- an
- <command>alternates</command> command, but you nonetheless do not think it
- is from you, you can list a more precise pattern under an
- <command>unalternates</command> command.</para>
- <para>To remove a regular expression from the
- <command>alternates</command> list, use the
- <command>unalternates</command> command with exactly the same
- <emphasis>regex</emphasis>. Likewise, if the
- <emphasis>regex</emphasis> for an
- <command>alternates</command> command matches an entry on the
- <command>unalternates</command> list, that
- <command>unalternates</command> entry will be removed. If the
- <emphasis>regex</emphasis> for
- <command>unalternates</command> is
- <quote>*</quote>,
- <emphasis>all entries</emphasis> on
- <command>alternates</command> will be removed.</para>
+ <para>
+ The <literal>-group</literal> flag causes all of the subsequent regular
+ expressions to be added to the named group.
+ </para>
+ <para>
+ The <command>unalternates</command> command can be used to write
+ exceptions to <command>alternates</command> patterns. If an address
+ matches something in an <command>alternates</command> command, but you
+ nonetheless do not think it is from you, you can list a more precise
+ pattern under an <command>unalternates</command> command.
+ </para>
+ <para>
+ To remove a regular expression from the <command>alternates</command>
+ list, use the <command>unalternates</command> command with exactly the
+ same <emphasis>regex</emphasis>. Likewise, if the
+ <emphasis>regex</emphasis> for an <command>alternates</command> command
+ matches an entry on the <command>unalternates</command> list, that
+ <command>unalternates</command> entry will be removed. If the
+ <emphasis>regex</emphasis> for <command>unalternates</command> is
+ <quote>*</quote>, <emphasis>all entries</emphasis> on
+ <command>alternates</command> will be removed.
+ </para>
</sect1>
<sect1 id="lists">
<title>Mailing Lists</title>
<anchor id="subscribe" />
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>lists</command>
<arg choice="opt" rep="repeat">
</arg>
</group>
</cmdsynopsis>
- <para>NeoMutt has a few nice features for
- <link linkend="using-lists">handling mailing lists</link>. In order to
- take advantage of them, you must specify which addresses belong to
- mailing lists, and which mailing lists you are subscribed to. NeoMutt also
- has limited support for auto-detecting mailing lists: it supports parsing
- <literal>mailto:</literal>links in the common
- <literal>List-Post:</literal>header which has the same effect as
- specifying the list address via the
- <command>lists</command> command (except the group feature). Once you have
- done this, the
- <link linkend="list-reply">
- <literal><list-reply></literal>
- </link>function will work for all known lists. Additionally, when you
- send a message to a subscribed list, NeoMutt will add a Mail-Followup-To
- header to tell other users' mail user agents not to send copies of
- replies to your personal address.</para>
+ <para>
+ NeoMutt has a few nice features for
+ <link linkend="using-lists">handling mailing lists</link>. In order to
+ take advantage of them, you must specify which addresses belong to
+ mailing lists, and which mailing lists you are subscribed to. NeoMutt
+ also has limited support for auto-detecting mailing lists: it supports
+ parsing <literal>mailto:</literal> links in the common
+ <literal>List-Post:</literal> header which has the same effect as
+ specifying the list address via the <command>lists</command> command
+ (except the group feature). Once you have done this, the
+ <link linkend="list-reply"><literal><list-reply></literal></link>
+ function will work for all known lists. Additionally, when you send
+ a message to a subscribed list, NeoMutt will add a Mail-Followup-To
+ header to tell other users' mail user agents not to send copies of
+ replies to your personal address.
+ </para>
<note>
- <para>The Mail-Followup-To header is a non-standard extension which is
- not supported by all mail user agents. Adding it is not bullet-proof
- against receiving personal CCs of list messages. Also note that the
- generation of the Mail-Followup-To header is controlled by the
- <link linkend="followup-to">$followup_to</link> configuration variable
- since it's common practice on some mailing lists to send Cc upon
- replies (which is more a group- than a list-reply).</para>
+ <para>
+ The Mail-Followup-To header is a non-standard extension which is not
+ supported by all mail user agents. Adding it is not bullet-proof
+ against receiving personal CCs of list messages. Also note that the
+ generation of the Mail-Followup-To header is controlled by the
+ <link linkend="followup-to">$followup_to</link> configuration
+ variable since it's common practice on some mailing lists to send Cc
+ upon replies (which is more a group- than a list-reply).
+ </para>
</note>
- <para>More precisely, NeoMutt maintains lists of patterns for the addresses
- of known and subscribed mailing lists. Every subscribed mailing list is
- known. To mark a mailing list as known, use the
- <command>list</command> command. To mark it as subscribed, use
- <command>subscribe</command>.</para>
- <para>You can use regular expressions with both commands. To mark all
- messages sent to a specific bug report's address on Debian's bug tracking
- system as list mail, for instance, you could say</para>
+ <para>
+ More precisely, NeoMutt maintains lists of patterns for the addresses
+ of known and subscribed mailing lists. Every subscribed mailing list is
+ known. To mark a mailing list as known, use the <command>list</command>
+ command. To mark it as subscribed, use <command>subscribe</command>.
+ </para>
+ <para>
+ You can use regular expressions with both commands. To mark all
+ messages sent to a specific bug report's address on Debian's bug
+ tracking system as list mail, for instance, you could say
+ </para>
<screen>subscribe [0-9]+.*@bugs.debian.org</screen>
- <para>as it's often sufficient to just give a portion of the list's
- e-mail address.</para>
- <para>Specify as much of the address as you need to to remove ambiguity.
- For example, if you've subscribed to the NeoMutt mailing list, you will
- receive mail addressed to
- <literal>neomutt-users@neomutt.org</literal>. So, to tell NeoMutt that this is a
- mailing list, you could add
- <literal>lists neomutt-users@</literal>to your initialization file. To tell
- NeoMutt that you are subscribed to it, add
- <literal>
- <command>subscribe</command> neomutt-users</literal> to your initialization
- file instead. If you also happen to get mail from someone whose address
- is
- <literal>neomutt-users@example.com</literal>, you could use
- <literal>
- <command>lists</command> ^neomutt-users@neomutt\\.org$</literal>or
- <literal>
- <command>subscribe</command> ^neomutt-users@neomutt\\.org$</literal>to match
- only mail from the actual list.</para>
- <para>The
- <literal>-group</literal> flag adds all of the subsequent regular
- expressions to the named
- <link linkend="addrgroup">address group</link> in addition to adding to
- the specified address list.</para>
- <para>The
- <quote>unlists</quote> command is used to remove a token from the list of
- known and subscribed mailing-lists. Use
- <quote>unlists *</quote>to remove all tokens.</para>
- <para>To remove a mailing list from the list of subscribed mailing lists,
- but keep it on the list of known mailing lists, use
- <command>unsubscribe</command>.</para>
- </sect1>
-
- <sect1 id="mbox-hook">
- <title>Using Multiple Spool Mailboxes</title>
- <para>Usage:</para>
- <cmdsynopsis>
- <command>mbox-hook</command>
- <arg choice="plain">
- <replaceable class="parameter">[!]regex</replaceable>
- </arg>
+ <para>
+ as it's often sufficient to just give a portion of the list's e-mail
+ address.
+ </para>
+ <para>
+ Specify as much of the address as you need to to remove ambiguity. For
+ example, if you've subscribed to the NeoMutt mailing list, you will
+ receive mail addressed to <literal>neomutt-users@neomutt.org</literal>.
+ So, to tell NeoMutt that this is a mailing list, you could add
+ <literal>lists neomutt-users@</literal> to your initialization file. To
+ tell NeoMutt that you are subscribed to it, add
+ <literal><command>subscribe</command> neomutt-users</literal> to your
+ initialization file instead. If you also happen to get mail from
+ someone whose address is <literal>neomutt-users@example.com</literal>,
+ you could use
+ <literal><command>lists</command>^neomutt-users@neomutt\\.org$</literal>
+ or
+ <literal><command>subscribe</command>^neomutt-users@neomutt\\.org$</literal>
+ to match only mail from the actual list.
+ </para>
+ <para>
+ The <literal>-group</literal> flag adds all of the subsequent regular
+ expressions to the named <link linkend="addrgroup">address group</link>
+ in addition to adding to the specified address list.
+ </para>
+ <para>
+ The <quote>unlists</quote> command is used to remove a token from the
+ list of known and subscribed mailing-lists. Use
+ <quote>unlists *</quote> to remove all tokens.
+ </para>
+ <para>
+ To remove a mailing list from the list of subscribed mailing lists, but
+ keep it on the list of known mailing lists, use
+ <command>unsubscribe</command>.
+ </para>
+ </sect1>
+
+ <sect1 id="mbox-hook">
+ <title>Using Multiple Spool Mailboxes</title>
+ <para>
+ Usage:
+ </para>
+ <cmdsynopsis>
+ <command>mbox-hook</command>
+ <arg choice="plain">
+ <replaceable class="parameter">[!]regex</replaceable>
+ </arg>
<arg choice="plain">
<replaceable class="parameter">mailbox</replaceable>
</arg>
</cmdsynopsis>
- <para>This command is used to move read messages from a specified mailbox
- to a different mailbox automatically when you quit or change folders.
- <emphasis>regex</emphasis> is a regular expression specifying the mailbox
- to treat as a
- <quote>spool</quote> mailbox and
- <emphasis>mailbox</emphasis> specifies where mail should be saved when
- read.</para>
- <para>The regex parameter has
- <link linkend="shortcuts">mailbox shortcut</link> expansion performed on
- the first character. See
- <xref linkend="mailbox-hook" />for more details.</para>
- <para>Note that execution of mbox-hooks is dependent on the
- <link linkend="move">$move</link> configuration variable. If set to
- <quote>no</quote>(the default), mbox-hooks will not be executed.</para>
- <para>Unlike some of the other
- <emphasis>hook</emphasis> commands, only the
- <emphasis>first</emphasis> matching regex is used (it is not possible to
- save read mail in more than a single mailbox).</para>
+ <para>
+ This command is used to move read messages from a specified mailbox to
+ a different mailbox automatically when you quit or change folders.
+ <emphasis>regex</emphasis> is a regular expression specifying the
+ mailbox to treat as a <quote>spool</quote> mailbox and
+ <emphasis>mailbox</emphasis> specifies where mail should be saved when
+ read.
+ </para>
+ <para>
+ The regex parameter has
+ <link linkend="shortcuts">mailbox shortcut</link> expansion performed
+ on the first character. See <xref linkend="mailbox-hook" /> for more
+ details.
+ </para>
+ <para>
+ Note that execution of mbox-hooks is dependent on the
+ <link linkend="move">$move</link> configuration variable. If set to
+ <quote>no</quote> (the default), mbox-hooks will not be executed.
+ </para>
+ <para>
+ Unlike some of the other <emphasis>hook</emphasis> commands, only the
+ <emphasis>first</emphasis> matching regex is used (it is not possible
+ to save read mail in more than a single mailbox).
+ </para>
</sect1>
<sect1 id="mailboxes">
<title>Monitoring Incoming Mail</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>mailboxes</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>This command specifies folders which can receive mail and which
- will be checked for new messages periodically.</para>
- <para>
- <emphasis>folder</emphasis> can either be a local file or directory
- (Mbox/Mmdf or Maildir/Mh). If NeoMutt was built with POP and/or IMAP
- support,
- <emphasis>folder</emphasis> can also be a POP/IMAP folder URL. The URL
- syntax is described in
- <xref linkend="url-syntax" />, POP and IMAP are described in
- <xref linkend="pop" />and
- <xref linkend="imap" />respectively.</para>
- <para>NeoMutt provides a number of advanced features for handling (possibly
- many) folders and new mail within them, please refer to
- <xref linkend="new-mail" />for details (including in what situations and
- how often NeoMutt checks for new mail). Additionally,
- <link linkend="new-mail-command">$new_mail_command</link> can be used
- to run a command when new mail is detected.</para>
- <para>The
- <quote>unmailboxes</quote> command is used to remove a token from the list
- of folders which receive mail. Use
- <quote>unmailboxes *</quote>to remove all tokens.</para>
+ <para>
+ This command specifies folders which can receive mail and which will be
+ checked for new messages periodically.
+ </para>
+ <para>
+ <emphasis>folder</emphasis> can either be a local file or directory
+ (Mbox/Mmdf or Maildir/Mh). If NeoMutt was built with POP and/or IMAP
+ support, <emphasis>folder</emphasis> can also be a POP/IMAP folder URL.
+ The URL syntax is described in <xref linkend="url-syntax" />, POP and
+ IMAP are described in <xref linkend="pop" /> and
+ <xref linkend="imap" /> respectively.
+ </para>
+ <para>
+ NeoMutt provides a number of advanced features for handling (possibly
+ many) folders and new mail within them, please refer to
+ <xref linkend="new-mail" /> for details (including in what situations
+ and how often NeoMutt checks for new mail). Additionally,
+ <link linkend="new-mail-command">$new_mail_command</link> can be used
+ to run a command when new mail is detected.
+ </para>
+ <para>
+ The <quote>unmailboxes</quote> command is used to remove a token from
+ the list of folders which receive mail. Use
+ <quote>unmailboxes *</quote> to remove all tokens.
+ </para>
<note>
- <para>The folders in the
- <command>mailboxes</command> command are resolved when the command is
- executed, so if these names contain
- <link linkend="shortcuts">shortcut characters</link>(such as
- <quote>=</quote>and
- <quote>!</quote>), any variable definition that affects these
- characters (like
- <link linkend="folder">$folder</link> and
- <link linkend="spoolfile">$spoolfile</link>) should be set before the
- <command>mailboxes</command> command. If none of these shortcuts are
- used, a local path should be absolute as otherwise NeoMutt tries to find
- it relative to the directory from where NeoMutt was started which may not
- always be desired.</para>
+ <para>
+ The folders in the <command>mailboxes</command> command are resolved
+ when the command is executed, so if these names contain
+ <link linkend="shortcuts">shortcut characters</link> (such as
+ <quote>=</quote> and <quote>!</quote>), any variable definition that
+ affects these characters (like <link linkend="folder">$folder</link>
+ and <link linkend="spoolfile">$spoolfile</link>) should be set before
+ the <command>mailboxes</command> command. If none of these shortcuts
+ are used, a local path should be absolute as otherwise NeoMutt tries
+ to find it relative to the directory from where NeoMutt was started
+ which may not always be desired.
+ </para>
</note>
</sect1>
<sect1 id="my-hdr">
<title>User-Defined Headers</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>my_hdr</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>The
- <command>my_hdr</command> command allows you to create your own header
- fields which will be added to every message you send and appear in the
- editor if
- <link linkend="edit-headers">$edit_headers</link> is set.</para>
- <para>For example, if you would like to add an
- <quote>Organization:</quote>header field to all of your outgoing
- messages, you can put the command something like shown in
- <xref linkend="ex-my-hdr" />in your
- <literal>.neomuttrc</literal>.</para>
+ <para>
+ The <command>my_hdr</command> command allows you to create your own
+ header fields which will be added to every message you send and appear
+ in the editor if <link linkend="edit-headers">$edit_headers</link> is
+ set.
+ </para>
+ <para>
+ For example, if you would like to add an <quote>Organization:</quote>
+ header field to all of your outgoing messages, you can put the command
+ something like shown in <xref linkend="ex-my-hdr" /> in your
+ <literal>.neomuttrc</literal>.
+ </para>
<example id="ex-my-hdr">
<title>Defining custom headers</title>
</example>
<note>
- <para>Space characters are
- <emphasis>not</emphasis> allowed between the keyword and the colon (
- <quote>:</quote>). The standard for electronic mail (RFC2822) says that
- space is illegal there, so NeoMutt enforces the rule.</para>
+ <para>
+ Space characters are <emphasis>not</emphasis> allowed between the
+ keyword and the colon (<quote>:</quote>). The standard for
+ electronic mail (RFC2822) says that space is illegal there, so
+ NeoMutt enforces the rule.
+ </para>
</note>
- <para>If you would like to add a header field to a single message, you
- should either set the
- <link linkend="edit-headers">$edit_headers</link> variable, or use the
- <literal><edit-headers></literal>function (default:
- <quote>E</quote>) in the compose menu so that you can edit the header of
- your message along with the body.</para>
- <para>To remove user defined header fields, use the
- <command>unmy_hdr</command> command. You may specify an asterisk (
- <quote>*</quote>) to remove all header fields, or the fields to remove.
- For example, to remove all
- <quote>To</quote> and
- <quote>Cc</quote> header fields, you could use:</para>
+ <para>
+ If you would like to add a header field to a single message, you should
+ either set the <link linkend="edit-headers">$edit_headers</link>
+ variable, or use the <literal><edit-headers></literal> function
+ (default: <quote>E</quote>) in the compose menu so that you can edit
+ the header of your message along with the body.
+ </para>
+ <para>
+ To remove user defined header fields, use the
+ <command>unmy_hdr</command> command. You may specify an asterisk
+ (<quote>*</quote>) to remove all header fields, or the fields to
+ remove. For example, to remove all <quote>To</quote> and
+ <quote>Cc</quote> header fields, you could use:
+ </para>
<screen>unmy_hdr to cc</screen>
</sect1>
<sect1 id="save-hook">
<title>Specify Default Save Mailbox</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>save-hook</command>
<arg choice="plain">
<replaceable class="parameter">mailbox</replaceable>
</arg>
</cmdsynopsis>
- <para>This command is used to override the default mailbox used when
- saving messages.
- <emphasis>mailbox</emphasis> will be used as the default if the message
- matches
- <emphasis>pattern</emphasis>, see
- <xref linkend="pattern-hook" />for information on the exact
- format.</para>
- <para>To provide more flexibility and good defaults, NeoMutt applies the
- expandos of
- <link linkend="index-format">$index_format</link> to
- <emphasis>mailbox</emphasis> after it was expanded.</para>
+ <para>
+ This command is used to override the default mailbox used when saving
+ messages. <emphasis>mailbox</emphasis> will be used as the default if
+ the message matches <emphasis>pattern</emphasis>, see
+ <xref linkend="pattern-hook" /> for information on the exact format.
+ </para>
+ <para>
+ To provide more flexibility and good defaults, NeoMutt applies the
+ expandos of <link linkend="index-format">$index_format</link> to
+ <emphasis>mailbox</emphasis> after it was expanded.
+ </para>
<example id="ex-save-hook-exando">
<title>Using %-expandos in
<command>save-hook</command></title>
</screen>
</example>
- <para>Also see the
- <link linkend="fcc-save-hook">
- <command>fcc-save-hook</command>
- </link>command.</para>
+ <para>
+ Also see the
+ <link linkend="fcc-save-hook"><command>fcc-save-hook</command></link>
+ command.
+ </para>
</sect1>
<sect1 id="fcc-hook">
<title>Specify Default Fcc: Mailbox When Composing</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>fcc-hook</command>
<arg choice="plain">
<replaceable class="parameter">mailbox</replaceable>
</arg>
</cmdsynopsis>
- <para>This command is used to save outgoing mail in a mailbox other than
- <link linkend="record">$record</link>. NeoMutt searches the initial list of
- message recipients for the first matching
- <emphasis>pattern</emphasis> and uses
- <emphasis>mailbox</emphasis> as the default Fcc: mailbox. If no match is
- found the message will be saved to
- <link linkend="record">$record</link> mailbox.</para>
- <para>To provide more flexibility and good defaults, NeoMutt applies the
- expandos of
- <link linkend="index-format">$index_format</link> to
- <emphasis>mailbox</emphasis> after it was expanded.</para>
- <para>See
- <xref linkend="pattern-hook" />for information on the exact format of
- <emphasis>pattern</emphasis>.</para>
+ <para>
+ This command is used to save outgoing mail in a mailbox other than
+ <link linkend="record">$record</link>. NeoMutt searches the initial
+ list of message recipients for the first matching
+ <emphasis>pattern</emphasis> and uses <emphasis>mailbox</emphasis> as
+ the default Fcc: mailbox. If no match is found the message will be
+ saved to <link linkend="record">$record</link> mailbox.
+ </para>
+ <para>
+ To provide more flexibility and good defaults, NeoMutt applies the
+ expandos of <link linkend="index-format">$index_format</link> to
+ <emphasis>mailbox</emphasis> after it was expanded.
+ </para>
+ <para>
+ See <xref linkend="pattern-hook" /> for information on the exact format
+ of <emphasis>pattern</emphasis>.
+ </para>
<screen>fcc-hook [@.]aol\\.com$ +spammers</screen>
- <para>...will save a copy of all messages going to the aol.com domain to
- the `+spammers' mailbox by default. Also see the
- <link linkend="fcc-save-hook">
- <command>fcc-save-hook</command>
- </link>command.</para>
+ <para>
+ ...will save a copy of all messages going to the aol.com domain to the
+ `+spammers' mailbox by default. Also see the
+ <link linkend="fcc-save-hook"><command>fcc-save-hook</command></link>
+ command.
+ </para>
</sect1>
<sect1 id="fcc-save-hook">
- <title>Specify Default Save Filename and Default Fcc: Mailbox at
- Once</title>
- <para>Usage:</para>
+ <title>Specify Default Save Filename and Default Fcc: Mailbox at Once</title>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>fcc-save-hook</command>
<arg choice="plain">
<replaceable class="parameter">mailbox</replaceable>
</arg>
</cmdsynopsis>
- <para>This command is a shortcut, equivalent to doing both a
- <link linkend="fcc-hook">
- <command>fcc-hook</command>
- </link>and a
- <link linkend="save-hook">
- <command>save-hook</command>
- </link>with its arguments, including %-expansion on
- <emphasis>mailbox</emphasis> according to
- <link linkend="index-format">$index_format</link>.</para>
+ <para>
+ This command is a shortcut, equivalent to doing both a
+ <link linkend="fcc-hook"><command>fcc-hook</command></link> and a
+ <link linkend="save-hook"><command>save-hook</command></link> with its
+ arguments, including %-expansion on <emphasis>mailbox</emphasis>
+ according to <link linkend="index-format">$index_format</link>.
+ </para>
</sect1>
<sect1 id="send-hook">
<title>Change Settings Based Upon Message Recipients</title>
<anchor id="reply-hook" />
<anchor id="send2-hook" />
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>reply-hook</command>
<arg choice="plain">
<replaceable class="parameter">command</replaceable>
</arg>
</cmdsynopsis>
- <para>These commands can be used to execute arbitrary configuration
- commands based upon recipients of the message.
- <emphasis>pattern</emphasis> is used to match the message, see
- <xref linkend="pattern-hook" />for details.
- <emphasis>command</emphasis> is executed when
- <emphasis>pattern</emphasis> matches.</para>
- <para>
- <command>reply-hook</command> is matched against the message you are
- <emphasis>replying to</emphasis>, instead of the message you are
- <emphasis>sending</emphasis>.
- <command>send-hook</command> is matched against all messages, both
- <emphasis>new</emphasis> and
- <emphasis>replies</emphasis>.</para>
+ <para>
+ These commands can be used to execute arbitrary configuration commands
+ based upon recipients of the message. <emphasis>pattern</emphasis> is
+ used to match the message, see <xref linkend="pattern-hook" /> for
+ details. <emphasis>command</emphasis> is executed when
+ <emphasis>pattern</emphasis> matches.
+ </para>
+ <para>
+ <command>reply-hook</command> is matched against the message you are
+ <emphasis>replying to</emphasis>, instead of the message you are
+ <emphasis>sending</emphasis>. <command>send-hook</command> is matched
+ against all messages, both <emphasis>new</emphasis> and
+ <emphasis>replies</emphasis>.
+ </para>
<note>
<para>
- <command>reply-hook</command>s are matched
- <emphasis>before</emphasis> the
- <command>send-hook</command>,
- <emphasis>regardless</emphasis> of the order specified in the user's
- configuration file. However, you can inhibit
- <command>send-hook</command> in the reply case by using the pattern
- <literal>'! ~Q'</literal>(
- <emphasis>not replied</emphasis>, see
- <xref linkend="pattern-hook" />) in the
- <command>send-hook</command> to tell when
- <command>reply-hook</command> have been executed.</para>
+ <command>reply-hook</command>s are matched
+ <emphasis>before</emphasis> the <command>send-hook</command>,
+ <emphasis>regardless</emphasis> of the order specified in the user's
+ configuration file. However, you can inhibit
+ <command>send-hook</command> in the reply case by using the pattern
+ <literal>'! ~Q'</literal> (<emphasis>not replied</emphasis>, see
+ <xref linkend="pattern-hook" />) in the <command>send-hook</command>
+ to tell when <command>reply-hook</command> have been executed.
+ </para>
</note>
<para>
- <command>send2-hook</command> is matched every time a message is changed,
- either by editing it, or by using the compose menu to change its
- recipients or subject.
- <command>send2-hook</command> is executed after
- <command>send-hook</command>, and can, e.g., be used to set parameters
- such as the
- <link linkend="sendmail">$sendmail</link> variable depending on the
- message's sender address.</para>
- <para>For each type of
- <command>send-hook</command> or
- <command>reply-hook</command>, when multiple matches occur, commands are
- executed in the order they are specified in the
- <literal>.neomuttrc</literal>(for that type of hook).</para>
- <para>Example:
- <literal>
- <command>send-hook</command> work "
- <command>set</command> mime_forward signature=''"</literal></para>
- <para>Another typical use for this command is to change the values of the
- <link linkend="attribution">$attribution</link>,
- <link linkend="attribution-locale">$attribution_locale</link>, and
- <link linkend="signature">$signature</link> variables in order to change
- the language of the attributions and signatures based upon the
- recipients.</para>
+ <command>send2-hook</command> is matched every time a message is
+ changed, either by editing it, or by using the compose menu to change
+ its recipients or subject. <command>send2-hook</command> is executed
+ after <command>send-hook</command>, and can, e.g., be used to set
+ parameters such as the <link linkend="sendmail">$sendmail</link>
+ variable depending on the message's sender address.
+ </para>
+ <para>
+ For each type of <command>send-hook</command> or
+ <command>reply-hook</command>, when multiple matches occur, commands
+ are executed in the order they are specified in the
+ <literal>.neomuttrc</literal> (for that type of hook).
+ </para>
+ <para>
+ Example:
+ <literal>
+ <command>send-hook</command> work "<command>set</command>
+ mime_forward signature=''"
+ </literal>
+ </para>
+ <para>
+ Another typical use for this command is to change the values of the
+ <link linkend="attribution">$attribution</link>,
+ <link linkend="attribution-locale">$attribution_locale</link>, and
+ <link linkend="signature">$signature</link> variables in order to
+ change the language of the attributions and signatures based upon the
+ recipients.
+ </para>
<note>
<para>
- <command>send-hook</command>'s are only executed once after getting the
- initial list of recipients. Adding a recipient after replying or
- editing the message will not cause any
- <command>send-hook</command> to be executed, similarly if
- <link linkend="autoedit">$autoedit</link> is set (as then the initial
- list of recipients is empty). Also note that
- <link linkend="my-hdr">
- <command>my_hdr</command>
- </link>commands which modify recipient headers, or the message's
- subject, don't have any effect on the current message when executed
- from a
- <command>send-hook</command>.</para>
+ <command>send-hook</command>'s are only executed once after getting the
+ initial list of recipients. Adding a recipient after replying or
+ editing the message will not cause any
+ <command>send-hook</command> to be executed, similarly if
+ <link linkend="autoedit">$autoedit</link> is set (as then the initial
+ list of recipients is empty). Also note that
+ <link linkend="my-hdr"><command>my_hdr</command></link> commands
+ which modify recipient headers, or the message's subject, don't have
+ any effect on the current message when executed from
+ a <command>send-hook</command>.
+ </para>
</note>
</sect1>
<sect1 id="message-hook">
<title>Change Settings Before Formatting a Message</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>message-hook</command>
<arg choice="plain">
<replaceable class="parameter">command</replaceable>
</arg>
</cmdsynopsis>
- <para>This command can be used to execute arbitrary configuration
- commands before viewing or formatting a message based upon information
- about the message.
- <emphasis>command</emphasis> is executed if the
- <emphasis>pattern</emphasis> matches the message to be displayed. When
- multiple matches occur, commands are executed in the order they are
- specified in the
- <literal>.neomuttrc</literal>.</para>
- <para>See
- <xref linkend="pattern-hook" />for information on the exact format of
- <emphasis>pattern</emphasis>.</para>
- <para>Example:</para>
+ <para>
+ This command can be used to execute arbitrary configuration commands
+ before viewing or formatting a message based upon information about the
+ message. <emphasis>command</emphasis> is executed if the
+ <emphasis>pattern</emphasis> matches the message to be displayed. When
+ multiple matches occur, commands are executed in the order they are
+ specified in the <literal>.neomuttrc</literal>.
+ </para>
+ <para>
+ See <xref linkend="pattern-hook" /> for information on the exact format
+ of <emphasis>pattern</emphasis>.
+ </para>
+ <para>
+ Example:
+ </para>
<screen>
message-hook ~A 'set pager=builtin'
<sect1 id="crypt-hook">
<title>Choosing the Cryptographic Key of the Recipient</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>crypt-hook</command>
<arg choice="plain">
<replaceable class="parameter">keyid</replaceable>
</arg>
</cmdsynopsis>
- <para>When encrypting messages with PGP/GnuPG or OpenSSL, you may want to
- associate a certain key with a given e-mail address automatically, either
- because the recipient's public key can't be deduced from the destination
- address, or because, for some reasons, you need to override the key NeoMutt
- would normally use. The
- <command>crypt-hook</command> command provides a method by which you can
- specify the ID of the public key to be used when encrypting messages to a
- certain recipient. You may use multiple crypt-hooks with the same regex;
- multiple matching crypt-hooks result in the use of multiple keyids for a
- recipient. During key selection, NeoMutt will confirm whether each
- crypt-hook is to be used (unless the
- <link linkend="crypt-confirmhook">$crypt_confirmhook</link> option is
- unset). If all crypt-hooks for a recipient are declined, NeoMutt will use
- the original recipient address for key selection instead.</para>
- <para>The meaning of
- <emphasis>keyid</emphasis> is to be taken broadly in this context: You can
- either put a numerical key ID or fingerprint here, an e-mail address, or
- even just a real name.</para>
+ <para>
+ When encrypting messages with PGP/GnuPG or OpenSSL, you may want to
+ associate a certain key with a given e-mail address automatically,
+ either because the recipient's public key can't be deduced from the
+ destination address, or because, for some reasons, you need to override
+ the key NeoMutt would normally use. The <command>crypt-hook</command>
+ command provides a method by which you can specify the ID of the public
+ key to be used when encrypting messages to a certain recipient. You may
+ use multiple crypt-hooks with the same regex; multiple matching
+ crypt-hooks result in the use of multiple keyids for a recipient.
+ During key selection, NeoMutt will confirm whether each crypt-hook is
+ to be used (unless the
+ <link linkend="crypt-confirmhook">$crypt_confirmhook</link> option is
+ unset). If all crypt-hooks for a recipient are declined, NeoMutt will
+ use the original recipient address for key selection instead.
+ </para>
+ <para>
+ The meaning of <emphasis>keyid</emphasis> is to be taken broadly in
+ this context: You can either put a numerical key ID or fingerprint
+ here, an e-mail address, or even just a real name.
+ </para>
</sect1>
<sect1 id="push">
<title>Adding Key Sequences to the Keyboard Buffer</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>push</command>
<arg choice="plain">
<replaceable class="parameter">string</replaceable>
</arg>
</cmdsynopsis>
- <para>This command adds the named string to the beginning of the keyboard
- buffer. The string may contain control characters, key names and function
- names like the sequence string in the
- <link linkend="macro">macro</link> command. You may use it to
- automatically run a sequence of commands at startup, or when entering
- certain folders. For example,
- <xref linkend="ex-folder-hook-push" />shows how to automatically collapse
- all threads when entering a folder.</para>
+ <para>
+ This command adds the named string to the beginning of the keyboard
+ buffer. The string may contain control characters, key names and
+ function names like the sequence string in the
+ <link linkend="macro">macro</link> command. You may use it to
+ automatically run a sequence of commands at startup, or when entering
+ certain folders. For example, <xref linkend="ex-folder-hook-push" />
+ shows how to automatically collapse all threads when entering a folder.
+ </para>
<example id="ex-folder-hook-push">
<title>Embedding
<command>push</command> in
<command>folder-hook</command></title>
<screen>folder-hook . 'push <collapse-all>'</screen>
</example>
- <para>For using functions like shown in the example, it's important to
- use angle brackets (
- <quote><</quote>and
- <quote>></quote>) to make NeoMutt recognize the input as a function name.
- Otherwise it will simulate individual just keystrokes, i.e.
- <quote>
- <literal>push collapse-all</literal>
- </quote>would be interpreted as if you had typed
- <quote>c</quote>, followed by
- <quote>o</quote>, followed by
- <quote>l</quote>, ..., which is not desired and may lead to very
- unexpected behavior.</para>
- <para>Keystrokes can be used, too, but are less portable because of
- potentially changed key bindings. With default bindings, this is
- equivalent to the above example:</para>
+ <para>
+ For using functions like shown in the example, it's important to use
+ angle brackets (<quote><</quote> and <quote>></quote>) to make
+ NeoMutt recognize the input as a function name. Otherwise it will
+ simulate individual just keystrokes, i.e.
+ <quote><literal>push collapse-all</literal></quote> would be
+ interpreted as if you had typed <quote>c</quote>, followed by
+ <quote>o</quote>, followed by <quote>l</quote>, ..., which is not
+ desired and may lead to very unexpected behavior.
+ </para>
+ <para>
+ Keystrokes can be used, too, but are less portable because of
+ potentially changed key bindings. With default bindings, this is
+ equivalent to the above example:
+ </para>
<screen>folder-hook . 'push \eV'</screen>
- <para>because it simulates that Esc+V was pressed (which is the default
- binding of
- <literal><collapse-all></literal>).</para>
+ <para>
+ because it simulates that Esc+V was pressed (which is the default
+ binding of <literal><collapse-all></literal>).
+ </para>
</sect1>
<sect1 id="exec">
<title>Executing Functions</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>exec</command>
<arg choice="plain">
<replaceable class="parameter">function</replaceable>
</arg>
</cmdsynopsis>
- <para>This command can be used to execute any function. Functions are
- listed in the
- <link linkend="functions">function reference</link>.
- <quote>
- <command>exec</command>
- <literal>function</literal>
- </quote>is equivalent to
- <quote>
- <literal>push <function></literal>
- </quote>.</para>
+ <para>
+ This command can be used to execute any function. Functions are listed
+ in the <link linkend="functions">function reference</link>.
+ <quote><command>exec</command> <literal>function</literal></quote> is
+ equivalent to <quote><literal>push <function></literal></quote>.
+ </para>
</sect1>
<sect1 id="score-command">
<title>Message Scoring</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>score</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>The
- <command>score</command> commands adds
- <emphasis>value</emphasis> to a message's score if
- <emphasis>pattern</emphasis> matches it.
- <emphasis>pattern</emphasis> is a string in the format described in the
- <link linkend="patterns">patterns</link> section (note: For efficiency
- reasons, patterns which scan information not available in the index, such
- as
- <literal>~b</literal>,
- <literal>~B</literal>,
- <literal>~h</literal>, or
- <literal>~X</literal> may not be used).
- <emphasis>value</emphasis> is a positive or negative integer. A message's
- final score is the sum total of all matching
- <command>score</command> entries. However, you may optionally prefix
- <emphasis>value</emphasis> with an equal sign (
- <quote>=</quote>) to cause evaluation to stop at a particular entry if
- there is a match. Negative final scores are rounded up to 0.</para>
- <para>The
- <command>unscore</command> command removes score entries from the list.
- You
- <emphasis>must</emphasis> specify the same pattern specified in the
- <command>score</command> command for it to be removed. The pattern
- <quote>*</quote>is a special token which means to clear the list of all
- score entries.</para>
-
- <para>Scoring occurs as the messages are read in, before the mailbox is
- sorted. Because of this, patterns which depend on threading, such as
- <emphasis>~=</emphasis>,
- <emphasis>~$</emphasis>, and
- <emphasis>~()</emphasis>, will not work by default. A workaround is to push
- the scoring command in a folder hook. This will cause the mailbox to be
- rescored after it is opened and input starts being processed:</para>
+ <para>
+ The <command>score</command> commands adds <emphasis>value</emphasis>
+ to a message's score if <emphasis>pattern</emphasis> matches it.
+ <emphasis>pattern</emphasis> is a string in the format described in the
+ <link linkend="patterns">patterns</link> section (note: For efficiency
+ reasons, patterns which scan information not available in the index,
+ such as <literal>~b</literal>, <literal>~B</literal>,
+ <literal>~h</literal>, or <literal>~X</literal> may not be used).
+ <emphasis>value</emphasis> is a positive or negative integer.
+ A message's final score is the sum total of all matching
+ <command>score</command> entries. However, you may optionally prefix
+ <emphasis>value</emphasis> with an equal sign (<quote>=</quote>) to
+ cause evaluation to stop at a particular entry if there is a match.
+ Negative final scores are rounded up to 0.
+ </para>
+ <para>
+ The <command>unscore</command> command removes score entries from the
+ list. You <emphasis>must</emphasis> specify the same pattern specified
+ in the <command>score</command> command for it to be removed. The
+ pattern <quote>*</quote> is a special token which means to clear the
+ list of all score entries.
+ </para>
+ <para>
+ Scoring occurs as the messages are read in, before the mailbox is
+ sorted. Because of this, patterns which depend on threading, such as
+ <emphasis>~=</emphasis>, <emphasis>~$</emphasis>, and
+ <emphasis>~()</emphasis>, will not work by default. A workaround is to
+ push the scoring command in a folder hook. This will cause the mailbox
+ to be rescored after it is opened and input starts being processed:
+ </para>
<screen>
folder-hook . 'push "<enter-command>score ~= 10<enter>"'
<sect1 id="spam">
<title>Spam Detection</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>spam</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>NeoMutt has generalized support for external spam-scoring filters. By
- defining your spam patterns with the
- <command>spam</command> and
- <literal>nospam</literal> commands, you can
- <emphasis>limit</emphasis>,
- <emphasis>search</emphasis>, and
- <emphasis>sort</emphasis> your mail based on its spam attributes, as
- determined by the external filter. You also can display the spam
- attributes in your index display using the
- <literal>%H</literal> selector in the
- <link linkend="index-format">$index_format</link> variable. (Tip: try
- <literal>%?H?[%H] ?</literal>to display spam tags only when they are
- defined for a given message.)</para>
- <para>Your first step is to define your external filter's spam patterns
- using the
- <command>spam</command> command.
- <emphasis>pattern</emphasis> should be a regular expression that matches a
- header in a mail message. If any message in the mailbox matches this
- regular expression, it will receive a
- <quote>spam tag</quote> or
- <quote>spam attribute</quote>(unless it also matches a
- <command>nospam</command> pattern — see below.) The appearance of this
- attribute is entirely up to you, and is governed by the
- <emphasis>format</emphasis> parameter.
- <emphasis>format</emphasis> can be any static text, but it also can
- include back-references from the
- <emphasis>pattern</emphasis> expression. (A regular expression
- <quote>back-reference</quote> refers to a sub-expression contained within
- parentheses.)
- <literal>%1</literal> is replaced with the first back-reference in the
- regex,
- <literal>%2</literal> with the second, etc.</para>
- <para>To match spam tags, NeoMutt needs the corresponding header information
- which is always the case for local and POP folders but not for IMAP in
- the default configuration. Depending on the spam header to be analyzed,
- <link linkend="imap-headers">$imap_headers</link> may need to be
- adjusted.</para>
- <para>If you're using multiple spam filters, a message can have more than
- one spam-related header. You can define
- <command>spam</command> patterns for each filter you use. If a message
- matches two or more of these patterns, and the
- <link linkend="spam-separator">$spam_separator</link> variable is set to a
- string, then the message's spam tag will consist of all the
- <emphasis>format</emphasis> strings joined together, with the value of
- <link linkend="spam-separator">$spam_separator</link> separating
- them.</para>
- <para>For example, suppose one uses DCC, SpamAssassin, and PureMessage,
- then the configuration might look like in
- <xref linkend="ex-spam" />.</para>
+ <para>
+ NeoMutt has generalized support for external spam-scoring filters. By
+ defining your spam patterns with the <command>spam</command> and
+ <literal>nospam</literal> commands, you can <emphasis>limit</emphasis>,
+ <emphasis>search</emphasis>, and <emphasis>sort</emphasis> your mail
+ based on its spam attributes, as determined by the external filter. You
+ also can display the spam attributes in your index display using the
+ <literal>%H</literal> selector in the
+ <link linkend="index-format">$index_format</link> variable. (Tip: try
+ <literal>%?H?[%H] ?</literal> to display spam tags only when they are
+ defined for a given message.)
+ </para>
+ <para>
+ Your first step is to define your external filter's spam patterns using
+ the <command>spam</command> command. <emphasis>pattern</emphasis>
+ should be a regular expression that matches a header in a mail message.
+ If any message in the mailbox matches this regular expression, it will
+ receive a <quote>spam tag</quote> or <quote>spam attribute</quote>
+ (unless it also matches a <command>nospam</command> pattern – see
+ below.) The appearance of this attribute is entirely up to you, and is
+ governed by the <emphasis>format</emphasis> parameter.
+ <emphasis>format</emphasis> can be any static text, but it also can
+ include back-references from the <emphasis>pattern</emphasis>
+ expression. (A regular expression <quote>back-reference</quote> refers
+ to a sub-expression contained within parentheses.)
+ <literal>%1</literal> is replaced with the first back-reference in the
+ regex, <literal>%2</literal> with the second, etc.
+ </para>
+ <para>
+ To match spam tags, NeoMutt needs the corresponding header information
+ which is always the case for local and POP folders but not for IMAP in
+ the default configuration. Depending on the spam header to be analyzed,
+ <link linkend="imap-headers">$imap_headers</link> may need to be
+ adjusted.
+ </para>
+ <para>
+ If you're using multiple spam filters, a message can have more than one
+ spam-related header. You can define <command>spam</command> patterns
+ for each filter you use. If a message matches two or more of these
+ patterns, and the <link linkend="spam-separator">$spam_separator</link>
+ variable is set to a string, then the message's spam tag will consist
+ of all the <emphasis>format</emphasis> strings joined together, with
+ the value of <link linkend="spam-separator">$spam_separator</link>
+ separating them.
+ </para>
+ <para>
+ For example, suppose one uses DCC, SpamAssassin, and PureMessage, then
+ the configuration might look like in <xref linkend="ex-spam" />.
+ </para>
<example id="ex-spam">
<title>Configuring spam detection</title>
</screen>
</example>
- <para>If then a message is received that DCC registered with
- <quote>many</quote> hits under the
- <quote>Fuz2</quote> checksum, and that PureMessage registered with a 97%
- probability of being spam, that message's spam tag would read
- <literal>90+/DCC-Fuz2, 97/PM</literal>. (The four characters before
- <quote>=many</quote> in a DCC report indicate the checksum used — in this
- case,
- <quote>Fuz2</quote>.)</para>
- <para>If the
- <link linkend="spam-separator">$spam_separator</link> variable is unset,
- then each spam pattern match supersedes the previous one. Instead of
- getting joined
- <emphasis>format</emphasis> strings, you'll get only the last one to
- match.</para>
- <para>The spam tag is what will be displayed in the index when you use
- <literal>%H</literal> in the
- <link linkend="index-format">$index_format</link> variable. It's also the
- string that the
- <literal>~H</literal> pattern-matching expression matches against for
- <literal><search></literal>and
- <literal><limit></literal>functions. And it's what sorting by spam
- attribute will use as a sort key.</para>
- <para>That's a pretty complicated example, and most people's actual
- environments will have only one spam filter. The simpler your
- configuration, the more effective NeoMutt can be, especially when it comes
- to sorting.</para>
- <para>Generally, when you sort by spam tag, NeoMutt will sort
- <emphasis>lexically</emphasis>— that is, by ordering strings
- alphanumerically. However, if a spam tag begins with a number, NeoMutt will
- sort numerically first, and lexically only when two numbers are equal in
- value. (This is like UNIX's
- <literal>sort -n</literal>.) A message with no spam attributes at all —
- that is, one that didn't match
- <emphasis>any</emphasis> of your
- <command>spam</command> patterns — is sorted at lowest priority. Numbers
- are sorted next, beginning with 0 and ranging upward. Finally,
- non-numeric strings are sorted, with
- <quote>a</quote> taking lower priority than
- <quote>z</quote>. Clearly, in general, sorting by spam tags is most
- effective when you can coerce your filter to give you a raw number. But
- in case you can't, NeoMutt can still do something useful.</para>
- <para>The
- <command>nospam</command> command can be used to write exceptions to
- <command>spam</command> patterns. If a header pattern matches something in
- a
- <command>spam</command> command, but you nonetheless do not want it to
- receive a spam tag, you can list a more precise pattern under a
- <command>nospam</command> command.</para>
- <para>If the
- <emphasis>pattern</emphasis> given to
- <command>nospam</command> is exactly the same as the
- <emphasis>pattern</emphasis> on an existing
- <command>spam</command> list entry, the effect will be to remove the entry
- from the spam list, instead of adding an exception. Likewise, if the
- <emphasis>pattern</emphasis> for a
- <command>spam</command> command matches an entry on the
- <command>nospam</command> list, that nospam entry will be removed. If the
- <emphasis>pattern</emphasis> for
- <command>nospam</command> is
- <quote>*</quote>,
- <emphasis>all entries on both lists</emphasis> will be removed. This might
- be the default action if you use
- <command>spam</command> and
- <command>nospam</command> in conjunction with a
- <command>folder-hook</command>.</para>
- <para>You can have as many
- <command>spam</command> or
- <command>nospam</command> commands as you like. You can even do your own
- primitive
- <command>spam</command> detection within NeoMutt — for example, if you
- consider all mail from
- <literal>MAILER-DAEMON</literal> to be spam, you can use a
- <command>spam</command> command like this:</para>
+ <para>
+ If then a message is received that DCC registered with
+ <quote>many</quote> hits under the <quote>Fuz2</quote> checksum, and
+ that PureMessage registered with a 97% probability of being spam, that
+ message's spam tag would read <literal>90+/DCC-Fuz2, 97/PM</literal>.
+ (The four characters before <quote>=many</quote> in a DCC report
+ indicate the checksum used – in this case, <quote>Fuz2</quote>.)
+ </para>
+ <para>
+ If the <link linkend="spam-separator">$spam_separator</link> variable
+ is unset, then each spam pattern match supersedes the previous one.
+ Instead of getting joined <emphasis>format</emphasis> strings, you'll
+ get only the last one to match.
+ </para>
+ <para>
+ The spam tag is what will be displayed in the index when you use
+ <literal>%H</literal> in the
+ <link linkend="index-format">$index_format</link> variable. It's also
+ the string that the <literal>~H</literal> pattern-matching expression
+ matches against for <literal><search></literal> and
+ <literal><limit></literal> functions. And it's what sorting by
+ spam attribute will use as a sort key.
+ </para>
+ <para>
+ That's a pretty complicated example, and most people's actual
+ environments will have only one spam filter. The simpler your
+ configuration, the more effective NeoMutt can be, especially when it
+ comes to sorting.
+ </para>
+ <para>
+ Generally, when you sort by spam tag, NeoMutt will sort
+ <emphasis>lexically</emphasis> – that is, by ordering strings
+ alphanumerically. However, if a spam tag begins with a number, NeoMutt
+ will sort numerically first, and lexically only when two numbers are
+ equal in value. (This is like UNIX's <literal>sort -n</literal>.)
+ A message with no spam attributes at all – that is, one that didn't
+ match <emphasis>any</emphasis> of your <command>spam</command> patterns
+ – is sorted at lowest priority. Numbers are sorted next, beginning with
+ 0 and ranging upward. Finally, non-numeric strings are sorted, with
+ <quote>a</quote> taking lower priority than <quote>z</quote>. Clearly,
+ in general, sorting by spam tags is most effective when you can coerce
+ your filter to give you a raw number. But in case you can't, NeoMutt
+ can still do something useful.
+ </para>
+ <para>
+ The <command>nospam</command> command can be used to write exceptions
+ to <command>spam</command> patterns. If a header pattern matches
+ something in a <command>spam</command> command, but you nonetheless do
+ not want it to receive a spam tag, you can list a more precise pattern
+ under a <command>nospam</command> command.
+ </para>
+ <para>
+ If the <emphasis>pattern</emphasis> given to <command>nospam</command>
+ is exactly the same as the <emphasis>pattern</emphasis> on an existing
+ <command>spam</command> list entry, the effect will be to remove the
+ entry from the spam list, instead of adding an exception. Likewise, if
+ the <emphasis>pattern</emphasis> for a <command>spam</command> command
+ matches an entry on the <command>nospam</command> list, that nospam
+ entry will be removed. If the <emphasis>pattern</emphasis> for
+ <command>nospam</command> is <quote>*</quote>,
+ <emphasis>all entries on both lists</emphasis> will be removed. This
+ might be the default action if you use <command>spam</command> and
+ <command>nospam</command> in conjunction with
+ a <command>folder-hook</command>.
+ </para>
+ <para>
+ You can have as many <command>spam</command> or
+ <command>nospam</command> commands as you like. You can even do your
+ own primitive <command>spam</command> detection within NeoMutt – for
+ example, if you consider all mail from <literal>MAILER-DAEMON</literal>
+ to be spam, you can use a <command>spam</command> command like this:
+ </para>
<screen>spam "^From: .*MAILER-DAEMON" "999"</screen>
</sect1>
<sect2 id="var-types">
<title>Variable Types</title>
- <para>NeoMutt supports these types of configuration variables:</para>
+ <para>
+ NeoMutt supports these types of configuration variables:
+ </para>
<variablelist>
<varlistentry>
<term>boolean</term>
<listitem>
- <para>A boolean expression, either
- <quote>yes</quote> or
- <quote>no</quote>.</para>
+ <para>
+ A boolean expression, either <quote>yes</quote> or
+ <quote>no</quote>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>number</term>
<listitem>
- <para>A signed integer number in the range -32768 to
- 32767.</para>
+ <para>
+ A signed integer number in the range -32768 to 32767.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>string</term>
<listitem>
- <para>Arbitrary text.</para>
+ <para>
+ Arbitrary text.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>path</term>
<listitem>
- <para>A specialized string for representing paths including
- support for mailbox shortcuts (see
- <xref linkend="shortcuts" />) as well as tilde (
- <quote>~</quote>) for a user's home directory and more.</para>
+ <para>
+ A specialized string for representing paths including support
+ for mailbox shortcuts (see <xref linkend="shortcuts" />) as
+ well as tilde (<quote>~</quote>) for a user's home directory
+ and more.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>quadoption</term>
<listitem>
- <para>Like a boolean but triggers a prompt when set to
- <quote>ask-yes</quote> or
- <quote>ask-no</quote> with
- <quote>yes</quote> and
- <quote>no</quote> preselected respectively.</para>
+ <para>
+ Like a boolean but triggers a prompt when set to
+ <quote>ask-yes</quote> or <quote>ask-no</quote> with
+ <quote>yes</quote> and <quote>no</quote> preselected
+ respectively.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>sort order</term>
<listitem>
- <para>A specialized string allowing only particular words as
- values depending on the variable.</para>
+ <para>
+ A specialized string allowing only particular words as values
+ depending on the variable.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>regular expression</term>
<listitem>
- <para>A regular expression, see
- <xref linkend="regex" />for an introduction.</para>
+ <para>
+ A regular expression, see <xref linkend="regex" /> for an
+ introduction.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>folder magic</term>
<listitem>
- <para>Specifies the type of folder to use:
- <emphasis>mbox</emphasis>,
- <emphasis>mmdf</emphasis>,
- <emphasis>mh</emphasis> or
- <emphasis>maildir</emphasis>. Currently only used to determine
- the type for newly created folders.</para>
+ <para>
+ Specifies the type of folder to use: <emphasis>mbox</emphasis>,
+ <emphasis>mmdf</emphasis>, <emphasis>mh</emphasis> or
+ <emphasis>maildir</emphasis>. Currently only used to determine
+ the type for newly created folders.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>e-mail address</term>
<listitem>
- <para>An e-mail address either with or without realname. The
- older
- <quote>
- <literal>user@example.org (Joe User)</literal>
- </quote>form is supported but strongly deprecated.</para>
+ <para>
+ An email address either with or without realname. The older
+ <quote><literal>user@example.org (Joe User)</literal></quote>
+ form is supported but strongly deprecated.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>user-defined</term>
<listitem>
- <para>Arbitrary text, see
- <xref linkend="set-myvar" />for details.</para>
+ <para>
+ Arbitrary text, see <xref linkend="set-myvar" /> for details.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<sect2 id="set-commands">
<title>Commands</title>
- <para>The following commands are available to manipulate and query
- variables:</para>
- <para>Usage:</para>
+ <para>
+ The following commands are available to manipulate and query
+ variables:
+ </para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>set</command>
<group choice="req">
<replaceable class="parameter">variable</replaceable>
</arg>
</cmdsynopsis>
- <para>This command is used to set (and unset)
- <link linkend="variables">configuration variables</link>. There are
- four basic types of variables: boolean, number, string and quadoption.
- <emphasis>boolean</emphasis> variables can be
- <emphasis>set</emphasis>(true) or
- <emphasis>unset</emphasis>(false).
- <emphasis>number</emphasis> variables can be assigned a positive integer
- value.
- <emphasis>string</emphasis> variables consist of any number of printable
- characters and must be enclosed in quotes if they contain spaces or
- tabs. You may also use the escape sequences
- <quote>\n</quote> and
- <quote>\t</quote> for newline and tab, respectively.
- <emphasis>quadoption</emphasis> variables are used to control whether or
- not to be prompted for certain actions, or to specify a default action.
- A value of
- <emphasis>yes</emphasis> will cause the action to be carried out
- automatically as if you had answered yes to the question. Similarly, a
- value of
- <emphasis>no</emphasis> will cause the action to be carried out as if
- you had answered
- <quote>no.</quote>A value of
- <emphasis>ask-yes</emphasis> will cause a prompt with a default answer
- of
- <quote>yes</quote> and
- <emphasis>ask-no</emphasis> will provide a default answer of
- <quote>no.</quote></para>
- <para>Prefixing a variable with
- <quote>no</quote> will unset it. Example:
- <literal>
- <command>set</command> noaskbcc</literal>.</para>
- <para>For
- <emphasis>boolean</emphasis> variables, you may optionally prefix the
- variable name with
- <literal>inv</literal> to toggle the value (on or off). This is useful
- when writing macros. Example:
- <literal>
- <command>set</command> invsmart_wrap</literal>.</para>
- <para>The
- <command>toggle</command> command automatically prepends the
- <literal>inv</literal> prefix to all specified variables.</para>
- <para>The
- <command>unset</command> command automatically prepends the
- <literal>no</literal> prefix to all specified variables.</para>
- <para>Using the
- <literal><enter-command></literal>function in the
- <emphasis>index</emphasis> menu, you can query the value of a variable
- by prefixing the name of the variable with a question mark:</para>
+ <para>
+ This command is used to set (and unset)
+ <link linkend="variables">configuration variables</link>. There are
+ four basic types of variables: boolean, number, string and
+ quadoption. <emphasis>boolean</emphasis> variables can be
+ <emphasis>set</emphasis> (true) or <emphasis>unset</emphasis>
+ (false). <emphasis>number</emphasis> variables can be assigned
+ a positive integer value. <emphasis>string</emphasis> variables
+ consist of any number of printable characters and must be enclosed in
+ quotes if they contain spaces or tabs. You may also use the escape
+ sequences <quote>\n</quote> and <quote>\t</quote> for newline and
+ tab, respectively. <emphasis>quadoption</emphasis> variables are
+ used to control whether or not to be prompted for certain actions, or
+ to specify a default action. A value of <emphasis>yes</emphasis>
+ will cause the action to be carried out automatically as if you had
+ answered yes to the question. Similarly, a value of
+ <emphasis>no</emphasis> will cause the action to be carried out as if
+ you had answered <quote>no.</quote> A value of
+ <emphasis>ask-yes</emphasis> will cause a prompt with a default
+ answer of <quote>yes</quote> and <emphasis>ask-no</emphasis> will
+ provide a default answer of <quote>no.</quote>
+ </para>
+ <para>
+ Prefixing a variable with <quote>no</quote> will unset it. Example:
+ <literal><command>set</command> noaskbcc</literal>.
+ </para>
+ <para>
+ For <emphasis>boolean</emphasis> variables, you may optionally prefix
+ the variable name with <literal>inv</literal> to toggle the value (on
+ or off). This is useful when writing macros. Example:
+ <literal><command>set</command> invsmart_wrap</literal>.
+ </para>
+ <para>
+ The <command>toggle</command> command automatically prepends the
+ <literal>inv</literal> prefix to all specified variables.
+ </para>
+ <para>
+ The <command>unset</command> command automatically prepends the
+ <literal>no</literal> prefix to all specified variables.
+ </para>
+ <para>
+ Using the <literal><enter-command></literal> function in the
+ <emphasis>index</emphasis> menu, you can query the value of
+ a variable by prefixing the name of the variable with a question
+ mark:
+ </para>
<screen>set ?allow_8bit</screen>
- <para>The question mark is actually only required for boolean and
- quadoption variables.</para>
- <para>The
- <command>reset</command> command resets all given variables to the
- compile time defaults (hopefully mentioned in this manual). If you use
- the command
- <command>set</command> and prefix the variable with
- <quote>&</quote>this has the same behavior as the
- <command>reset</command> command.</para>
- <para>With the
- <command>reset</command> command there exists the special variable
- <quote>all</quote>, which allows you to reset all variables to their
- system defaults.</para>
+ <para>
+ The question mark is actually only required for boolean and
+ quadoption variables.
+ </para>
+ <para>
+ The <command>reset</command> command resets all given variables to
+ the compile time defaults (hopefully mentioned in this manual). If
+ you use the command <command>set</command> and prefix the variable
+ with <quote>&</quote> this has the same behavior as the
+ <command>reset</command> command.
+ </para>
+ <para>
+ With the <command>reset</command> command there exists the special
+ variable <quote>all</quote>, which allows you to reset all variables
+ to their system defaults.
+ </para>
</sect2>
<sect2 id="set-myvar">
<sect3 id="set-myvar-intro">
<title>Introduction</title>
- <para>Along with the variables listed in the
- <link linkend="variables">Configuration variables</link> section, NeoMutt
- supports user-defined variables with names starting with
- <literal>my_</literal> as in, for example,
- <literal>my_cfgdir</literal>.</para>
- <para>The
- <command>set</command> command either creates a custom
- <literal>my_</literal> variable or changes its value if it does exist
- already. The
- <command>unset</command> and
- <command>reset</command> commands remove the variable entirely.</para>
- <para>Since user-defined variables are expanded in the same way that
- environment variables are (except for the
- <link linkend="shell-escape">shell-escape</link> command and backtick
- expansion), this feature can be used to make configuration files more
- readable.</para>
+ <para>
+ Along with the variables listed in the
+ <link linkend="variables">Configuration variables</link> section,
+ NeoMutt supports user-defined variables with names starting with
+ <literal>my_</literal> as in, for example,
+ <literal>my_cfgdir</literal>.
+ </para>
+ <para>
+ The <command>set</command> command either creates a custom
+ <literal>my_</literal> variable or changes its value if it does
+ exist already. The <command>unset</command> and
+ <command>reset</command> commands remove the variable entirely.
+ </para>
+ <para>
+ Since user-defined variables are expanded in the same way that
+ environment variables are (except for the
+ <link linkend="shell-escape">shell-escape</link> command and
+ backtick expansion), this feature can be used to make configuration
+ files more readable.
+ </para>
</sect3>
<sect3 id="set-myvar-examples">
<title>Examples</title>
- <para>The following example defines and uses the variable
- <literal>my_cfgdir</literal> to abbreviate the calls of the
- <link linkend="source">
- <command>source</command>
- </link>command:</para>
+ <para>
+ The following example defines and uses the variable
+ <literal>my_cfgdir</literal> to abbreviate the calls of the
+ <link linkend="source"><command>source</command></link> command:
+ </para>
<example id="ex-myvar1">
<title>Using user-defined variables for config file
readability</title>
</screen>
</example>
- <para>A custom variable can also be used in macros to backup the
- current value of another variable. In the following example, the
- value of the
- <link linkend="delete">$delete</link> is changed temporarily while its
- original value is saved as
- <literal>my_delete</literal>. After the macro has executed all
- commands, the original value of
- <link linkend="delete">$delete</link> is restored.</para>
+ <para>
+ A custom variable can also be used in macros to backup the current
+ value of another variable. In the following example, the value of
+ the <link linkend="delete">$delete</link> is changed temporarily
+ while its original value is saved as <literal>my_delete</literal>.
+ After the macro has executed all commands, the original value of
+ <link linkend="delete">$delete</link> is restored.
+ </para>
<example id="ex-myvar2">
<title>Using user-defined variables for backing up other config
option values</title>
</screen>
</example>
- <para>Since NeoMutt expands such values already when parsing the
- configuration file(s), the value of
- <literal>$my_delete</literal> in the last example would be the value
- of
- <link linkend="delete">$delete</link> exactly as it was at that point
- during parsing the configuration file. If another statement would
- change the value for
- <link linkend="delete">$delete</link> later in the same or another
- file, it would have no effect on
- <literal>$my_delete</literal>. However, the expansion can be deferred
- to runtime, as shown in the next example, when escaping the dollar
- sign.</para>
+ <para>
+ Since NeoMutt expands such values already when parsing the
+ configuration file(s), the value of <literal>$my_delete</literal>
+ in the last example would be the value of
+ <link linkend="delete">$delete</link> exactly as it was at that
+ point during parsing the configuration file. If another statement
+ would change the value for <link linkend="delete">$delete</link>
+ later in the same or another file, it would have no effect on
+ <literal>$my_delete</literal>. However, the expansion can be
+ deferred to runtime, as shown in the next example, when escaping
+ the dollar sign.
+ </para>
<example id="ex-myvar3">
<title>Deferring user-defined variable expansion to runtime</title>
</screen>
</example>
- <para>Note that there is a space between
- <literal><enter-command></literal>and the
- <command>set</command> configuration command, preventing NeoMutt from
- recording the
- <command>macro</command>'s commands into its history.</para>
+ <para>
+ Note that there is a space between
+ <literal><enter-command></literal> and the
+ <command>set</command> configuration command, preventing NeoMutt
+ from recording the <command>macro</command>'s commands into its
+ history.
+ </para>
</sect3>
</sect2>
<sect2 id="set-conversions">
<title>Type Conversions</title>
- <para>Variables are always assigned string values which NeoMutt parses
- into its internal representation according to the type of the variable,
- for example an integer number for numeric types. For all queries
- (including $-expansion) the value is converted from its internal type
- back into string. As a result, any variable can be assigned any value
- given that its content is valid for the target. This also counts for
- custom variables which are of type string. In case of parsing errors,
- NeoMutt will print error messages.
- <xref linkend="ex-myvar4" />demonstrates type conversions.</para>
+ <para>
+ Variables are always assigned string values which NeoMutt parses into
+ its internal representation according to the type of the variable,
+ for example an integer number for numeric types. For all queries
+ (including $-expansion) the value is converted from its internal type
+ back into string. As a result, any variable can be assigned any value
+ given that its content is valid for the target. This also counts for
+ custom variables which are of type string. In case of parsing errors,
+ NeoMutt will print error messages. <xref linkend="ex-myvar4" />
+ demonstrates type conversions.
+ </para>
<example id="ex-myvar4">
<title>Type conversions using variables</title>
</screen>
</example>
- <para>These assignments are all valid. If, however, the value of
- <literal>$my_lines</literal> would have been
- <quote>five</quote>(or something else that cannot be parsed into a
- number), the assignment to
- <literal>$pager_index_lines</literal> would have produced an error
- message.</para>
- <para>Type conversion applies to all configuration commands which take
- arguments. But please note that every expanded value of a variable is
- considered just a single token. A working example is:</para>
+ <para>
+ These assignments are all valid. If, however, the value of
+ <literal>$my_lines</literal> would have been <quote>five</quote> (or
+ something else that cannot be parsed into a number), the assignment
+ to <literal>$pager_index_lines</literal> would have produced an error
+ message.
+ </para>
+ <para>
+ Type conversion applies to all configuration commands which take
+ arguments. But please note that every expanded value of a variable is
+ considered just a single token. A working example is:
+ </para>
<screen>
set my_pattern = "~A"
score $my_pattern +$my_number
</screen>
- <para>What does
- <emphasis>not</emphasis> work is:</para>
+ <para>
+ What does <emphasis>not</emphasis> work is:
+ </para>
<screen>
set my_mx = "+mailbox1 +mailbox2"
mailboxes $my_mx +mailbox3
</screen>
- <para>because the value of
- <literal>$my_mx</literal> is interpreted as a single mailbox named
- <quote>+mailbox1 +mailbox2</quote> and not two distinct
- mailboxes.</para>
+ <para>
+ because the value of <literal>$my_mx</literal> is interpreted as
+ a single mailbox named <quote>+mailbox1 +mailbox2</quote> and not two
+ distinct mailboxes.
+ </para>
</sect2>
</sect1>
<sect1 id="source">
<title>Reading Initialization Commands From Another File</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>source</command>
<arg choice="plain" rep="repeat">
<replaceable class="parameter">file</replaceable>
</arg>
</cmdsynopsis>
- <para>This command allows the inclusion of initialization commands from
- other files. For example, I place all of my aliases in
- <literal>~/.mail_aliases</literal> so that I can make my
- <literal>~/.neomuttrc</literal> readable and keep my aliases private.</para>
- <para>If the filename begins with a tilde (
- <quote>~</quote>), it will be expanded to the path of your home
- directory.</para>
- <para>If the filename ends with a vertical bar (
- <quote>|</quote>), then
- <emphasis>filename</emphasis> is considered to be an executable program
- from which to read input (e.g.
- <literal>
- <command>source</command>~/bin/myscript|</literal>).</para>
+ <para>
+ This command allows the inclusion of initialization commands from other
+ files. For example, I place all of my aliases in
+ <literal>~/.mail_aliases</literal> so that I can make my
+ <literal>~/.neomuttrc</literal> readable and keep my aliases private.
+ </para>
+ <para>
+ If the filename begins with a tilde (<quote>~</quote>), it will be
+ expanded to the path of your home directory.
+ </para>
+ <para>
+ If the filename ends with a vertical bar (<quote>|</quote>), then
+ <emphasis>filename</emphasis> is considered to be an executable program
+ from which to read input (e.g.
+ <literal><command>source</command>~/bin/myscript|</literal>).
+ </para>
</sect1>
<sect1 id="unhook">
<title>Removing Hooks</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>unhook</command>
<group choice="req">
</arg>
</group>
</cmdsynopsis>
- <para>This command permits you to flush hooks you have previously
- defined. You can either remove all hooks by giving the
- <quote>*</quote>character as an argument, or you can remove all hooks of
- a specific type by saying something like
- <literal>
- <command>unhook</command> send-hook</literal>.</para>
+ <para>
+ This command permits you to flush hooks you have previously defined.
+ You can either remove all hooks by giving the <quote>*</quote>
+ character as an argument, or you can remove all hooks of a specific
+ type by saying something like
+ <literal><command>unhook</command> send-hook</literal>.
+ </para>
</sect1>
<sect1 id="formatstrings">
<sect2 id="formatstrings-basics">
<title>Basic usage</title>
- <para>Format strings are a general concept you'll find in several
- locations through the NeoMutt configuration, especially in the
- <link linkend="index-format">$index_format</link>,
- <link linkend="pager-format">$pager_format</link>,
- <link linkend="status-format">$status_format</link>, and other related
- variables. These can be very straightforward, and it's quite possible
- you already know how to use them.</para>
- <para>The most basic format string element is a percent symbol followed
- by another character. For example,
- <literal>%s</literal> represents a message's Subject: header in the
- <link linkend="index-format">$index_format</link> variable. The
- <quote>expandos</quote> available are documented with each format
- variable, but there are general modifiers available with all formatting
- expandos, too. Those are our concern here.</para>
- <para>Some of the modifiers are borrowed right out of C (though you
- might know them from Perl, Python, shell, or another language). These
- are the
- <literal>[-]m.n</literal> modifiers, as in
- <literal>%-12.12s</literal>. As with such programming languages, these
- modifiers allow you to specify the minimum and maximum size of the
- resulting string, as well as its justification. If the
- <quote>-</quote>sign follows the percent, the string will be
- left-justified instead of right-justified. If there's a number
- immediately following that, it's the minimum amount of space the
- formatted string will occupy — if it's naturally smaller than that, it
- will be padded out with spaces. If a decimal point and another number
- follow, that's the maximum space allowable — the string will not be
- permitted to exceed that width, no matter its natural size. Each of
- these three elements is optional, so that all these are legal format
- strings:
- <literal>%-12s</literal>,
- <literal>%4c</literal>,
- <literal>%.15F</literal> and
- <literal>%-12.15L</literal>.</para>
- <para>NeoMutt adds some other modifiers to format strings. If you use an
- equals symbol (
- <literal>=</literal>) as a numeric prefix (like the minus above), it
- will force the string to be centered within its minimum space range.
- For example,
- <literal>%=14y</literal> will reserve 14 characters for the %y expansion
- — that's the set of message keywords (formerly X-Label). If the
- expansion results in a string less than 14 characters, it will be
- centered in a 14-character space. If the X-Label for a message were
- <quote>test</quote>, that expansion would look like
- <quote>
-      test     </quote>.</para>
- <para>There are two very little-known modifiers that affect the way
- that an expando is replaced. If there is an underline (
- <quote>_</quote>) character between any format modifiers (as above) and
- the expando letter, it will expands in all lower case. And if you use a
- colon (
- <quote>:</quote>), it will replace all decimal points with
- underlines.</para>
+ <para>
+ Format strings are a general concept you'll find in several locations
+ through the NeoMutt configuration, especially in the
+ <link linkend="index-format">$index_format</link>,
+ <link linkend="pager-format">$pager_format</link>,
+ <link linkend="status-format">$status_format</link>, and other
+ related variables. These can be very straightforward, and it's quite
+ possible you already know how to use them.
+ </para>
+ <para>
+ The most basic format string element is a percent symbol followed by
+ another character. For example, <literal>%s</literal> represents
+ a message's Subject: header in the
+ <link linkend="index-format">$index_format</link> variable. The
+ <quote>expandos</quote> available are documented with each format
+ variable, but there are general modifiers available with all
+ formatting expandos, too. Those are our concern here.
+ </para>
+ <para>
+ Some of the modifiers are borrowed right out of C (though you might
+ know them from Perl, Python, shell, or another language). These are
+ the <literal>[-]m.n</literal> modifiers, as in
+ <literal>%-12.12s</literal>. As with such programming languages,
+ these modifiers allow you to specify the minimum and maximum size of
+ the resulting string, as well as its justification. If the
+ <quote>-</quote> sign follows the percent, the string will be
+ left-justified instead of right-justified. If there's a number
+ immediately following that, it's the minimum amount of space the
+ formatted string will occupy – if it's naturally smaller than that,
+ it will be padded out with spaces. If a decimal point and another
+ number follow, that's the maximum space allowable – the string will
+ not be permitted to exceed that width, no matter its natural size.
+ Each of these three elements is optional, so that all these are legal
+ format strings: <literal>%-12s</literal>, <literal>%4c</literal>,
+ <literal>%.15F</literal> and <literal>%-12.15L</literal>.
+ </para>
+ <para>
+ NeoMutt adds some other modifiers to format strings. If you use an
+ equals symbol (<literal>=</literal>) as a numeric prefix (like the
+ minus above), it will force the string to be centered within its
+ minimum space range. For example, <literal>%=14y</literal> will
+ reserve 14 characters for the %y expansion – that's the set of
+ message keywords (formerly X-Label). If the expansion results in
+ a string less than 14 characters, it will be centered in
+ a 14-character space. If the X-Label for a message were
+ <quote>test</quote>, that expansion would look like
+ <quote>     test     </quote>.
+ </para>
+ <para>
+ There are two very little-known modifiers that affect the way that an
+ expando is replaced. If there is an underline (<quote>_</quote>)
+ character between any format modifiers (as above) and the expando
+ letter, it will expands in all lower case. And if you use a colon
+ (<quote>:</quote>), it will replace all decimal points with
+ underlines.
+ </para>
</sect2>
<sect2 id="formatstrings-conditionals">
<title>Conditionals</title>
- <para>Depending on the format string variable, some of its sequences
- can be used to optionally print a string if their value is nonzero. For
- example, you may only want to see the number of flagged messages if
- such messages exist, since zero is not particularly meaningful. To
- optionally print a string based upon one of the above sequences, the
- following construct is used:</para>
+ <para>
+ Depending on the format string variable, some of its sequences can be
+ used to optionally print a string if their value is nonzero. For
+ example, you may only want to see the number of flagged messages if
+ such messages exist, since zero is not particularly meaningful. To
+ optionally print a string based upon one of the above sequences, the
+ following construct is used:
+ </para>
<screen>%?<sequence_char>?<optional_string>?</screen>
- <para>where
- <emphasis>sequence_char</emphasis> is an expando, and
- <emphasis>optional_string</emphasis> is the string you would like
- printed if
- <emphasis>sequence_char</emphasis> is nonzero.
- <emphasis>optional_string</emphasis> may contain other sequences as well
- as normal text, but you may not nest optional strings.</para>
- <para>Here is an example illustrating how to optionally print the
- number of new messages in a mailbox in
- <link linkend="status-format">$status_format</link>:</para>
+ <para>
+ where <emphasis>sequence_char</emphasis> is an expando, and
+ <emphasis>optional_string</emphasis> is the string you would like
+ printed if <emphasis>sequence_char</emphasis> is nonzero.
+ <emphasis>optional_string</emphasis> may contain other sequences as
+ well as normal text, but you may not nest optional strings.
+ </para>
+ <para>
+ Here is an example illustrating how to optionally print the number of
+ new messages in a mailbox in
+ <link linkend="status-format">$status_format</link>:
+ </para>
<screen>%?n?%n new messages.?</screen>
- <para>You can also switch between two strings using the following
- construct:</para>
+ <para>
+ You can also switch between two strings using the following
+ construct:
+ </para>
<screen>
%?<sequence_char>?<if_string>&<else_string>?
</screen>
- <para>If the value of
- <emphasis>sequence_char</emphasis> is non-zero,
- <emphasis>if_string</emphasis> will be expanded, otherwise
- <emphasis>else_string</emphasis> will be expanded.</para>
- <para>The conditional sequences can also be nested by using the %<
- and > operators. The %? notation can still be used but requires
- quoting. For example:</para>
+ <para>
+ If the value of <emphasis>sequence_char</emphasis> is non-zero,
+ <emphasis>if_string</emphasis> will be expanded, otherwise
+ <emphasis>else_string</emphasis> will be expanded.
+ </para>
+ <para>
+ The conditional sequences can also be nested by using the %< and
+ > operators. The %? notation can still be used but requires
+ quoting. For example:
+ </para>
<screen>
%<x?true&false>
%<x?%<y?%<z?xyz&xy>&x>&none>
</screen>
- <para>For more examples, see
- <xref linkend="nested-if" /></para>
+ <para>
+ For more examples, see <xref linkend="nested-if" />
+ </para>
</sect2>
<sect2 id="formatstrings-filters">
<title>Filters</title>
- <para>Any format string ending in a vertical bar (
- <quote>|</quote>) will be expanded and piped through the first word in
- the string, using spaces as separator. The string returned will be used
- for display. If the returned string ends in %, it will be passed
- through the formatter a second time. This allows the filter to generate
- a replacement format string including % expandos.</para>
- <para>All % expandos in a format string are expanded before the script
- is called so that:</para>
+ <para>
+ Any format string ending in a vertical bar (<quote>|</quote>) will
+ be expanded and piped through the first word in the string, using
+ spaces as separator. The string returned will be used for display. If
+ the returned string ends in %, it will be passed through the
+ formatter a second time. This allows the filter to generate
+ a replacement format string including % expandos.
+ </para>
+ <para>
+ All % expandos in a format string are expanded before the script is
+ called so that:
+ </para>
<example id="ex-fmtpipe">
<title>Using external filters in format strings</title>
<screen>set status_format="script.sh '%r %f (%L)'|"</screen>
</example>
- <para>will make NeoMutt expand
- <literal>%r</literal>,
- <literal>%f</literal> and
- <literal>%L</literal> before calling the script. The example also shows
- that arguments can be quoted: the script will receive the expanded
- string between the single quotes as the only argument.</para>
- <para>A practical example is the
- <literal>mutt_xtitle</literal> script installed in the
- <literal>samples</literal> subdirectory of the NeoMutt documentation: it
- can be used as filter for
- <link linkend="status-format">$status_format</link> to set the current
- terminal's title, if supported.</para>
+ <para>
+ will make NeoMutt expand <literal>%r</literal>, <literal>%f</literal>
+ and <literal>%L</literal> before calling the script. The example also
+ shows that arguments can be quoted: the script will receive the
+ expanded string between the single quotes as the only argument.
+ </para>
+ <para>
+ A practical example is the <literal>mutt_xtitle</literal> script
+ installed in the <literal>samples</literal> subdirectory of the
+ NeoMutt documentation: it can be used as filter for
+ <link linkend="status-format">$status_format</link> to set the
+ current terminal's title, if supported.
+ </para>
</sect2>
<sect2 id="formatstrings-padding">
<title>Padding</title>
- <para>In most format strings, NeoMutt supports different types of padding
- using special %-expandos:</para>
+ <para>
+ In most format strings, NeoMutt supports different types of padding
+ using special %-expandos:
+ </para>
<variablelist>
<varlistentry>
<term>
<literal>%|X</literal>
</term>
<listitem>
- <para>When this occurs, NeoMutt will fill the rest of the line with
- the character
- <literal>X</literal>. For example, filling the rest of the line
- with dashes is done by setting:</para>
+ <para>
+ When this occurs, NeoMutt will fill the rest of the line with
+ the character <literal>X</literal>. For example, filling the
+ rest of the line with dashes is done by setting:
+ </para>
<screen>
set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
<literal>%>X</literal>
</term>
<listitem>
- <para>Since the previous expando stops at the end of line, there
- must be a way to fill the gap between two items via the
- <literal>%>X</literal> expando: it puts as many characters
- <literal>X</literal> in between two items so that the rest of the
- line will be right-justified. For example, to not put the version
- string and hostname the above example on the left but on the
- right and fill the gap with spaces, one might use (note the space
- after
- <literal>%></literal>):</para>
+ <para>
+ Since the previous expando stops at the end of line, there must
+ be a way to fill the gap between two items via the
+ <literal>%>X</literal> expando: it puts as many characters
+ <literal>X</literal> in between two items so that the rest of
+ the line will be right-justified. For example, to not put the
+ version string and hostname the above example on the left but
+ on the right and fill the gap with spaces, one might use (note
+ the space after <literal>%></literal>):
+ </para>
<screen>
set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
<literal>%*X</literal>
</term>
<listitem>
- <para>Normal right-justification will print everything to the
- left of the
- <literal>%></literal>, displaying padding and whatever lies to
- the right only if there's room. By contrast,
- <quote>soft-fill</quote> gives priority to the right-hand side,
- guaranteeing space to display it and showing padding only if
- there's still room. If necessary, soft-fill will eat text
- leftwards to make room for rightward text. For example, to
- right-justify the subject making sure as much as possible of it
- fits on screen, one might use (note two spaces after
- <literal>%*</literal>: the second ensures there's a space between
- the truncated right-hand side and the subject):</para>
+ <para>
+ Normal right-justification will print everything to the left of
+ the <literal>%></literal>, displaying padding and whatever
+ lies to the right only if there's room. By contrast,
+ <quote>soft-fill</quote> gives priority to the right-hand side,
+ guaranteeing space to display it and showing padding only if
+ there's still room. If necessary, soft-fill will eat text
+ leftwards to make room for rightward text. For example, to
+ right-justify the subject making sure as much as possible of it
+ fits on screen, one might use (note two spaces after
+ <literal>%*</literal>: the second ensures there's a space
+ between the truncated right-hand side and the subject):
+ </para>
<screen>
set index_format="%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?)%* %s"
<sect2 id="formatstrings-conditional-dates">
<title>Conditional Dates</title>
- <para>This feature allows the format of dates in the index to vary based
- on how recent the message is. This is especially useful in combination
- with the <link linkend="nested-if">nested-if feature</link>.</para>
- <para>For example, using
- <literal>
- %<[y?%<[d?%[%H:%M]&%[%m/%d]>&%[%y.%m]></literal>for
- the date in the
- <literal>$index_format</literal> will produce a display like:</para>
+ <para>
+ This feature allows the format of dates in the index to vary based on
+ how recent the message is. This is especially useful in combination
+ with the <link linkend="nested-if">nested-if feature</link>.
+ </para>
+ <para>
+ For example, using
+ <literal>%<[y?%<[d?%[%H:%M]&%[%m/%d]>&%[%y.%m]></literal>
+ for the date in the <literal>$index_format</literal> will produce
+ a display like:
+ </para>
<screen>
1 + 14.12 Grace Hall ( 13) Gulliver's Travels
<sect1 id="mailto-allow">
<title>Control allowed header fields in a mailto: URL</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>mailto_allow</command>
<group choice="req">
</arg>
</group>
</cmdsynopsis>
- <para>As a security measure, NeoMutt will only add user-approved header
- fields from a
- <literal>mailto:</literal>URL. This is necessary since NeoMutt will handle
- certain header fields, such as
- <literal>Attach:</literal>, in a special way. The
- <literal>mailto_allow</literal> and
- <literal>unmailto_allow</literal> commands allow the user to modify the
- list of approved headers.</para>
- <para>NeoMutt initializes the default list to contain only the
- <literal>Subject</literal> and
- <literal>Body</literal> header fields, which are the only requirement
- specified by the
- <literal>mailto:</literal>specification in RFC2368, and
- the <literal>Cc</literal>, <literal>In-Reply-To</literal>,
- <literal>References</literal> headers to aid with replies to
- mailing lists.</para>
+ <para>
+ As a security measure, NeoMutt will only add user-approved header
+ fields from a <literal>mailto:</literal> URL. This is necessary since
+ NeoMutt will handle certain header fields, such as
+ <literal>Attach:</literal>, in a special way. The
+ <literal>mailto_allow</literal> and <literal>unmailto_allow</literal>
+ commands allow the user to modify the list of approved headers.
+ </para>
+ <para>
+ NeoMutt initializes the default list to contain only the
+ <literal>Subject</literal> and <literal>Body</literal> header fields,
+ which are the only requirement specified by the
+ <literal>mailto:</literal> specification in RFC2368, and the
+ <literal>Cc</literal>, <literal>In-Reply-To</literal>,
+ <literal>References</literal> headers to aid with replies to mailing
+ lists.
+ </para>
</sect1>
</chapter>
<sect1 id="charset-handling">
<title>Character Set Handling</title>
- <para>A
- <quote>character set</quote> is basically a mapping between bytes and
- glyphs and implies a certain character encoding scheme. For example, for
- the ISO 8859 family of character sets, an encoding of 8bit per character
- is used. For the Unicode character set, different character encodings may
- be used, UTF-8 being the most popular. In UTF-8, a character is
- represented using a variable number of bytes ranging from 1 to 4.</para>
- <para>Since NeoMutt is a command-line tool run from a shell, and delegates
- certain tasks to external tools (such as an editor for composing/editing
- messages), all of these tools need to agree on a character set and
- encoding. There exists no way to reliably deduce the character set a
- plain text file has. Interoperability is gained by the use of
- well-defined environment variables. The full set can be printed by
- issuing
- <literal>locale</literal> on the command line.</para>
- <para>Upon startup, NeoMutt determines the character set on its own using
- routines that inspect locale-specific environment variables. Therefore,
- it is generally not necessary to set the
- <literal>$charset</literal> variable in NeoMutt. It may even be
- counter-productive as NeoMutt uses system and library functions that derive
- the character set themselves and on which NeoMutt has no influence. It's
- safest to let NeoMutt work out the locale setup itself.</para>
- <para>If you happen to work with several character sets on a regular
- basis, it's highly advisable to use Unicode and an UTF-8 locale. Unicode
- can represent nearly all characters in a message at the same time. When
- not using a Unicode locale, it may happen that you receive messages with
- characters not representable in your locale. When displaying such a
- message, or replying to or forwarding it, information may get lost
- possibly rendering the message unusable (not only for you but also for
- the recipient, this breakage is not reversible as lost information cannot
- be guessed).</para>
- <para>A Unicode locale makes all conversions superfluous which eliminates
- the risk of conversion errors. It also eliminates potentially wrong
- expectations about the character set between NeoMutt and external
- programs.</para>
- <para>The terminal emulator used also must be properly configured for the
- current locale. Terminal emulators usually do
- <emphasis>not</emphasis> derive the locale from environment variables,
- they need to be configured separately. If the terminal is incorrectly
- configured, NeoMutt may display random and unexpected characters (question
- marks, octal codes, or just random glyphs), format strings may not work
- as expected, you may not be abled to enter non-ascii characters, and
- possible more. Data is always represented using bytes and so a correct
- setup is very important as to the machine, all character sets
- <quote>look</quote> the same.</para>
- <para>Warning: A mismatch between what system and library functions think
- the locale is and what NeoMutt was told what the locale is may make it
- behave badly with non-ascii input: it will fail at seemingly random
- places. This warning is to be taken seriously since not only local mail
- handling may suffer: sent messages may carry wrong character set
- information the
- <emphasis>receiver</emphasis> has too deal with. The need to set
- <literal>$charset</literal> directly in most cases points at terminal and
- environment variable setup problems, not NeoMutt problems.</para>
- <para>A list of officially assigned and known character sets can be found
- at
- <ulink url="http://www.iana.org/assignments/character-sets">IANA</ulink>,
- a list of locally supported locales can be obtained by running
- <literal>locale -a</literal>.</para>
+ <para>
+ A <quote>character set</quote> is basically a mapping between bytes and
+ glyphs and implies a certain character encoding scheme. For example,
+ for the ISO 8859 family of character sets, an encoding of 8bit per
+ character is used. For the Unicode character set, different character
+ encodings may be used, UTF-8 being the most popular. In UTF-8,
+ a character is represented using a variable number of bytes ranging
+ from 1 to 4.
+ </para>
+ <para>
+ Since NeoMutt is a command-line tool run from a shell, and delegates
+ certain tasks to external tools (such as an editor for
+ composing/editing messages), all of these tools need to agree on
+ a character set and encoding. There exists no way to reliably deduce
+ the character set a plain text file has. Interoperability is gained by
+ the use of well-defined environment variables. The full set can be
+ printed by issuing <literal>locale</literal> on the command line.
+ </para>
+ <para>
+ Upon startup, NeoMutt determines the character set on its own using
+ routines that inspect locale-specific environment variables. Therefore,
+ it is generally not necessary to set the <literal>$charset</literal>
+ variable in NeoMutt. It may even be counter-productive as NeoMutt uses
+ system and library functions that derive the character set themselves
+ and on which NeoMutt has no influence. It's safest to let NeoMutt work
+ out the locale setup itself.
+ </para>
+ <para>
+ If you happen to work with several character sets on a regular basis,
+ it's highly advisable to use Unicode and an UTF-8 locale. Unicode can
+ represent nearly all characters in a message at the same time. When not
+ using a Unicode locale, it may happen that you receive messages with
+ characters not representable in your locale. When displaying such
+ a message, or replying to or forwarding it, information may get lost
+ possibly rendering the message unusable (not only for you but also for
+ the recipient, this breakage is not reversible as lost information
+ cannot be guessed).
+ </para>
+ <para>
+ A Unicode locale makes all conversions superfluous which eliminates the
+ risk of conversion errors. It also eliminates potentially wrong
+ expectations about the character set between NeoMutt and external
+ programs.
+ </para>
+ <para>
+ The terminal emulator used also must be properly configured for the
+ current locale. Terminal emulators usually do <emphasis>not</emphasis>
+ derive the locale from environment variables, they need to be
+ configured separately. If the terminal is incorrectly configured,
+ NeoMutt may display random and unexpected characters (question marks,
+ octal codes, or just random glyphs), format strings may not work as
+ expected, you may not be abled to enter non-ascii characters, and
+ possible more. Data is always represented using bytes and so a correct
+ setup is very important as to the machine, all character sets
+ <quote>look</quote> the same.
+ </para>
+ <para>
+ Warning: A mismatch between what system and library functions think the
+ locale is and what NeoMutt was told what the locale is may make it
+ behave badly with non-ascii input: it will fail at seemingly random
+ places. This warning is to be taken seriously since not only local mail
+ handling may suffer: sent messages may carry wrong character set
+ information the <emphasis>receiver</emphasis> has too deal with. The
+ need to set <literal>$charset</literal> directly in most cases points
+ at terminal and environment variable setup problems, not NeoMutt
+ problems.
+ </para>
+ <para>
+ A list of officially assigned and known character sets can be found at
+ <ulink url="http://www.iana.org/assignments/character-sets">IANA</ulink>,
+ a list of locally supported locales can be obtained by running
+ <literal>locale -a</literal>.
+ </para>
</sect1>
<sect1 id="regex">
<title>Regular Expressions</title>
- <para>All string patterns in NeoMutt including those in more complex
- <link linkend="patterns">patterns</link> must be specified using regular
- expressions (regex) in the
- <quote>POSIX extended</quote> syntax (which is more or less the syntax
- used by egrep and GNU awk). For your convenience, we have included below
- a brief description of this syntax.</para>
- <para>The search is case sensitive if the pattern contains at least one
- upper case letter, and case insensitive otherwise.</para>
+ <para>
+ All string patterns in NeoMutt including those in more complex
+ <link linkend="patterns">patterns</link> must be specified using
+ regular expressions (regex) in the <quote>POSIX extended</quote> syntax
+ (which is more or less the syntax used by egrep and GNU awk). For your
+ convenience, we have included below a brief description of this syntax.
+ </para>
+ <para>
+ The search is case sensitive if the pattern contains at least one upper
+ case letter, and case insensitive otherwise.
+ </para>
<note>
<para>
- <quote>\</quote>must be quoted if used for a regular expression in an
- initialization command:
- <quote>\\</quote>.</para>
+ <quote>\</quote> must be quoted if used for a regular expression in
+ an initialization command: <quote>\\</quote>.
+ </para>
</note>
- <para>A regular expression is a pattern that describes a set of strings.
- Regular expressions are constructed analogously to arithmetic
- expressions, by using various operators to combine smaller
- expressions.</para>
+ <para>
+ A regular expression is a pattern that describes a set of strings.
+ Regular expressions are constructed analogously to arithmetic
+ expressions, by using various operators to combine smaller expressions.
+ </para>
<note>
- <para>The regular expression can be enclosed/delimited by either " or '
- which is useful if the regular expression includes a white-space
- character. See
- <xref linkend="neomuttrc-syntax" />for more information on " and '
- delimiter processing. To match a literal " or ' you must preface it
- with \ (backslash).</para>
+ <para>
+ The regular expression can be enclosed/delimited by either " or
+ ' which is useful if the regular expression includes a white-space
+ character. See <xref linkend="neomuttrc-syntax" /> for more
+ information on " and ' delimiter processing. To match a literal " or
+ ' you must preface it with \ (backslash).
+ </para>
</note>
- <para>The fundamental building blocks are the regular expressions that
- match a single character. Most characters, including all letters and
- digits, are regular expressions that match themselves. Any metacharacter
- with special meaning may be quoted by preceding it with a
- backslash.</para>
- <para>The period
- <quote>.</quote>matches any single character. The caret
- <quote>^</quote>and the dollar sign
- <quote>$</quote>are metacharacters that respectively match the empty
- string at the beginning and end of a line.</para>
- <para>A list of characters enclosed by
- <quote>[</quote>and
- <quote>]</quote>matches any single character in that list; if the first
- character of the list is a caret
- <quote>^</quote>then it matches any character
- <emphasis>not</emphasis> in the list. For example, the regular expression
- <emphasis>[0123456789]</emphasis>matches any single digit. A range of
- ASCII characters may be specified by giving the first and last
- characters, separated by a hyphen
- <quote>-</quote>. Most metacharacters lose their special meaning inside
- lists. To include a literal
- <quote>]</quote>place it first in the list. Similarly, to include a
- literal
- <quote>^</quote>place it anywhere but first. Finally, to include a
- literal hyphen
- <quote>-</quote>place it last.</para>
- <para>Certain named classes of characters are predefined. Character
- classes consist of
- <quote>[:</quote>, a keyword denoting the class, and
- <quote>:]</quote>. The following classes are defined by the POSIX
- standard in
- <xref linkend="posix-regex-char-classes" /></para>
+ <para>
+ The fundamental building blocks are the regular expressions that match
+ a single character. Most characters, including all letters and digits,
+ are regular expressions that match themselves. Any metacharacter with
+ special meaning may be quoted by preceding it with a backslash.
+ </para>
+ <para>
+ The period <quote>.</quote> matches any single character. The caret
+ <quote>^</quote> and the dollar sign <quote>$</quote> are
+ metacharacters that respectively match the empty string at the
+ beginning and end of a line.
+ </para>
+ <para>
+ A list of characters enclosed by <quote>[</quote> and <quote>]</quote>
+ matches any single character in that list; if the first character of
+ the list is a caret <quote>^</quote> then it matches any character
+ <emphasis>not</emphasis> in the list. For example, the regular
+ expression <emphasis>[0123456789]</emphasis> matches any single digit.
+ A range of ASCII characters may be specified by giving the first and
+ last characters, separated by a hyphen <quote>-</quote>. Most
+ metacharacters lose their special meaning inside lists. To include
+ a literal <quote>]</quote> place it first in the list. Similarly, to
+ include a literal <quote>^</quote> place it anywhere but first.
+ Finally, to include a literal hyphen <quote>-</quote> place it last.
+ </para>
+ <para>
+ Certain named classes of characters are predefined. Character classes
+ consist of <quote>[:</quote>, a keyword denoting the class, and
+ <quote>:]</quote>. The following classes are defined by the POSIX
+ standard in <xref linkend="posix-regex-char-classes" />
+ </para>
<table id="posix-regex-char-classes">
<title>POSIX regular expression character classes</title>
</tbody>
</tgroup>
</table>
- <para>A character class is only valid in a regular expression inside the
- brackets of a character list.</para>
+ <para>
+ A character class is only valid in a regular expression inside the
+ brackets of a character list.
+ </para>
<note>
- <para>Note that the brackets in these class names are part of the
- symbolic names, and must be included in addition to the brackets
- delimiting the bracket list. For example,
- <emphasis>[[:digit:]]</emphasis>is equivalent to
- <emphasis>[0-9]</emphasis>.</para>
+ <para>
+ Note that the brackets in these class names are part of the symbolic
+ names, and must be included in addition to the brackets delimiting
+ the bracket list. For example, <emphasis>[[:digit:]]</emphasis> is
+ equivalent to <emphasis>[0-9]</emphasis>.
+ </para>
</note>
- <para>Two additional special sequences can appear in character lists.
- These apply to non-ASCII character sets, which can have single symbols
- (called collating elements) that are represented with more than one
- character, as well as several characters that are equivalent for
- collating or sorting purposes:</para>
+ <para>
+ Two additional special sequences can appear in character lists. These
+ apply to non-ASCII character sets, which can have single symbols
+ (called collating elements) that are represented with more than one
+ character, as well as several characters that are equivalent for
+ collating or sorting purposes:
+ </para>
<variablelist>
<varlistentry>
<term>Collating Symbols</term>
<listitem>
- <para>A collating symbol is a multi-character collating element
- enclosed in
- <quote>[.</quote>and
- <quote>.]</quote>. For example, if
- <quote>ch</quote> is a collating element, then
- <emphasis>[[.ch.]]</emphasis>is a regex that matches this
- collating element, while
- <emphasis>[ch]</emphasis>is a regex that matches either
- <quote>c</quote> or
- <quote>h</quote>.</para>
+ <para>
+ A collating symbol is a multi-character collating element
+ enclosed in <quote>[.</quote> and <quote>.]</quote>. For example,
+ if <quote>ch</quote> is a collating element, then
+ <emphasis>[[.ch.]]</emphasis> is a regex that matches this
+ collating element, while <emphasis>[ch]</emphasis> is a regex
+ that matches either <quote>c</quote> or <quote>h</quote>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Equivalence Classes</term>
<listitem>
- <para>An equivalence class is a locale-specific name for a list of
- characters that are equivalent. The name is enclosed in
- <quote>[=</quote>and
- <quote>=]</quote>. For example, the name
- <quote>e</quote> might be used to represent all of
- <quote>e</quote> with grave (
- <quote>è</quote>),
- <quote>e</quote> with acute (
- <quote>é</quote>) and
- <quote>e</quote>. In this case,
- <emphasis>[[=e=]]</emphasis>is a regex that matches any of:
- <quote>e</quote> with grave (
- <quote>è</quote>),
- <quote>e</quote> with acute (
- <quote>é</quote>) and
- <quote>e</quote>.</para>
+ <para>
+ An equivalence class is a locale-specific name for a list of
+ characters that are equivalent. The name is enclosed in
+ <quote>[=</quote> and <quote>=]</quote>. For example, the name
+ <quote>e</quote> might be used to represent all of
+ <quote>e</quote> with grave (<quote>è</quote>), <quote>e</quote>
+ with acute (<quote>é</quote>) and <quote>e</quote>. In this
+ case, <emphasis>[[=e=]]</emphasis> is a regex that matches any
+ of: <quote>e</quote> with grave (<quote>è</quote>),
+ <quote>e</quote> with acute (<quote>é</quote>) and
+ <quote>e</quote>.
+ </para>
</listitem>
</varlistentry>
</variablelist>
- <para>A regular expression matching a single character may be followed by
- one of several repetition operators described in
- <xref linkend="regex-repeat" />.</para>
+ <para>
+ A regular expression matching a single character may be followed by one
+ of several repetition operators described in
+ <xref linkend="regex-repeat" />.
+ </para>
<table id="regex-repeat">
<title>Regular expression repetition operators</title>
</tbody>
</tgroup>
</table>
- <para>Two regular expressions may be concatenated; the resulting regular
- expression matches any string formed by concatenating two substrings that
- respectively match the concatenated subexpressions.</para>
- <para>Two regular expressions may be joined by the infix operator
- <quote>|</quote>; the resulting regular expression matches any string
- matching either subexpression.</para>
- <para>Repetition takes precedence over concatenation, which in turn takes
- precedence over alternation. A whole subexpression may be enclosed in
- parentheses to override these precedence rules.</para>
+ <para>
+ Two regular expressions may be concatenated; the resulting regular
+ expression matches any string formed by concatenating two substrings
+ that respectively match the concatenated subexpressions.
+ </para>
+ <para>
+ Two regular expressions may be joined by the infix operator
+ <quote>|</quote>; the resulting regular expression matches any string
+ matching either subexpression.
+ </para>
+ <para>
+ Repetition takes precedence over concatenation, which in turn takes
+ precedence over alternation. A whole subexpression may be enclosed in
+ parentheses to override these precedence rules.
+ </para>
<note>
- <para>If you compile NeoMutt with the included regular expression engine,
- the following operators may also be used in regular expressions as
- described in
- <xref linkend="regex-gnu-ext" />.</para>
+ <para>
+ If you compile NeoMutt with the included regular expression engine,
+ the following operators may also be used in regular expressions as
+ described in <xref linkend="regex-gnu-ext" />.
+ </para>
</note>
<table id="regex-gnu-ext">
</tbody>
</tgroup>
</table>
- <para>Please note however that these operators are not defined by POSIX,
- so they may or may not be available in stock libraries on various
- systems.</para>
+ <para>
+ Please note however that these operators are not defined by POSIX, so
+ they may or may not be available in stock libraries on various systems.
+ </para>
</sect1>
<sect1 id="patterns">
<sect2 id="patterns-modifier">
<title>Pattern Modifier</title>
- <para>Many of NeoMutt's commands allow you to specify a pattern to match (
- <literal>limit</literal>,
- <literal>tag-pattern</literal>,
- <literal>delete-pattern</literal>, etc.).
- <xref linkend="tab-patterns" />shows several ways to select
- messages.</para>
+ <para>
+ Many of NeoMutt's commands allow you to specify a pattern to match
+ (<literal>limit</literal>, <literal>tag-pattern</literal>,
+ <literal>delete-pattern</literal>, etc.).
+ <xref linkend="tab-patterns" /> shows several ways to select
+ messages.
+ </para>
<table id="tab-patterns">
<title>Pattern modifiers</title>
</tbody>
</tgroup>
</table>
- <para>Where
- <emphasis>EXPR</emphasis> is a
- <link linkend="regex">regular expression</link>, and
- <emphasis>GROUP</emphasis> is an
- <link linkend="addrgroup">address group</link>.</para>
- <para>*) The forms
- <quote><[
- <emphasis>MAX</emphasis>]</quote>,
- <quote>>[
- <emphasis>MIN</emphasis>]</quote>,
- <quote>[
- <emphasis>MIN</emphasis>]-</quote>and
- <quote>-[
- <emphasis>MAX</emphasis>]</quote>are allowed, too.</para>
- <para>**) The suffixes
- <quote>K</quote> and
- <quote>M</quote> are allowed to specify kilobyte and megabyte
- respectively.</para>
- <para>***) The message number ranges (introduced by
- <literal>~m</literal>) are even more general and powerful than the
- other types of ranges. Read on and see
- <xref linkend="message-ranges" />below.</para>
- <para>Special attention has to be paid when using regular expressions
- inside of patterns. Specifically, NeoMutt's parser for these patterns will
- strip one level of backslash (
- <quote>\</quote>), which is normally used for quoting. If it is your
- intention to use a backslash in the regular expression, you will need
- to use two backslashes instead (
- <quote>\\</quote>). You can force NeoMutt to treat
- <emphasis>EXPR</emphasis> as a simple substring instead of a regular
- expression by using = instead of ~ in the pattern name. For example,
- <literal>=b *.*</literal>will find all messages that contain the
- literal string
- <quote>*.*</quote>. Simple string matches are less powerful than
- regular expressions but can be considerably faster. This is especially
- true for IMAP folders, because string matches can be performed on the
- server instead of by fetching every message. IMAP treats
- <literal>=h</literal> specially: it must be of the form
- <quote>header: substring</quote> and will not partially match header
- names. The substring part may be omitted if you simply wish to find
- messages containing a particular header without regard to its
- value.</para>
- <para>Patterns matching lists of addresses (notably c, C, p, P and t)
- match if there is at least one match in the whole list. If you want to
- make sure that all elements of that list match, you need to prefix your
- pattern with
- <quote>^</quote>. This example matches all mails which only has
- recipients from Germany.</para>
+ <para>
+ Where <emphasis>EXPR</emphasis> is a
+ <link linkend="regex">regular expression</link>, and
+ <emphasis>GROUP</emphasis> is an
+ <link linkend="addrgroup">address group</link>.
+ </para>
+ <para>
+ *) The forms <quote><[<emphasis>MAX</emphasis>]</quote>,
+ <quote>>[<emphasis>MIN</emphasis>]</quote>,
+ <quote>[<emphasis>MIN</emphasis>]-</quote> and
+ <quote>-[<emphasis>MAX</emphasis>]</quote> are allowed, too.
+ </para>
+ <para>
+ **) The suffixes <quote>K</quote> and <quote>M</quote> are allowed to
+ specify kilobyte and megabyte respectively.
+ </para>
+ <para>
+ ***) The message number ranges (introduced by <literal>~m</literal>)
+ are even more general and powerful than the other types of ranges.
+ Read on and see <xref linkend="message-ranges" /> below.
+ </para>
+ <para>
+ Special attention has to be paid when using regular expressions
+ inside of patterns. Specifically, NeoMutt's parser for these patterns
+ will strip one level of backslash (<quote>\</quote>), which is
+ normally used for quoting. If it is your intention to use a backslash
+ in the regular expression, you will need to use two backslashes
+ instead (<quote>\\</quote>). You can force NeoMutt to treat
+ <emphasis>EXPR</emphasis> as a simple substring instead of a regular
+ expression by using = instead of ~ in the pattern name. For example,
+ <literal>=b *.*</literal> will find all messages that contain the
+ literal string <quote>*.*</quote>. Simple string matches are less
+ powerful than regular expressions but can be considerably faster.
+ This is especially true for IMAP folders, because string matches can
+ be performed on the server instead of by fetching every message. IMAP
+ treats <literal>=h</literal> specially: it must be of the form
+ <quote>header: substring</quote> and will not partially match header
+ names. The substring part may be omitted if you simply wish to find
+ messages containing a particular header without regard to its value.
+ </para>
+ <para>
+ Patterns matching lists of addresses (notably c, C, p, P and t) match
+ if there is at least one match in the whole list. If you want to make
+ sure that all elements of that list match, you need to prefix your
+ pattern with <quote>^</quote>. This example matches all mails which
+ only has recipients from Germany.
+ </para>
<example id="ex-recips">
<title>Matching all addresses in address lists</title>
<screen>^~C \.de$</screen>
</example>
- <para>You can restrict address pattern matching to aliases that you
- have defined with the "@" modifier. This example matches messages whose
- recipients are all from Germany, and who are known to your alias
- list.</para>
+ <para>
+ You can restrict address pattern matching to aliases that you have
+ defined with the "@" modifier. This example matches messages whose
+ recipients are all from Germany, and who are known to your alias
+ list.
+ </para>
<example id="ex-restrict-to-aliases">
<title>Matching restricted to aliases</title>
<screen>^@~C \.de$</screen>
</example>
- <para>To match any defined alias, use a regular expression that matches
- any string. This example matches messages whose senders are known
- aliases.</para>
+ <para>
+ To match any defined alias, use a regular expression that matches any
+ string. This example matches messages whose senders are known
+ aliases.
+ </para>
<example id="ex-match-alias">
<title>Matching any defined alias</title>
<screen>@~f .</screen>
<sect3 id="message-ranges">
<title>Message Ranges</title>
- <para>If a message number range (from now on: MNR) contains a comma (
- <literal>,</literal>), it is a
- <emphasis>relative</emphasis> MNR. That means the numbers denote
- <emphasis>offsets</emphasis> from the highlighted message. For
- example:</para>
+ <para>
+ If a message number range (from now on: MNR) contains a comma
+ (<literal>,</literal>), it is a <emphasis>relative</emphasis> MNR.
+ That means the numbers denote <emphasis>offsets</emphasis> from the
+ highlighted message. For example:
+ </para>
<table id="relative-mnrs">
<title>Relative Message Number Ranges</title>
</tbody>
</tgroup>
</table>
- <para>In addition to numbers, either side of the range can also
- contain one of the special characters (shortcuts)
- <literal>.^$</literal>. The meaning is:</para>
+ <para>
+ In addition to numbers, either side of the range can also contain
+ one of the special characters (shortcuts) <literal>.^$</literal>.
+ The meaning is:
+ </para>
<table id="mnrs-shortcuts">
<title>Message Number Shortcuts</title>
</tbody>
</tgroup>
</table>
- <para>Lastly, you can also leave either side of the range blank, to
- make it extend as far as possible. For example,
- <literal>~m ,1</literal> has the same meaning as the last example in
- <xref linkend="mnrs-shortcuts" />.</para>
- <para>Otherwise, if a MNR
- <emphasis>doesn't</emphasis> contain a comma, the meaning is similar
- to other ranges, except that the shortcuts are still available.
- Examples:</para>
+ <para>
+ Lastly, you can also leave either side of the range blank, to make
+ it extend as far as possible. For example, <literal>~m ,1</literal>
+ has the same meaning as the last example in
+ <xref linkend="mnrs-shortcuts" />.
+ </para>
+ <para>
+ Otherwise, if a MNR <emphasis>doesn't</emphasis> contain a comma,
+ the meaning is similar to other ranges, except that the shortcuts
+ are still available. Examples:
+ </para>
<table id="mnrs-absolute">
<title>Absolute Message Number Ranges</title>
<sect2 id="simple-searches">
<title>Simple Searches</title>
- <para>NeoMutt supports two versions of so called
- <quote>simple searches</quote>. These are issued if the query entered
- for searching, limiting and similar operations does not seem to contain
- a valid pattern modifier (i.e. it does not contain one of these
- characters:
- <quote>~</quote>,
- <quote>=</quote>or
- <quote>%</quote>). If the query is supposed to contain one of these
- special characters, they must be escaped by prepending a backslash (
- <quote>\</quote>).</para>
- <para>The first type is by checking whether the query string equals a
- keyword case-insensitively from
- <xref linkend="tab-simplesearch-keywords" />: If that is the case, NeoMutt
- will use the shown pattern modifier instead. If a keyword would
- conflict with your search keyword, you need to turn it into a regular
- expression to avoid matching the keyword table. For example, if you
- want to find all messages matching
- <quote>flag</quote>(using
- <link linkend="simple-search">$simple_search</link>) but don't want to
- match flagged messages, simply search for
- <quote>
- <literal>[f]lag</literal>
- </quote>.</para>
+ <para>
+ NeoMutt supports two versions of so called
+ <quote>simple searches</quote>. These are issued if the query entered
+ for searching, limiting and similar operations does not seem to
+ contain a valid pattern modifier (i.e. it does not contain one of
+ these characters: <quote>~</quote>, <quote>=</quote> or
+ <quote>%</quote>). If the query is supposed to contain one of these
+ special characters, they must be escaped by prepending a backslash
+ (<quote>\</quote>).
+ </para>
+ <para>
+ The first type is by checking whether the query string equals
+ a keyword case-insensitively from
+ <xref linkend="tab-simplesearch-keywords" />: If that is the case,
+ NeoMutt will use the shown pattern modifier instead. If a keyword
+ would conflict with your search keyword, you need to turn it into
+ a regular expression to avoid matching the keyword table. For
+ example, if you want to find all messages matching
+ <quote>flag</quote> (using
+ <link linkend="simple-search">$simple_search</link>) but don't want
+ to match flagged messages, simply search for
+ <quote><literal>[f]lag</literal></quote>.
+ </para>
<table id="tab-simplesearch-keywords">
<title>Simple search keywords</title>
</tbody>
</tgroup>
</table>
- <para>The second type of simple search is to build a complex search
- pattern using
- <link linkend="simple-search">$simple_search</link> as a template. NeoMutt
- will insert your query properly quoted and search for the composed
- complex query.</para>
+ <para>
+ The second type of simple search is to build a complex search pattern
+ using <link linkend="simple-search">$simple_search</link> as
+ a template. NeoMutt will insert your query properly quoted and search
+ for the composed complex query.
+ </para>
</sect2>
<sect2 id="complex-patterns">
<title>Nesting and Boolean Operators</title>
- <para>Logical AND is performed by specifying more than one criterion.
- For example:</para>
+ <para>
+ Logical AND is performed by specifying more than one criterion. For
+ example:
+ </para>
<screen>~t work ~f elkins</screen>
- <para>would select messages which contain the word
- <quote>work</quote> in the list of recipients
- <emphasis>and</emphasis> that have the word
- <quote>elkins</quote> in the
- <quote>From</quote> header field.</para>
- <para>NeoMutt also recognizes the following operators to create more
- complex search patterns:</para>
+ <para>
+ would select messages which contain the word <quote>work</quote> in
+ the list of recipients <emphasis>and</emphasis> that have the word
+ <quote>elkins</quote> in the <quote>From</quote> header field.
+ </para>
+ <para>
+ NeoMutt also recognizes the following operators to create more
+ complex search patterns:
+ </para>
<itemizedlist>
<listitem>
- <para>! — logical NOT operator</para>
+ <para>
+ ! – logical NOT operator
+ </para>
</listitem>
<listitem>
- <para>| — logical OR operator</para>
+ <para>
+ | – logical OR operator
+ </para>
</listitem>
<listitem>
- <para>() — logical grouping operator</para>
+ <para>
+ () – logical grouping operator
+ </para>
</listitem>
</itemizedlist>
- <para>Here is an example illustrating a complex search pattern. This
- pattern will select all messages which do not contain
- <quote>work</quote> in the
- <quote>To</quote> or
- <quote>Cc</quote> field and which are from
- <quote>elkins</quote>.</para>
+ <para>
+ Here is an example illustrating a complex search pattern. This
+ pattern will select all messages which do not contain
+ <quote>work</quote> in the <quote>To</quote> or <quote>Cc</quote>
+ field and which are from <quote>elkins</quote>.
+ </para>
<example id="ex-pattern-bool">
<title>Using boolean operators in patterns</title>
<screen>!(~t work|~c work) ~f elkins</screen>
</example>
- <para>Here is an example using white space in the regular expression
- (note the
- <quote>'</quote>and
- <quote>"</quote>delimiters). For this to match, the mail's subject must
- match the
- <quote>^Junk +From +Me$</quote>and it must be from either
- <quote>Jim +Somebody</quote> or
- <quote>Ed +SomeoneElse</quote>:</para>
+ <para>
+ Here is an example using white space in the regular expression (note
+ the <quote>'</quote> and <quote>"</quote> delimiters). For this to
+ match, the mail's subject must match the
+ <quote>^Junk +From +Me$</quote> and it must be from either
+ <quote>Jim +Somebody</quote> or <quote>Ed +SomeoneElse</quote>:
+ </para>
<screen>
'~s "^Junk +From +Me$" ~f ("Jim +Somebody"|"Ed +SomeoneElse")'
</screen>
<note>
- <para>If a regular expression contains parenthesis, or a vertical bar
- ("|"), you
- <emphasis>must</emphasis> enclose the expression in double or single
- quotes since those characters are also used to separate different
- parts of NeoMutt's pattern language. For example:
- <literal>~f "user@(home\.org|work\.com)"</literal>Without the
- quotes, the parenthesis wouldn't end. This would be separated to two
- OR'd patterns:
- <emphasis>~f user@(home\.org</emphasis> and
- <emphasis>work\.com)</emphasis>. They are never what you
- want.</para>
+ <para>
+ If a regular expression contains parenthesis, or a vertical bar
+ ("|"), you <emphasis>must</emphasis> enclose the expression in
+ double or single quotes since those characters are also used to
+ separate different parts of NeoMutt's pattern language. For
+ example: <literal>~f "user@(home\.org|work\.com)"</literal> Without
+ the quotes, the parenthesis wouldn't end. This would be separated
+ to two OR'd patterns: <emphasis>~f user@(home\.org</emphasis> and
+ <emphasis>work\.com)</emphasis>. They are never what you want.
+ </para>
</note>
</sect2>
<sect2 id="date-patterns">
<title>Searching by Date</title>
- <para>NeoMutt supports two types of dates,
- <emphasis>absolute</emphasis> and
- <emphasis>relative</emphasis>.</para>
+ <para>
+ NeoMutt supports two types of dates, <emphasis>absolute</emphasis>
+ and <emphasis>relative</emphasis>.
+ </para>
<sect3 id="date-absolute">
<title>Absolute Dates</title>
- <para>Dates
- <emphasis>must</emphasis> be in DD/MM/YY format (month and year are
- optional, defaulting to the current month and year). An example of a
- valid range of dates is:</para>
+ <para>
+ Dates <emphasis>must</emphasis> be in DD/MM/YY format (month and
+ year are optional, defaulting to the current month and year). An
+ example of a valid range of dates is:
+ </para>
<screen>Limit to messages matching: ~d 20/1/95-31/10</screen>
- <para>If you omit the minimum (first) date, and just specify
- <quote>-DD/MM/YY</quote>, all messages
- <emphasis>before</emphasis> the given date will be selected. If you
- omit the maximum (second) date, and specify
- <quote>DD/MM/YY-</quote>, all messages
- <emphasis>after</emphasis> the given date will be selected. If you
- specify a single date with no dash (
- <quote>-</quote>), only messages sent on the given date will be
- selected.</para>
- <para>You can add error margins to absolute dates. An error margin is
- a sign (+ or -), followed by a digit, followed by one of the units in
- <xref linkend="tab-date-units" />. As a special case, you can replace
- the sign by a
- <quote>*</quote>character, which is equivalent to giving identical
- plus and minus error margins.</para>
+ <para>
+ If you omit the minimum (first) date, and just specify
+ <quote>-DD/MM/YY</quote>, all messages <emphasis>before</emphasis>
+ the given date will be selected. If you omit the maximum (second)
+ date, and specify <quote>DD/MM/YY-</quote>, all messages
+ <emphasis>after</emphasis> the given date will be selected. If you
+ specify a single date with no dash (<quote>-</quote>), only
+ messages sent on the given date will be selected.
+ </para>
+ <para>
+ You can add error margins to absolute dates. An error margin is
+ a sign (+ or -), followed by a digit, followed by one of the units
+ in <xref linkend="tab-date-units" />. As a special case, you can
+ replace the sign by a <quote>*</quote> character, which is
+ equivalent to giving identical plus and minus error margins.
+ </para>
<table id="tab-date-units">
<title>Date units</title>
</tbody>
</tgroup>
</table>
- <para>Example: To select any messages two weeks around January 15,
- 2001, you'd use the following pattern:</para>
+ <para>
+ Example: To select any messages two weeks around January 15, 2001,
+ you'd use the following pattern:
+ </para>
<screen>Limit to messages matching: ~d 15/1/2001*2w</screen>
</sect3>
<sect3 id="dates-relative">
<title>Relative Dates</title>
- <para>This type of date is relative to the current date, and may be
- specified as:</para>
+ <para>
+ This type of date is relative to the current date, and may be
+ specified as:
+ </para>
<itemizedlist>
<listitem>
- <para>>
- <emphasis>offset</emphasis> for messages older than
- <emphasis>offset</emphasis> units</para>
+ <para>
+ > <emphasis>offset</emphasis> for messages older than
+ <emphasis>offset</emphasis> units
+ </para>
</listitem>
<listitem>
- <para><
- <emphasis>offset</emphasis> for messages newer than
- <emphasis>offset</emphasis> units</para>
+ <para>
+ < <emphasis>offset</emphasis> for messages newer than
+ <emphasis>offset</emphasis> units
+ </para>
</listitem>
<listitem>
- <para>=
- <emphasis>offset</emphasis> for messages exactly
- <emphasis>offset</emphasis> units old</para>
+ <para>
+ = <emphasis>offset</emphasis> for messages exactly
+ <emphasis>offset</emphasis> units old
+ </para>
</listitem>
</itemizedlist>
<para>
- <emphasis>offset</emphasis> is specified as a positive number with one
- of the units from
- <xref linkend="tab-date-units" />.</para>
- <para>Example: to select messages less than 1 month old, you would
- use</para>
+ <emphasis>offset</emphasis> is specified as a positive number with
+ one of the units from <xref linkend="tab-date-units" />.
+ </para>
+ <para>
+ Example: to select messages less than 1 month old, you would use
+ </para>
<screen>Limit to messages matching: ~d <1m</screen>
<note>
- <para>All dates used when searching are relative to the
- <emphasis>local</emphasis> time zone, so unless you change the
- setting of your
- <link linkend="index-format">$index_format</link> to include a
- <literal>%[...]</literal>format, these are
- <emphasis>not</emphasis> the dates shown in the main index.</para>
+ <para>
+ All dates used when searching are relative to the
+ <emphasis>local</emphasis> time zone, so unless you change the
+ setting of your <link linkend="index-format">$index_format</link>
+ to include a <literal>%[...]</literal> format, these are
+ <emphasis>not</emphasis> the dates shown in the main index.
+ </para>
</note>
</sect3>
</sect2>
+
<sect2 id="gmail-patterns">
<title>GMail Patterns</title>
<para>
and enable "Show in IMAP" for "All Mail". When searching, visit that
folder in NeoMutt to most closely match Gmail search semantics.
</para>
+
<table id="gmail-example-patterns">
<title>GMail Example Patterns</title>
<tgroup cols="2">
<sect1 id="markmsg">
<title>Marking Messages</title>
- <para>There are times that it's useful to ask NeoMutt to "remember" which
- message you're currently looking at, while you move elsewhere in your
- mailbox. You can do this with the
- <quote>mark-message</quote> operator, which is bound to the
- <quote>~</quote>key by default. Press this key to enter an identifier for
- the marked message. When you want to return to this message, press
- <quote>'</quote>and the name that you previously entered.</para>
- <para>(Message marking is really just a shortcut for defining a macro
- that returns you to the current message by searching for its Message-ID.
- You can choose a different prefix by setting the
- <link linkend="mark-macro-prefix">
- $mark_macro_prefix</link> variable.)</para>
+ <para>
+ There are times that it's useful to ask NeoMutt to "remember" which
+ message you're currently looking at, while you move elsewhere in your
+ mailbox. You can do this with the <quote>mark-message</quote> operator,
+ which is bound to the <quote>~</quote> key by default. Press this key
+ to enter an identifier for the marked message. When you want to return
+ to this message, press <quote>'</quote> and the name that you
+ previously entered.
+ </para>
+ <para>
+ (Message marking is really just a shortcut for defining a macro that
+ returns you to the current message by searching for its Message-ID.
+ You can choose a different prefix by setting the
+ <link linkend="mark-macro-prefix"> $mark_macro_prefix</link> variable.)
+ </para>
</sect1>
<sect1 id="tags">
<title>Using Tags</title>
- <para>Sometimes it is desirable to perform an operation on a group of
- messages all at once rather than one at a time. An example might be to
- save messages to a mailing list to a separate folder, or to delete all
- messages with a given subject. To tag all messages matching a pattern,
- use the
- <literal><tag-pattern></literal>function, which is bound to
- <quote>shift-T</quote> by default. Or you can select individual messages
- by hand using the
- <literal><tag-message></literal>function, which is bound to
- <quote>t</quote> by default. See
- <link linkend="patterns">patterns</link> for NeoMutt's pattern matching
- syntax.</para>
- <para>Once you have tagged the desired messages, you can use the
- <quote>tag-prefix</quote> operator, which is the
- <quote>;</quote>(semicolon) key by default. When the
- <quote>tag-prefix</quote> operator is used, the
- <emphasis>next</emphasis> operation will be applied to all tagged messages
- if that operation can be used in that manner. If the
- <link linkend="auto-tag">$auto_tag</link> variable is set, the next
- operation applies to the tagged messages automatically, without requiring
- the
- <quote>tag-prefix</quote>.</para>
- <para>In
- <link linkend="macro">
- <command>macro</command>s</link>or
- <link linkend="push">
- <command>push</command>
- </link>commands, you can use the
- <literal><tag-prefix-cond></literal>operator. If there are no
- tagged messages, NeoMutt will
- <quote>eat</quote> the rest of the macro to abort it's execution. NeoMutt
- will stop
- <quote>eating</quote> the macro when it encounters the
- <literal><end-cond></literal>operator; after this operator the rest
- of the macro will be executed as normal.</para>
+ <para>
+ Sometimes it is desirable to perform an operation on a group of
+ messages all at once rather than one at a time. An example might be to
+ save messages to a mailing list to a separate folder, or to delete all
+ messages with a given subject. To tag all messages matching a pattern,
+ use the <literal><tag-pattern></literal> function, which is bound
+ to <quote>shift-T</quote> by default. Or you can select individual
+ messages by hand using the <literal><tag-message></literal>
+ function, which is bound to <quote>t</quote> by default. See
+ <link linkend="patterns">patterns</link> for NeoMutt's pattern matching
+ syntax.
+ </para>
+ <para>
+ Once you have tagged the desired messages, you can use the
+ <quote>tag-prefix</quote> operator, which is the <quote>;</quote>
+ (semicolon) key by default. When the <quote>tag-prefix</quote> operator
+ is used, the <emphasis>next</emphasis> operation will be applied to all
+ tagged messages if that operation can be used in that manner. If the
+ <link linkend="auto-tag">$auto_tag</link> variable is set, the next
+ operation applies to the tagged messages automatically, without
+ requiring the <quote>tag-prefix</quote>.
+ </para>
+ <para>
+ In <link linkend="macro"><command>macro</command>s</link> or
+ <link linkend="push"><command>push</command></link> commands, you can
+ use the <literal><tag-prefix-cond></literal> operator. If there
+ are no tagged messages, NeoMutt will <quote>eat</quote> the rest of the
+ macro to abort it's execution. NeoMutt will stop <quote>eating</quote>
+ the macro when it encounters the <literal><end-cond></literal>
+ operator; after this operator the rest of the macro will be executed as
+ normal.
+ </para>
</sect1>
<sect1 id="hooks">
<title>Using Hooks</title>
- <para>A
- <emphasis>hook</emphasis> is a concept found in many other programs which
- allows you to execute arbitrary commands before performing some
- operation. For example, you may wish to tailor your configuration based
- upon which mailbox you are reading, or to whom you are sending mail. In
- the NeoMutt world, a
- <emphasis>hook</emphasis> consists of a
- <link linkend="regex">regular expression</link> or
- <link linkend="patterns">pattern</link> along with a configuration
- option/command. See:
+ <para>
+ A <emphasis>hook</emphasis> is a concept found in many other programs
+ which allows you to execute arbitrary commands before performing some
+ operation. For example, you may wish to tailor your configuration based
+ upon which mailbox you are reading, or to whom you are sending mail. In
+ the NeoMutt world, a <emphasis>hook</emphasis> consists of a
+ <link linkend="regex">regular expression</link> or
+ <link linkend="patterns">pattern</link> along with a configuration
+ option/command. See:
+ </para>
<itemizedlist>
<listitem>
<para>
- <link linkend="account-hook">
- <command>account-hook</command>
- </link>
+ <link linkend="account-hook"><command>account-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="append-hook">
- <command>append-hook</command>
- </link>
+ <link linkend="append-hook"><command>append-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="charset-hook">
- <command>charset-hook</command>
- </link>
+ <link linkend="charset-hook"><command>charset-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="close-hook">
- <command>close-hook</command>
- </link>
+ <link linkend="close-hook"><command>close-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="crypt-hook">
- <command>crypt-hook</command>
- </link>
+ <link linkend="crypt-hook"><command>crypt-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="fcc-hook">
- <command>fcc-hook</command>
- </link>
+ <link linkend="fcc-hook"><command>fcc-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="fcc-save-hook">
- <command>fcc-save-hook</command>
- </link>
+ <link linkend="fcc-save-hook"><command>fcc-save-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="folder-hook">
- <command>folder-hook</command>
- </link>
+ <link linkend="folder-hook"><command>folder-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="iconv-hook">
- <command>iconv-hook</command>
- </link>
+ <link linkend="iconv-hook"><command>iconv-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="mbox-hook">
- <command>mbox-hook</command>
- </link>
+ <link linkend="mbox-hook"><command>mbox-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="message-hook">
- <command>message-hook</command>
- </link>
+ <link linkend="message-hook"><command>message-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="open-hook">
- <command>open-hook</command>
- </link>
+ <link linkend="open-hook"><command>open-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="reply-hook">
- <command>reply-hook</command>
- </link>
+ <link linkend="reply-hook"><command>reply-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="save-hook">
- <command>save-hook</command>
- </link>
+ <link linkend="save-hook"><command>save-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="send-hook">
- <command>send-hook</command>
- </link>
+ <link linkend="send-hook"><command>send-hook</command></link>
</para>
</listitem>
<listitem>
<para>
- <link linkend="send2-hook">
- <command>send2-hook</command>
- </link>
+ <link linkend="send2-hook"><command>send2-hook</command></link>
</para>
</listitem>
- </itemizedlist>for specific details on each type of
- <emphasis>hook</emphasis> available.</para>
+ </itemizedlist>
+ <para>
+ for specific details on each type of <emphasis>hook</emphasis>
+ available.
+ </para>
<note>
- <para>If a hook changes configuration settings, these changes remain
- effective until the end of the current NeoMutt session. As this is
- generally not desired, a
- <quote>default</quote> hook needs to be added before all other hooks of
- that type to restore configuration defaults.</para>
+ <para>
+ If a hook changes configuration settings, these changes remain
+ effective until the end of the current NeoMutt session. As this is
+ generally not desired, a <quote>default</quote> hook needs to be
+ added before all other hooks of that type to restore configuration
+ defaults.
+ </para>
</note>
<example id="ex-default-hook">
- <title>Specifying a
- <quote>default</quote> hook</title>
+ <title>Specifying a <quote>default</quote> hook</title>
<screen>
send-hook . 'unmy_hdr From:'
</screen>
</example>
- <para>In
- <xref linkend="ex-default-hook" />, by default the value of
- <link linkend="from">$from</link> and
- <link linkend="realname">$realname</link> is not overridden. When sending
- messages either To: or Cc: to
- <literal><b@b.b></literal>, the From: header is changed to
- <literal><c@c.c></literal>.</para>
+ <para>
+ In <xref linkend="ex-default-hook" />, by default the value of
+ <link linkend="from">$from</link> and
+ <link linkend="realname">$realname</link> is not overridden. When
+ sending messages either To: or Cc: to <literal><b@b.b></literal>,
+ the From: header is changed to <literal><c@c.c></literal>.
+ </para>
<sect2 id="pattern-hook" xreflabel="Message Matching in Hooks">
<title>Message Matching in Hooks</title>
- <para>Hooks that act upon messages (
- <command>message-hook</command>,
- <command>reply-hook</command>,
- <command>send-hook</command>,
- <command>send2-hook</command>,
- <command>save-hook</command>,
- <command>fcc-hook</command>) are evaluated in a slightly different
- manner. For the other types of hooks, a
- <link linkend="regex">regular expression</link> is sufficient. But in
- dealing with messages a finer grain of control is needed for matching
- since for different purposes you want to match different
- criteria.</para>
- <para>NeoMutt allows the use of the
- <link linkend="patterns">search pattern</link> language for matching
- messages in hook commands. This works in exactly the same way as it
- would when
- <emphasis>limiting</emphasis> or
- <emphasis>searching</emphasis> the mailbox, except that you are
- restricted to those operators which match information NeoMutt extracts
- from the header of the message (i.e., from, to, cc, date, subject,
- etc.).</para>
- <para>For example, if you wanted to set your return address based upon
- sending mail to a specific address, you could do something like:</para>
+ <para>
+ Hooks that act upon messages (<command>message-hook</command>,
+ <command>reply-hook</command>, <command>send-hook</command>,
+ <command>send2-hook</command>, <command>save-hook</command>,
+ <command>fcc-hook</command>) are evaluated in a slightly different
+ manner. For the other types of hooks, a
+ <link linkend="regex">regular expression</link> is sufficient. But in
+ dealing with messages a finer grain of control is needed for matching
+ since for different purposes you want to match different criteria.
+ </para>
+ <para>
+ NeoMutt allows the use of the
+ <link linkend="patterns">search pattern</link> language for matching
+ messages in hook commands. This works in exactly the same way as it
+ would when <emphasis>limiting</emphasis> or
+ <emphasis>searching</emphasis> the mailbox, except that you are
+ restricted to those operators which match information NeoMutt
+ extracts from the header of the message (i.e., from, to, cc, date,
+ subject, etc.).
+ </para>
+ <para>
+ For example, if you wanted to set your return address based upon
+ sending mail to a specific address, you could do something like:
+ </para>
<screen>
send-hook '~t ^user@work\.com$' 'my_hdr From: John Smith <user@host>'
</screen>
- <para>which would execute the given command when sending mail to
- <emphasis>user@work.com</emphasis>.</para>
- <para>However, it is not required that you write the pattern to match
- using the full searching language. You can still specify a simple
- <emphasis>regular expression</emphasis> like the other hooks, in which
- case NeoMutt will translate your pattern into the full language, using the
- translation specified by the
- <link linkend="default-hook">$default_hook</link> variable. The pattern
- is translated at the time the hook is declared, so the value of
- <link linkend="default-hook">$default_hook</link> that is in effect at
- that time will be used.</para>
+ <para>
+ which would execute the given command when sending mail to
+ <emphasis>user@work.com</emphasis>.
+ </para>
+ <para>
+ However, it is not required that you write the pattern to match using
+ the full searching language. You can still specify a simple
+ <emphasis>regular expression</emphasis> like the other hooks, in
+ which case NeoMutt will translate your pattern into the full
+ language, using the translation specified by the
+ <link linkend="default-hook">$default_hook</link> variable. The
+ pattern is translated at the time the hook is declared, so the value
+ of <link linkend="default-hook">$default_hook</link> that is in
+ effect at that time will be used.
+ </para>
</sect2>
<sect2 id="mailbox-hook" xreflabel="Mailbox Matching in Hooks">
<title>Mailbox Matching in Hooks</title>
- <para>Hooks that match against mailboxes (
- <command>folder-hook</command>,
- <command>mbox-hook</command>) apply both
- <link linkend="regex">regular expression</link> syntax as well as
- <link linkend="shortcuts">mailbox shortcut</link> expansion on the
- regex parameter. There is some overlap between these, so special
- attention should be paid to the first character of the regex.</para>
+ <para>
+ Hooks that match against mailboxes (<command>folder-hook</command>,
+ <command>mbox-hook</command>) apply both
+ <link linkend="regex">regular expression</link> syntax as well as
+ <link linkend="shortcuts">mailbox shortcut</link> expansion on the
+ regex parameter. There is some overlap between these, so special
+ attention should be paid to the first character of the regex.
+ </para>
<screen>
<emphasis role="comment"># Here, ^ will expand to "the current mailbox" not "beginning of string":</emphasis>
folder-hook '\@imap.example.com' "set sort=threads"
</screen>
- <para>Keep in mind that mailbox shortcut expansion on the regex
- parameter takes place when the hook is initially parsed, not when the
- hook is matching against a mailbox. When NeoMutt starts up and is reading
- the .neomuttrc, some mailbox shortcuts may not be usable. For example, the
- "current mailbox" shortcut, ^, will expand to an empty string because
- no mailbox has been opened yet. NeoMutt will issue an error for this case
- or if the mailbox shortcut results in an empty regex.</para>
+ <para>
+ Keep in mind that mailbox shortcut expansion on the regex parameter
+ takes place when the hook is initially parsed, not when the hook is
+ matching against a mailbox. When NeoMutt starts up and is reading the
+ .neomuttrc, some mailbox shortcuts may not be usable. For example,
+ the "current mailbox" shortcut, ^, will expand to an empty string
+ because no mailbox has been opened yet. NeoMutt will issue an error
+ for this case or if the mailbox shortcut results in an empty regex.
+ </para>
</sect2>
</sect1>
<sect1 id="setenv">
<title>Managing the Environment</title>
- <para>You can alter the environment that NeoMutt passes on to its child
- processes using the
- <quote>setenv</quote> and
- <quote>unsetenv</quote> operators. (N.B. These follow NeoMutt-style syntax,
- not shell-style!) You can also query current environment values by
- prefixing a
- <quote>?</quote>character.</para>
+ <para>
+ You can alter the environment that NeoMutt passes on to its child
+ processes using the <quote>setenv</quote> and <quote>unsetenv</quote>
+ operators. (N.B. These follow NeoMutt-style syntax, not shell-style!)
+ You can also query current environment values by prefixing
+ a <quote>?</quote> character.
+ </para>
<screen>
setenv TERM vt100
<sect1 id="query">
<title>External Address Queries</title>
- <para>NeoMutt supports connecting to external directory databases such as
- LDAP, ph/qi, bbdb, or NIS through a wrapper script which connects to NeoMutt
- using a simple interface. Using the
- <link linkend="query-command">$query_command</link> variable, you specify
- the wrapper command to use. For example:</para>
+ <para>
+ NeoMutt supports connecting to external directory databases such as
+ LDAP, ph/qi, bbdb, or NIS through a wrapper script which connects to
+ NeoMutt using a simple interface. Using the
+ <link linkend="query-command">$query_command</link> variable, you
+ specify the wrapper command to use. For example:
+ </para>
<screen>set query_command = "mutt_ldap_query.pl %s"</screen>
- <para>The wrapper script should accept the query on the command-line. It
- should return a one line message, then each matching response on a single
- line, each line containing a tab separated address then name then some
- other optional information. On error, or if there are no matching
- addresses, return a non-zero exit code and a one line error
- message.</para>
- <para>An example multiple response output:</para>
+ <para>
+ The wrapper script should accept the query on the command-line. It
+ should return a one line message, then each matching response on
+ a single line, each line containing a tab separated address then name
+ then some other optional information. On error, or if there are no
+ matching addresses, return a non-zero exit code and a one line error
+ message.
+ </para>
+ <para>
+ An example multiple response output:
+ </para>
<screen>
Searching database ... 20 entries ... 3 matching:
roessler@does-not-exist.org Thomas Roessler mutt pgp
</screen>
- <para>There are two mechanisms for accessing the query function of NeoMutt.
- One is to do a query from the index menu using the
- <literal><query></literal>function (default: Q). This will prompt
- for a query, then bring up the query menu which will list the matching
- responses. From the query menu, you can select addresses to create
- aliases, or to mail. You can tag multiple addresses to mail, start a new
- query, or have a new query appended to the current responses.</para>
- <para>The other mechanism for accessing the query function is for address
- completion, similar to the alias completion. In any prompt for address
- entry, you can use the
- <literal><complete-query></literal>function (default: ^T) to run a
- query based on the current address you have typed. Like aliases, NeoMutt
- will look for what you have typed back to the last space or comma. If
- there is a single response for that query, NeoMutt will expand the address
- in place. If there are multiple responses, NeoMutt will activate the query
- menu. At the query menu, you can select one or more addresses to be added
- to the prompt.</para>
+ <para>
+ There are two mechanisms for accessing the query function of NeoMutt.
+ One is to do a query from the index menu using the
+ <literal><query></literal> function (default: Q). This will
+ prompt for a query, then bring up the query menu which will list the
+ matching responses. From the query menu, you can select addresses to
+ create aliases, or to mail. You can tag multiple addresses to mail,
+ start a new query, or have a new query appended to the current
+ responses.
+ </para>
+ <para>
+ The other mechanism for accessing the query function is for address
+ completion, similar to the alias completion. In any prompt for address
+ entry, you can use the <literal><complete-query></literal>
+ function (default: ^T) to run a query based on the current address you
+ have typed. Like aliases, NeoMutt will look for what you have typed
+ back to the last space or comma. If there is a single response for that
+ query, NeoMutt will expand the address in place. If there are multiple
+ responses, NeoMutt will activate the query menu. At the query menu, you
+ can select one or more addresses to be added to the prompt.
+ </para>
</sect1>
<sect1 id="mailbox-formats">
<title>Mailbox Formats</title>
- <para>NeoMutt supports reading and writing of four different local mailbox
- formats: mbox, MMDF, MH and Maildir. The mailbox type is auto detected,
- so there is no need to use a flag for different mailbox types. When
- creating new mailboxes, NeoMutt uses the default specified with the
- <link linkend="mbox-type">$mbox_type</link> variable. A short description
- of the formats follows.</para>
- <para>
- <emphasis>mbox</emphasis>. This is a widely used mailbox format for UNIX.
- All messages are stored in a single file. Each message has a line of the
- form:</para>
+ <para>
+ NeoMutt supports reading and writing of four different local mailbox
+ formats: mbox, MMDF, MH and Maildir. The mailbox type is auto detected,
+ so there is no need to use a flag for different mailbox types. When
+ creating new mailboxes, NeoMutt uses the default specified with the
+ <link linkend="mbox-type">$mbox_type</link> variable. A short
+ description of the formats follows.
+ </para>
+ <para>
+ <emphasis>mbox</emphasis>. This is a widely used mailbox format for
+ UNIX. All messages are stored in a single file. Each message has
+ a line of the form:
+ </para>
<screen>From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST</screen>
- <para>to denote the start of a new message (this is often referred to as
- the
- <quote>From_</quote> line). The mbox format requires mailbox locking, is
- prone to mailbox corruption with concurrently writing clients or
- misinterpreted From_ lines. Depending on the environment, new mail
- detection can be unreliable. Mbox folders are fast to open and easy to
- archive.</para>
- <para>
- <emphasis>MMDF</emphasis>. This is a variant of the
- <emphasis>mbox</emphasis> format. Each message is surrounded by lines
- containing
- <quote>^A^A^A^A</quote>(four times control-A's). The same problems as for
- mbox apply (also with finding the right message separator as four
- control-A's may appear in message bodies).</para>
- <para>
- <emphasis>MH</emphasis>. A radical departure from
- <emphasis>mbox</emphasis> and
- <emphasis>MMDF</emphasis>, a mailbox consists of a directory and each
- message is stored in a separate file. The filename indicates the message
- number (however, this is may not correspond to the message number NeoMutt
- displays). Deleted messages are renamed with a comma (
- <quote>,</quote>) prepended to the filename. NeoMutt detects this type of
- mailbox by looking for either
- <literal>.mh_sequences</literal> or
- <literal>.xmhcache</literal> files (needed to distinguish normal
- directories from MH mailboxes). MH is more robust with concurrent clients
- writing the mailbox, but still may suffer from lost flags; message
- corruption is less likely to occur than with mbox/mmdf. It's usually
- slower to open compared to mbox/mmdf since many small files have to be
- read (NeoMutt provides
- <xref linkend="header-caching" />to greatly speed this process up).
- Depending on the environment, MH is not very disk-space efficient.</para>
- <para>
- <emphasis>Maildir</emphasis>. The newest of the mailbox formats, used by
- the Qmail MTA (a replacement for sendmail). Similar to
- <emphasis>MH</emphasis>, except that it adds three subdirectories of the
- mailbox:
- <emphasis>tmp</emphasis>,
- <emphasis>new</emphasis> and
- <emphasis>cur</emphasis>. Filenames for the messages are chosen in such a
- way they are unique, even when two programs are writing the mailbox over
- NFS, which means that no file locking is needed and corruption is very
- unlikely. Maildir maybe slower to open without caching in NeoMutt, it too is
- not very disk-space efficient depending on the environment. Since no
- additional files are used for metadata (which is embedded in the message
- filenames) and Maildir is locking-free, it's easy to sync across
- different machines using file-level synchronization tools.</para>
+ <para>
+ to denote the start of a new message (this is often referred to as the
+ <quote>From_</quote> line). The mbox format requires mailbox locking,
+ is prone to mailbox corruption with concurrently writing clients or
+ misinterpreted From_ lines. Depending on the environment, new mail
+ detection can be unreliable. Mbox folders are fast to open and easy to
+ archive.
+ </para>
+ <para>
+ <emphasis>MMDF</emphasis>. This is a variant of the
+ <emphasis>mbox</emphasis> format. Each message is surrounded by lines
+ containing <quote>^A^A^A^A</quote> (four times control-A's). The same
+ problems as for mbox apply (also with finding the right message
+ separator as four control-A's may appear in message bodies).
+ </para>
+ <para>
+ <emphasis>MH</emphasis>. A radical departure from
+ <emphasis>mbox</emphasis> and <emphasis>MMDF</emphasis>, a mailbox
+ consists of a directory and each message is stored in a separate file.
+ The filename indicates the message number (however, this is may not
+ correspond to the message number NeoMutt displays). Deleted messages
+ are renamed with a comma (<quote>,</quote>) prepended to the filename.
+ NeoMutt detects this type of mailbox by looking for either
+ <literal>.mh_sequences</literal> or <literal>.xmhcache</literal> files
+ (needed to distinguish normal directories from MH mailboxes). MH is
+ more robust with concurrent clients writing the mailbox, but still may
+ suffer from lost flags; message corruption is less likely to occur than
+ with mbox/mmdf. It's usually slower to open compared to mbox/mmdf since
+ many small files have to be read (NeoMutt provides <xref
+ linkend="header-caching" /> to greatly speed this process up).
+ Depending on the environment, MH is not very disk-space efficient.
+ </para>
+ <para>
+ <emphasis>Maildir</emphasis>. The newest of the mailbox formats, used
+ by the Qmail MTA (a replacement for sendmail). Similar to
+ <emphasis>MH</emphasis>, except that it adds three subdirectories of
+ the mailbox: <emphasis>tmp</emphasis>, <emphasis>new</emphasis> and
+ <emphasis>cur</emphasis>. Filenames for the messages are chosen in such
+ a way they are unique, even when two programs are writing the mailbox
+ over NFS, which means that no file locking is needed and corruption is
+ very unlikely. Maildir maybe slower to open without caching in NeoMutt,
+ it too is not very disk-space efficient depending on the environment.
+ Since no additional files are used for metadata (which is embedded in
+ the message filenames) and Maildir is locking-free, it's easy to sync
+ across different machines using file-level synchronization tools.
+ </para>
</sect1>
<sect1 id="shortcuts">
<title>Mailbox Shortcuts</title>
- <para>There are a number of built in shortcuts which refer to specific
- mailboxes. These shortcuts can be used anywhere you are prompted for a
- file or mailbox path or in path-related configuration variables. Note
- that these only work at the beginning of a string.</para>
+ <para>
+ There are a number of built in shortcuts which refer to specific
+ mailboxes. These shortcuts can be used anywhere you are prompted for
+ a file or mailbox path or in path-related configuration variables. Note
+ that these only work at the beginning of a string.
+ </para>
<table id="tab-mailbox-shortcuts">
<title>Mailbox shortcuts</title>
</tbody>
</tgroup>
</table>
- <para>For example, to store a copy of outgoing messages in the folder
- they were composed in, a
- <link linkend="folder-hook">
- <command>folder-hook</command>
- </link>can be used to set
- <link linkend="record">$record</link>:</para>
+ <para>
+ For example, to store a copy of outgoing messages in the folder they
+ were composed in, a
+ <link linkend="folder-hook"><command>folder-hook</command></link> can
+ be used to set <link linkend="record">$record</link>:
+ </para>
<screen>folder-hook . 'set record=^'</screen>
</sect1>
<sect1 id="using-lists">
<title>Handling Mailing Lists</title>
- <para>NeoMutt has a few configuration options that make dealing with large
- amounts of mail easier. The first thing you must do is to let NeoMutt know
- what addresses you consider to be mailing lists (technically this does
- not have to be a mailing list, but that is what it is most often used
- for), and what lists you are subscribed to. This is accomplished through
- the use of the
- <link linkend="lists">
- <command>lists</command> and
- <command>subscribe</command></link>commands in your
- <literal>.neomuttrc</literal>.</para>
- <para>Now that NeoMutt knows what your mailing lists are, it can do several
- things, the first of which is the ability to show the name of a list
- through which you received a message (i.e., of a subscribed list) in the
- <emphasis>index</emphasis> menu display. This is useful to distinguish
- between personal and list mail in the same mailbox. In the
- <link linkend="index-format">$index_format</link> variable, the expando
- <quote>%L</quote> will print the string
- <quote>To <list></quote>when
- <quote>list</quote> appears in the
- <quote>To</quote> field, and
- <quote>Cc <list></quote>when it appears in the
- <quote>Cc</quote> field (otherwise it prints the name of the
- author).</para>
- <para>Often times the
- <quote>To</quote> and
- <quote>Cc</quote> fields in mailing list messages tend to get quite large.
- Most people do not bother to remove the author of the message they reply
- to from the list, resulting in two or more copies being sent to that
- person. The
- <literal><list-reply></literal>function, which by default is bound
- to
- <quote>L</quote> in the
- <emphasis>index</emphasis> menu and
- <emphasis>pager</emphasis>, helps reduce the clutter by only replying to
- the known mailing list addresses instead of all recipients (except as
- specified by
- <literal>Mail-Followup-To</literal>, see below).</para>
- <para>NeoMutt also supports the
- <literal>Mail-Followup-To</literal> header. When you send a message to a
- list of recipients which includes one or several subscribed mailing
- lists, and if the
- <link linkend="followup-to">$followup_to</link> option is set, NeoMutt will
- generate a Mail-Followup-To header which contains all the recipients to
- whom you send this message, but not your address. This indicates that
- group-replies or list-replies (also known as
- <quote>followups</quote>) to this message should only be sent to the
- original recipients of the message, and not separately to you - you'll
- receive your copy through one of the mailing lists you are subscribed
- to.</para>
- <para>Conversely, when group-replying or list-replying to a message which
- has a
- <literal>Mail-Followup-To</literal> header, NeoMutt will respect this header
- if the
- <link linkend="honor-followup-to">$honor_followup_to</link> configuration
- variable is set. Using
- <link linkend="list-reply">list-reply</link> will in this case also make
- sure that the reply goes to the mailing list, even if it's not specified
- in the list of recipients in the
- <literal>Mail-Followup-To</literal>.</para>
+ <para>
+ NeoMutt has a few configuration options that make dealing with large
+ amounts of mail easier. The first thing you must do is to let NeoMutt
+ know what addresses you consider to be mailing lists (technically this
+ does not have to be a mailing list, but that is what it is most often
+ used for), and what lists you are subscribed to. This is accomplished
+ through the use of the
+ <link linkend="lists"><command>lists</command></link> and
+ <link linkend="lists"><command>subscribe</command></link> commands in
+ your <literal>.neomuttrc</literal>.
+ </para>
+ <para>
+ Now that NeoMutt knows what your mailing lists are, it can do several
+ things, the first of which is the ability to show the name of a list
+ through which you received a message (i.e., of a subscribed list) in
+ the <emphasis>index</emphasis> menu display. This is useful to
+ distinguish between personal and list mail in the same mailbox. In the
+ <link linkend="index-format">$index_format</link> variable, the expando
+ <quote>%L</quote> will print the string <quote>To <list></quote>
+ when <quote>list</quote> appears in the <quote>To</quote> field, and
+ <quote>Cc <list></quote> when it appears in the <quote>Cc</quote>
+ field (otherwise it prints the name of the author).
+ </para>
+ <para>
+ Often times the <quote>To</quote> and <quote>Cc</quote> fields in
+ mailing list messages tend to get quite large. Most people do not
+ bother to remove the author of the message they reply to from the list,
+ resulting in two or more copies being sent to that person. The
+ <literal><list-reply></literal> function, which by default is
+ bound to <quote>L</quote> in the <emphasis>index</emphasis> menu and
+ <emphasis>pager</emphasis>, helps reduce the clutter by only replying
+ to the known mailing list addresses instead of all recipients (except
+ as specified by <literal>Mail-Followup-To</literal>, see below).
+ </para>
+ <para>
+ NeoMutt also supports the <literal>Mail-Followup-To</literal> header.
+ When you send a message to a list of recipients which includes one or
+ several subscribed mailing lists, and if the
+ <link linkend="followup-to">$followup_to</link> option is set, NeoMutt
+ will generate a Mail-Followup-To header which contains all the
+ recipients to whom you send this message, but not your address. This
+ indicates that group-replies or list-replies (also known as
+ <quote>followups</quote>) to this message should only be sent to the
+ original recipients of the message, and not separately to you – you'll
+ receive your copy through one of the mailing lists you are subscribed
+ to.
+ </para>
+ <para>
+ Conversely, when group-replying or list-replying to a message which has
+ a <literal>Mail-Followup-To</literal> header, NeoMutt will respect this
+ header if the
+ <link linkend="honor-followup-to">$honor_followup_to</link>
+ configuration variable is set. Using
+ <link linkend="list-reply">list-reply</link> will in this case also
+ make sure that the reply goes to the mailing list, even if it's not
+ specified in the list of recipients in the
+ <literal>Mail-Followup-To</literal>.
+ </para>
<note>
- <para>When header editing is enabled, you can create a
- <literal>Mail-Followup-To</literal> header manually. NeoMutt will only
- auto-generate this header if it doesn't exist when you send the
- message.</para>
+ <para>
+ When header editing is enabled, you can create
+ a <literal>Mail-Followup-To</literal> header manually. NeoMutt will
+ only auto-generate this header if it doesn't exist when you send the
+ message.
+ </para>
</note>
- <para>The other method some mailing list admins use is to generate a
- <quote>Reply-To</quote> field which points back to the mailing list
- address rather than the author of the message. This can create problems
- when trying to reply directly to the author in private, since most mail
- clients will automatically reply to the address given in the
- <quote>Reply-To</quote> field. NeoMutt uses the
- <link linkend="reply-to">$reply_to</link> variable to help decide which
- address to use. If set to
- <emphasis>ask-yes</emphasis> or
- <emphasis>ask-no</emphasis>, you will be prompted as to whether or not
- you would like to use the address given in the
- <quote>Reply-To</quote> field, or reply directly to the address given in
- the
- <quote>From</quote> field. When set to
- <emphasis>yes</emphasis>, the
- <quote>Reply-To</quote> field will be used when present.</para>
- <para>You can change or delete the
- <quote>X-Label:</quote>field within NeoMutt using the
- <quote>edit-label</quote> command, bound to the
- <quote>y</quote> key by default. This works for tagged messages, too.
- While in the edit-label function, pressing the <complete> binding
- (TAB, by default) will perform completion against all labels currently in
- use.</para>
- <para>Lastly, NeoMutt has the ability to
- <link linkend="sort">sort</link> the mailbox into
- <link linkend="threads">threads</link>. A thread is a group of messages
- which all relate to the same subject. This is usually organized into a
- tree-like structure where a message and all of its replies are
- represented graphically. If you've ever used a threaded news client, this
- is the same concept. It makes dealing with large volume mailing lists
- easier because you can easily delete uninteresting threads and quickly
- find topics of value.</para>
+ <para>
+ The other method some mailing list admins use is to generate
+ a <quote>Reply-To</quote> field which points back to the mailing list
+ address rather than the author of the message. This can create problems
+ when trying to reply directly to the author in private, since most mail
+ clients will automatically reply to the address given in the
+ <quote>Reply-To</quote> field. NeoMutt uses the
+ <link linkend="reply-to">$reply_to</link> variable to help decide which
+ address to use. If set to <emphasis>ask-yes</emphasis> or
+ <emphasis>ask-no</emphasis>, you will be prompted as to whether or not
+ you would like to use the address given in the <quote>Reply-To</quote>
+ field, or reply directly to the address given in the
+ <quote>From</quote> field. When set to <emphasis>yes</emphasis>, the
+ <quote>Reply-To</quote> field will be used when present.
+ </para>
+ <para>
+ You can change or delete the <quote>X-Label:</quote> field within
+ NeoMutt using the <quote>edit-label</quote> command, bound to the
+ <quote>y</quote> key by default. This works for tagged messages, too.
+ While in the edit-label function, pressing the <complete> binding
+ (TAB, by default) will perform completion against all labels currently
+ in use.
+ </para>
+ <para>
+ Lastly, NeoMutt has the ability to <link linkend="sort">sort</link> the
+ mailbox into <link linkend="threads">threads</link>. A thread is
+ a group of messages which all relate to the same subject. This is
+ usually organized into a tree-like structure where a message and all of
+ its replies are represented graphically. If you've ever used a threaded
+ news client, this is the same concept. It makes dealing with large
+ volume mailing lists easier because you can easily delete uninteresting
+ threads and quickly find topics of value.
+ </para>
</sect1>
<sect1 id="display-munging">
<title>Display Munging</title>
- <para>Working within the confines of a console or terminal window, it is
- often useful to be able to modify certain information elements in a
- non-destructive way -- to change how they display, without changing the
- stored value of the information itself. This is especially so of message
- subjects, which may often be polluted with extraneous metadata that
- either is reproduced elsewhere, or is of secondary interest.</para>
+ <para>
+ Working within the confines of a console or terminal window, it is
+ often useful to be able to modify certain information elements in
+ a non-destructive way – to change how they display, without changing
+ the stored value of the information itself. This is especially so of
+ message subjects, which may often be polluted with extraneous metadata
+ that either is reproduced elsewhere, or is of secondary interest.
+ </para>
<cmdsynopsis>
<command>subjectrx</command>
<arg choice="plain">
</group>
</cmdsynopsis>
<para>
- <literal>subjectrx</literal> specifies a regular expression
- <quote>pattern</quote> which, if detected in a message subject, causes the
- subject to be replaced with the
- <quote>replacement</quote> value. The replacement is subject to
- substitutions in the same way as for the
- <link linkend="spam">spam</link> command:
- <literal>%L</literal> for the text to the left of the match,
- <literal>%R</literal> for text to the right of the match, and
- <literal>%1</literal> for the first subgroup in the match (etc). If you
- simply want to erase the match, set it to
- <quote>%L%R</quote>. Any number of
- <literal>subjectrx</literal> commands may coexist.</para>
- <para>Note this well: the
- <quote>replacement</quote> value replaces the entire subject, not just the
- match!</para>
- <para>
- <literal>unsubjectrx</literal> removes a given subjectrx from the
- substitution list. If
- <literal>*</literal>is used as the pattern, all substitutions will be
- removed.</para>
+ <literal>subjectrx</literal> specifies a regular expression
+ <quote>pattern</quote> which, if detected in a message subject, causes
+ the subject to be replaced with the <quote>replacement</quote> value.
+ The replacement is subject to substitutions in the same way as for the
+ <link linkend="spam">spam</link> command: <literal>%L</literal> for the
+ text to the left of the match, <literal>%R</literal> for text to the
+ right of the match, and <literal>%1</literal> for the first subgroup in
+ the match (etc). If you simply want to erase the match, set it to
+ <quote>%L%R</quote>. Any number of <literal>subjectrx</literal>
+ commands may coexist.
+ </para>
+ <para>
+ Note this well: the <quote>replacement</quote> value replaces the
+ entire subject, not just the match!
+ </para>
+ <para>
+ <literal>unsubjectrx</literal> removes a given subjectrx from the
+ substitution list. If <literal>*</literal> is used as the pattern, all
+ substitutions will be removed.
+ </para>
<example id="ex-subjectrx">
<title>Subject Munging</title>
<sect1 id="new-mail">
<title>New Mail Detection</title>
- <para>NeoMutt supports setups with multiple folders, allowing all of them to
- be monitored for new mail (see
- <xref linkend="mailboxes" />for details).</para>
+ <para>
+ NeoMutt supports setups with multiple folders, allowing all of them to
+ be monitored for new mail (see <xref linkend="mailboxes" /> for
+ details).
+ </para>
<sect2 id="new-mail-formats">
<title>How New Mail Detection Works</title>
- <para>For Mbox and Mmdf folders, new mail is detected by comparing
- access and/or modification times of files: NeoMutt assumes a folder has
- new mail if it wasn't accessed after it was last modified. Utilities
- like
- <literal>biff</literal> or
- <literal>frm</literal> or any other program which accesses the mailbox
- might cause NeoMutt to never detect new mail for that mailbox if they do
- not properly reset the access time. Other possible causes of NeoMutt not
- detecting new mail in these folders are backup tools (updating access
- times) or filesystems mounted without access time update support (for
- Linux systems, see the
- <literal>relatime</literal> option).</para>
+ <para>
+ For Mbox and Mmdf folders, new mail is detected by comparing access
+ and/or modification times of files: NeoMutt assumes a folder has new
+ mail if it wasn't accessed after it was last modified. Utilities like
+ <literal>biff</literal> or <literal>frm</literal> or any other
+ program which accesses the mailbox might cause NeoMutt to never
+ detect new mail for that mailbox if they do not properly reset the
+ access time. Other possible causes of NeoMutt not detecting new mail
+ in these folders are backup tools (updating access times) or
+ filesystems mounted without access time update support (for Linux
+ systems, see the <literal>relatime</literal> option).
+ </para>
<note>
- <para>Contrary to older NeoMutt releases, it now maintains the new mail
- status of a folder by properly resetting the access time if the
- folder contains at least one message which is neither read, nor
- deleted, nor marked as old.</para>
+ <para>
+ Contrary to older NeoMutt releases, it now maintains the new mail
+ status of a folder by properly resetting the access time if the
+ folder contains at least one message which is neither read, nor
+ deleted, nor marked as old.
+ </para>
</note>
- <para>In cases where new mail detection for Mbox or Mmdf folders
- appears to be unreliable, the
- <link linkend="check-mbox-size">$check_mbox_size</link> option can be
- used to make NeoMutt track and consult file sizes for new mail detection
- instead which won't work for size-neutral changes.</para>
- <para>New mail for Maildir is assumed if there is one message in the
- <literal>new/</literal>subdirectory which is not marked deleted (see
- <link linkend="maildir-trash">$maildir_trash</link>). For MH folders, a
- mailbox is considered having new mail if there's at least one message
- in the
- <quote>unseen</quote> sequence as specified by
- <link linkend="mh-seq-unseen">$mh_seq_unseen</link>. Optionally,
- <link linkend="new-mail-command">$new_mail_command</link> can be
- configured to execute an external program every time new mail is
- detected in the current inbox.</para>
- <para>NeoMutt does not poll POP3 folders for new mail, it only
- periodically checks the currently opened folder (if it's a POP3
- folder).</para>
- <para>For IMAP, by default NeoMutt uses recent message counts provided by
- the server to detect new mail. If the
- <link linkend="imap-idle">$imap_idle</link> option is set, it'll use the
- IMAP IDLE extension if advertised by the server.</para>
- <para>The
- <link linkend="mail-check-recent">$mail_check_recent</link> option
- changes whether NeoMutt will notify you of new mail in an already visited
- mailbox. When set (the default) it will only notify you of new mail
- received since the last time you opened the mailbox. When unset, NeoMutt
- will notify you of any new mail in the mailbox.</para>
+ <para>
+ In cases where new mail detection for Mbox or Mmdf folders appears to
+ be unreliable, the
+ <link linkend="check-mbox-size">$check_mbox_size</link> option can be
+ used to make NeoMutt track and consult file sizes for new mail
+ detection instead which won't work for size-neutral changes.
+ </para>
+ <para>
+ New mail for Maildir is assumed if there is one message in the
+ <literal>new/</literal> subdirectory which is not marked deleted (see
+ <link linkend="maildir-trash">$maildir_trash</link>). For MH folders,
+ a mailbox is considered having new mail if there's at least one
+ message in the <quote>unseen</quote> sequence as specified by
+ <link linkend="mh-seq-unseen">$mh_seq_unseen</link>. Optionally,
+ <link linkend="new-mail-command">$new_mail_command</link> can be
+ configured to execute an external program every time new mail is
+ detected in the current inbox.
+ </para>
+ <para>
+ NeoMutt does not poll POP3 folders for new mail, it only periodically
+ checks the currently opened folder (if it's a POP3 folder).
+ </para>
+ <para>
+ For IMAP, by default NeoMutt uses recent message counts provided by
+ the server to detect new mail. If the
+ <link linkend="imap-idle">$imap_idle</link> option is set, it'll use
+ the IMAP IDLE extension if advertised by the server.
+ </para>
+ <para>
+ The <link linkend="mail-check-recent">$mail_check_recent</link>
+ option changes whether NeoMutt will notify you of new mail in an
+ already visited mailbox. When set (the default) it will only notify
+ you of new mail received since the last time you opened the mailbox.
+ When unset, NeoMutt will notify you of any new mail in the mailbox.
+ </para>
</sect2>
<sect2 id="new-mail-polling">
<title>Polling For New Mail</title>
- <para>When in the index menu and being idle (also see
- <link linkend="timeout">$timeout</link>), NeoMutt periodically checks for
- new mail in all folders which have been configured via the
- <command>mailboxes</command> command. The interval depends on the folder
- type: for local/IMAP folders it consults
- <link linkend="mail-check">$mail_check</link> and
- <link linkend="pop-checkinterval">$pop_checkinterval</link> for POP
- folders.</para>
- <para>Outside the index menu the directory browser supports checking
- for new mail using the
- <literal><check-new></literal>function which is unbound by
- default. Pressing TAB will bring up a menu showing the files specified
- by the
- <command>mailboxes</command> command, and indicate which contain new
- messages. NeoMutt will automatically enter this mode when invoked from the
- command line with the
- <literal>-y</literal> option.</para>
- <para>For the pager, index and directory browser menus, NeoMutt contains
- the
- <literal><buffy-list></literal>function (bound to
- <quote>.</quote>by default) which will print a list of folders with new
- mail in the command line at the bottom of the screen.</para>
- <para>For the index, by default NeoMutt displays the number of mailboxes
- with new mail in the status bar, please refer to the
- <link linkend="status-format">$status_format</link> variable for
- details.</para>
- <para>When changing folders, NeoMutt fills the prompt with the first
- folder from the mailboxes list containing new mail (if any), pressing
- <literal><Space></literal>will cycle through folders with new
- mail. The (by default unbound) function
- <literal><next-unread-mailbox></literal>in the index can be used
- to immediately open the next folder with unread mail (if any).</para>
+ <para>
+ When in the index menu and being idle (also see
+ <link linkend="timeout">$timeout</link>), NeoMutt periodically checks
+ for new mail in all folders which have been configured via the
+ <command>mailboxes</command> command. The interval depends on the
+ folder type: for local/IMAP folders it consults
+ <link linkend="mail-check">$mail_check</link> and
+ <link linkend="pop-checkinterval">$pop_checkinterval</link> for POP
+ folders.
+ </para>
+ <para>
+ Outside the index menu the directory browser supports checking for
+ new mail using the <literal><check-new></literal> function
+ which is unbound by default. Pressing TAB will bring up a menu
+ showing the files specified by the <command>mailboxes</command>
+ command, and indicate which contain new messages. NeoMutt will
+ automatically enter this mode when invoked from the command line with
+ the <literal>-y</literal> option.
+ </para>
+ <para>
+ For the pager, index and directory browser menus, NeoMutt contains
+ the <literal><buffy-list></literal> function (bound to
+ <quote>.</quote> by default) which will print a list of folders with
+ new mail in the command line at the bottom of the screen.
+ </para>
+ <para>
+ For the index, by default NeoMutt displays the number of mailboxes
+ with new mail in the status bar, please refer to the
+ <link linkend="status-format">$status_format</link> variable for
+ details.
+ </para>
+ <para>
+ When changing folders, NeoMutt fills the prompt with the first folder
+ from the mailboxes list containing new mail (if any), pressing
+ <literal><Space></literal> will cycle through folders with new
+ mail. The (by default unbound) function
+ <literal><next-unread-mailbox></literal> in the index can be
+ used to immediately open the next folder with unread mail (if any).
+ </para>
</sect2>
<sect2 id="calc-mailbox-counts">
<title>Calculating Mailbox Message Counts</title>
- <para>If
- <link linkend="mail-check-stats">$mail_check_stats</link> is set, NeoMutt
- will periodically calculate the unread, flagged, and total message
- counts for each mailbox watched by the
- <command>mailboxes</command> command. This calculation takes place at
- the same time as new mail polling, but is controlled by a separate
- timer:
- <link linkend="mail-check-stats-interval">
- $mail_check_stats_interval</link>.</para>
- <para>The sidebar can display these message counts. See
- <link linkend="sidebar-format">$sidebar_format</link>.</para>
+ <para>
+ If <link linkend="mail-check-stats">$mail_check_stats</link> is set,
+ NeoMutt will periodically calculate the unread, flagged, and total
+ message counts for each mailbox watched by the
+ <command>mailboxes</command> command. This calculation takes place at
+ the same time as new mail polling, but is controlled by a separate
+ timer:
+ <link linkend="mail-check-stats-interval">$mail_check_stats_interval</link>.
+ </para>
+ <para>
+ The sidebar can display these message counts. See
+ <link linkend="sidebar-format">$sidebar_format</link>.
+ </para>
</sect2>
</sect1>
<sect1 id="editing-threads">
<title>Editing Threads</title>
- <para>NeoMutt has the ability to dynamically restructure threads that are
- broken either by misconfigured software or bad behavior from some
- correspondents. This allows to clean your mailboxes from these annoyances
- which make it hard to follow a discussion.</para>
+ <para>
+ NeoMutt has the ability to dynamically restructure threads that are
+ broken either by misconfigured software or bad behavior from some
+ correspondents. This allows to clean your mailboxes from these
+ annoyances which make it hard to follow a discussion.
+ </para>
<sect2 id="link-threads">
<title>Linking Threads</title>
- <para>Some mailers tend to
- <quote>forget</quote> to correctly set the
- <quote>In-Reply-To:</quote>and
- <quote>References:</quote>headers when replying to a message. This
- results in broken discussions because NeoMutt has not enough information
- to guess the correct threading. You can fix this by tagging the reply,
- then moving to the parent message and using the
- <literal><link-threads></literal>function (bound to & by
- default). The reply will then be connected to this parent
- message.</para>
- <para>You can also connect multiple children at once, tagging them and
- using the
- <literal><tag-prefix></literal>command (
- <quote>;</quote>) or the
- <link linkend="auto-tag">$auto_tag</link> option.</para>
+ <para>
+ Some mailers tend to <quote>forget</quote> to correctly set the
+ <quote>In-Reply-To:</quote> and <quote>References:</quote> headers
+ when replying to a message. This results in broken discussions
+ because NeoMutt has not enough information to guess the correct
+ threading. You can fix this by tagging the reply, then moving to the
+ parent message and using the <literal><link-threads></literal>
+ function (bound to & by default). The reply will then be
+ connected to this parent message.
+ </para>
+ <para>
+ You can also connect multiple children at once, tagging them and
+ using the <literal><tag-prefix></literal> command
+ (<quote>;</quote>) or the <link linkend="auto-tag">$auto_tag</link>
+ option.
+ </para>
</sect2>
<sect2 id="break-threads">
<title>Breaking Threads</title>
- <para>On mailing lists, some people are in the bad habit of starting a
- new discussion by hitting
- <quote>reply</quote> to any message from the list and changing the
- subject to a totally unrelated one. You can fix such threads by using
- the
- <literal><break-thread></literal>function (bound by default to
- #), which will turn the subthread starting from the current message
- into a whole different thread.</para>
+ <para>
+ On mailing lists, some people are in the bad habit of starting a new
+ discussion by hitting <quote>reply</quote> to any message from the
+ list and changing the subject to a totally unrelated one. You can fix
+ such threads by using the <literal><break-thread></literal>
+ function (bound by default to #), which will turn the subthread
+ starting from the current message into a whole different thread.
+ </para>
</sect2>
</sect1>
<sect1 id="dsn">
<title>Delivery Status Notification (DSN) Support</title>
- <para>RFC1894 defines a set of MIME content types for relaying
- information about the status of electronic mail messages. These can be
- thought of as
- <quote>return receipts.</quote></para>
- <para>To support DSN, there are two variables.
- <link linkend="dsn-notify">$dsn_notify</link> is used to request receipts
- for different results (such as failed message, message delivered, etc.).
- <link linkend="dsn-return">$dsn_return</link> requests how much of your
- message should be returned with the receipt (headers or full
- message).</para>
- <para>When using
- <link linkend="sendmail">$sendmail</link> for mail delivery, you need to
- use either Berkeley sendmail 8.8.x (or greater) a MTA supporting DSN
- command line options compatible to Sendmail: The -N and -R options can be
- used by the mail client to make requests as to what type of status
- messages should be returned. Please consider your MTA documentation
- whether DSN is supported.</para>
- <para>For SMTP delivery using
- <link linkend="smtp-url">$smtp_url</link>, it depends on the capabilities
- announced by the server whether NeoMutt will attempt to request DSN or
- not.</para>
+ <para>
+ RFC1894 defines a set of MIME content types for relaying information
+ about the status of electronic mail messages. These can be thought of
+ as <quote>return receipts.</quote>
+ </para>
+ <para>
+ To support DSN, there are two variables.
+ <link linkend="dsn-notify">$dsn_notify</link> is used to request
+ receipts for different results (such as failed message, message
+ delivered, etc.). <link linkend="dsn-return">$dsn_return</link>
+ requests how much of your message should be returned with the receipt
+ (headers or full message).
+ </para>
+ <para>
+ When using <link linkend="sendmail">$sendmail</link> for mail delivery,
+ you need to use either Berkeley sendmail 8.8.x (or greater) a MTA
+ supporting DSN command line options compatible to Sendmail: The -N and
+ -R options can be used by the mail client to make requests as to what
+ type of status messages should be returned. Please consider your MTA
+ documentation whether DSN is supported.
+ </para>
+ <para>
+ For SMTP delivery using <link linkend="smtp-url">$smtp_url</link>, it
+ depends on the capabilities announced by the server whether NeoMutt
+ will attempt to request DSN or not.
+ </para>
</sect1>
<sect1 id="urlview">
<title>Start a WWW Browser on URLs</title>
- <para>If a message contains URLs, it is efficient to get a menu with all
- the URLs and start a WWW browser on one of them. This functionality is
- provided by the external urlview program which can be retrieved at
- <ulink url="ftp://ftp.mutt.org/mutt/contrib/">
- ftp://ftp.mutt.org/mutt/contrib/</ulink>and the configuration
- commands:</para>
+ <para>
+ If a message contains URLs, it is efficient to get a menu with all the
+ URLs and start a WWW browser on one of them. This functionality is
+ provided by the external urlview program which can be retrieved at
+ <ulink url="ftp://ftp.mutt.org/mutt/contrib/">ftp://ftp.mutt.org/mutt/contrib/</ulink>
+ and the configuration commands:
+ </para>
<screen>
macro index \cb |urlview\n
<sect1 id="misc-topics">
<title>Miscellany</title>
- <para>This section documents various features that fit nowhere
- else.</para>
+ <para>
+ This section documents various features that fit nowhere else.
+ </para>
<variablelist>
<varlistentry>
<term>Address normalization</term>
<listitem>
- <para>NeoMutt normalizes all e-mail addresses to the simplest form
- possible. If an address contains a realname, the form
- <emphasis>Joe User <joe@example.com></emphasis>is used and
- the pure e-mail address without angle brackets otherwise, i.e. just
- <emphasis>joe@example.com</emphasis>.</para>
- <para>This normalization affects all headers NeoMutt generates
- including aliases.</para>
+ <para>
+ NeoMutt normalizes all e-mail addresses to the simplest form
+ possible. If an address contains a realname, the form
+ <emphasis>Joe User <joe@example.com></emphasis> is used and
+ the pure e-mail address without angle brackets otherwise, i.e.
+ just <emphasis>joe@example.com</emphasis>.
+ </para>
+ <para>
+ This normalization affects all headers NeoMutt generates
+ including aliases.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Initial folder selection</term>
<listitem>
- <para>The folder NeoMutt opens at startup is determined as follows:
- the folder specified in the
- <literal>$MAIL</literal> environment variable if present. Otherwise,
- the value of
- <literal>$MAILDIR</literal> is taken into account. If that isn't
- present either, NeoMutt takes the user's mailbox in the mailspool as
- determined at compile-time (which may also reside in the home
- directory). The
- <link linkend="spoolfile">$spoolfile</link> setting overrides this
- selection. Highest priority has the mailbox given with the
- <literal>-f</literal> command line option.</para>
+ <para>
+ The folder NeoMutt opens at startup is determined as follows: the
+ folder specified in the <literal>$MAIL</literal> environment
+ variable if present. Otherwise, the value of
+ <literal>$MAILDIR</literal> is taken into account. If that isn't
+ present either, NeoMutt takes the user's mailbox in the mailspool
+ as determined at compile-time (which may also reside in the home
+ directory). The <link linkend="spoolfile">$spoolfile</link>
+ setting overrides this selection. Highest priority has the
+ mailbox given with the <literal>-f</literal> command line option.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<chapter id="mimesupport">
<title>NeoMutt's MIME Support</title>
- <para>Quite a bit of effort has been made to make NeoMutt the premier
- text-mode MIME MUA. Every effort has been made to provide the functionality
- that the discerning MIME user requires, and the conformance to the
- standards wherever possible. When configuring NeoMutt for MIME, there are two
- extra types of configuration files which NeoMutt uses. One is the
- <literal>mime.types</literal> file, which contains the mapping of file
- extensions to IANA MIME types. The other is the
- <literal>mailcap</literal> file, which specifies the external commands to
- use for handling specific MIME types.</para>
+ <para>
+ Quite a bit of effort has been made to make NeoMutt the premier text-mode
+ MIME MUA. Every effort has been made to provide the functionality that
+ the discerning MIME user requires, and the conformance to the standards
+ wherever possible. When configuring NeoMutt for MIME, there are two extra
+ types of configuration files which NeoMutt uses. One is the
+ <literal>mime.types</literal> file, which contains the mapping of file
+ extensions to IANA MIME types. The other is the
+ <literal>mailcap</literal> file, which specifies the external commands to
+ use for handling specific MIME types.
+ </para>
<sect1 id="using-mime">
<title>Using MIME in NeoMutt</title>
<sect2 id="mime-overview">
<title>MIME Overview</title>
- <para>MIME is short for
- <quote>Multipurpose Internet Mail Extension</quote> and describes
- mechanisms to internationalize and structure mail messages. Before the
- introduction of MIME, messages had a single text part and were limited
- to us-ascii header and content. With MIME, messages can have
- attachments (and even attachments which itself have attachments and
- thus form a tree structure), nearly arbitrary characters can be used
- for sender names, recipients and subjects.</para>
- <para>Besides the handling of non-ascii characters in message headers,
- to NeoMutt the most important aspect of MIME are so-called MIME types.
- These are constructed using a
- <emphasis>major</emphasis> and
- <emphasis>minor</emphasis> type separated by a forward slash. These
- specify details about the content that follows. Based upon these, NeoMutt
- decides how to handle this part. The most popular major type is
- <quote>
- <literal>text</literal>
- </quote>with minor types for plain text, HTML and various other
- formats. Major types also exist for images, audio, video and of course
- general application data (e.g. to separate cryptographically signed
- data with a signature, send office documents, and in general arbitrary
- binary data). There's also the
- <literal>multipart</literal> major type which represents the root of a
- subtree of MIME parts. A list of supported MIME types can be found in
- <xref linkend="supported-mime-types" />.</para>
- <para>MIME also defines a set of encoding schemes for transporting MIME
- content over the network:
- <literal>7bit</literal>,
- <literal>8bit</literal>,
- <literal>quoted-printable</literal>,
- <literal>base64</literal> and
- <literal>binary</literal>. There're some rules when to choose what for
- encoding headers and/or body (if needed), and NeoMutt will in general make
- a good choice.</para>
- <para>NeoMutt does most of MIME encoding/decoding behind the scenes to
- form messages conforming to MIME on the sending side. On reception, it
- can be flexibly configured as to how what MIME structure is displayed
- (and if it's displayed): these decisions are based on the content's
- MIME type. There are three areas/menus in dealing with MIME: the pager
- (while viewing a message), the attachment menu and the compose
- menu.</para>
+ <para>
+ MIME is short for <quote>Multipurpose Internet Mail Extension</quote>
+ and describes mechanisms to internationalize and structure mail
+ messages. Before the introduction of MIME, messages had a single text
+ part and were limited to us-ascii header and content. With MIME,
+ messages can have attachments (and even attachments which itself have
+ attachments and thus form a tree structure), nearly arbitrary
+ characters can be used for sender names, recipients and subjects.
+ </para>
+ <para>
+ Besides the handling of non-ascii characters in message headers, to
+ NeoMutt the most important aspect of MIME are so-called MIME types.
+ These are constructed using a <emphasis>major</emphasis> and
+ <emphasis>minor</emphasis> type separated by a forward slash. These
+ specify details about the content that follows. Based upon these,
+ NeoMutt decides how to handle this part. The most popular major type
+ is <quote><literal>text</literal></quote> with minor types for
+ plain text, HTML and various other formats. Major types also exist
+ for images, audio, video and of course general application data (e.g.
+ to separate cryptographically signed data with a signature, send
+ office documents, and in general arbitrary binary data). There's also
+ the <literal>multipart</literal> major type which represents the root
+ of a subtree of MIME parts. A list of supported MIME types can be
+ found in <xref linkend="supported-mime-types" />.
+ </para>
+ <para>
+ MIME also defines a set of encoding schemes for transporting MIME
+ content over the network: <literal>7bit</literal>,
+ <literal>8bit</literal>, <literal>quoted-printable</literal>,
+ <literal>base64</literal> and <literal>binary</literal>. There're
+ some rules when to choose what for encoding headers and/or body (if
+ needed), and NeoMutt will in general make a good choice.
+ </para>
+ <para>
+ NeoMutt does most of MIME encoding/decoding behind the scenes to form
+ messages conforming to MIME on the sending side. On reception, it can
+ be flexibly configured as to how what MIME structure is displayed
+ (and if it's displayed): these decisions are based on the content's
+ MIME type. There are three areas/menus in dealing with MIME: the
+ pager (while viewing a message), the attachment menu and the compose
+ menu.
+ </para>
</sect2>
<sect2 id="mime-pager">
<title>Viewing MIME Messages in the Pager</title>
- <para>When you select a message from the index and view it in the
- pager, NeoMutt decodes as much of a message as possible to a text
- representation. NeoMutt internally supports a number of MIME types,
- including the
- <literal>text</literal> major type (with all minor types), the
- <literal>message/rfc822</literal>(mail messages) type and some
- <literal>multipart</literal> types. In addition, it recognizes a variety
- of PGP MIME types, including PGP/MIME and
- <literal>application/pgp</literal>.</para>
- <para>NeoMutt will denote attachments with a couple lines describing them.
- These lines are of the form:</para>
+ <para>
+ When you select a message from the index and view it in the pager,
+ NeoMutt decodes as much of a message as possible to a text
+ representation. NeoMutt internally supports a number of MIME types,
+ including the <literal>text</literal> major type (with all minor
+ types), the <literal>message/rfc822</literal> (mail messages) type
+ and some <literal>multipart</literal> types. In addition, it
+ recognizes a variety of PGP MIME types, including PGP/MIME and
+ <literal>application/pgp</literal>.
+ </para>
+ <para>
+ NeoMutt will denote attachments with a couple lines describing them.
+ These lines are of the form:
+ </para>
<screen>
[-- Attachment #1: Description --]
[-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
</screen>
- <para>Where the
- <emphasis>Description</emphasis> is the description or filename given
- for the attachment, and the
- <emphasis>Encoding</emphasis> is one of the already mentioned content
- encodings.</para>
- <para>If NeoMutt cannot deal with a MIME type, it will display a message
- like:</para>
+ <para>
+ Where the <emphasis>Description</emphasis> is the description or
+ filename given for the attachment, and the
+ <emphasis>Encoding</emphasis> is one of the already mentioned content
+ encodings.
+ </para>
+ <para>
+ If NeoMutt cannot deal with a MIME type, it will display a message
+ like:
+ </para>
<screen>
[-- image/gif is unsupported (use 'v' to view this part) --]
<sect2 id="attach-menu">
<title>The Attachment Menu</title>
- <para>The default binding for
- <literal><view-attachments></literal>is
- <quote>v</quote>, which displays the attachment menu for a message. The
- attachment menu displays a list of the attachments in a message. From
- the attachment menu, you can save, print, pipe, delete, and view
- attachments. You can apply these operations to a group of attachments
- at once, by tagging the attachments and by using the
- <literal><tag-prefix></literal>operator. You can also reply to
- the current message from this menu, and only the current attachment (or
- the attachments tagged) will be quoted in your reply. You can view
- attachments as text, or view them using the mailcap viewer definition
- (the mailcap mechanism is explained later in detail).</para>
- <para>Finally, you can apply the usual message-related functions (like
- <link linkend="resend-message">
- <literal><resend-message></literal>
- </link>, and the
- <literal><reply></literal>and
- <literal><forward></literal>functions) to attachments of type
- <literal>message/rfc822</literal>.</para>
- <para>See table
- <xref linkend="tab-attachment-bindings" />for all available
- functions.</para>
+ <para>
+ The default binding for <literal><view-attachments></literal>
+ is <quote>v</quote>, which displays the attachment menu for
+ a message. The attachment menu displays a list of the attachments in
+ a message. From the attachment menu, you can save, print, pipe,
+ delete, and view attachments. You can apply these operations to
+ a group of attachments at once, by tagging the attachments and by
+ using the <literal><tag-prefix></literal> operator. You can
+ also reply to the current message from this menu, and only the
+ current attachment (or the attachments tagged) will be quoted in your
+ reply. You can view attachments as text, or view them using the
+ mailcap viewer definition (the mailcap mechanism is explained later
+ in detail).
+ </para>
+ <para>
+ Finally, you can apply the usual message-related functions (like
+ <link linkend="resend-message"><literal><resend-message></literal></link>,
+ and the
+ <literal><reply></literal> and
+ <literal><forward></literal> functions) to attachments of type
+ <literal>message/rfc822</literal>.
+ </para>
+ <para>
+ See table <xref linkend="tab-attachment-bindings" /> for all
+ available functions.
+ </para>
</sect2>
<sect2 id="compose-menu">
<title>The Compose Menu</title>
- <para>The compose menu is the menu you see before you send a message.
- It allows you to edit the recipient list, the subject, and other
- aspects of your message. It also contains a list of the attachments of
- your message, including the main body. From this menu, you can print,
- copy, filter, pipe, edit, compose, review, and rename an attachment or
- a list of tagged attachments. You can also modifying the attachment
- information, notably the type, encoding and description.</para>
- <para>Attachments appear as follows by default:</para>
+ <para>
+ The compose menu is the menu you see before you send a message. It
+ allows you to edit the recipient list, the subject, and other aspects
+ of your message. It also contains a list of the attachments of your
+ message, including the main body. From this menu, you can print,
+ copy, filter, pipe, edit, compose, review, and rename an attachment
+ or a list of tagged attachments. You can also modifying the
+ attachment information, notably the type, encoding and description.
+ </para>
+ <para>
+ Attachments appear as follows by default:
+ </para>
<screen>
- 1 [text/plain, 7bit, 1K] /tmp/neomutt-euler-8082-0 <no description>
2 [applica/x-gunzip, base64, 422K] ~/src/neomutt-0.85.tar.gz <no description>
</screen>
- <para>The
- <quote>-</quote>denotes that NeoMutt will delete the file after sending
- (or postponing, or canceling) the message. It can be toggled with the
- <literal><toggle-unlink></literal>command (default: u). The next
- field is the MIME content-type, and can be changed with the
- <literal><edit-type></literal>command (default: ^T). The next
- field is the encoding for the attachment, which allows a binary message
- to be encoded for transmission on 7bit links. It can be changed with
- the
- <literal><edit-encoding></literal>command (default: ^E). The next
- field is the size of the attachment, rounded to kilobytes or megabytes.
- The next field is the filename, which can be changed with the
- <literal><rename-file></literal>command (default: R). The final
- field is the description of the attachment, and can be changed with the
- <literal><edit-description></literal>command (default: d). See
- <link linkend="attach-format">$attach_format</link> for a full list of
- available expandos to format this display to your needs.</para>
+ <para>
+ The <quote>-</quote> denotes that NeoMutt will delete the file after
+ sending (or postponing, or canceling) the message. It can be toggled
+ with the <literal><toggle-unlink></literal> command (default:
+ u). The next field is the MIME content-type, and can be changed with
+ the <literal><edit-type></literal> command (default: ^T). The
+ next field is the encoding for the attachment, which allows a binary
+ message to be encoded for transmission on 7bit links. It can be
+ changed with the <literal><edit-encoding></literal> command
+ (default: ^E). The next field is the size of the attachment, rounded
+ to kilobytes or megabytes. The next field is the filename, which can
+ be changed with the <literal><rename-file></literal> command
+ (default: R). The final field is the description of the attachment,
+ and can be changed with the
+ <literal><edit-description></literal> command (default: d). See
+ <link linkend="attach-format">$attach_format</link> for a full list
+ of available expandos to format this display to your needs.
+ </para>
</sect2>
</sect1>
<sect1 id="mime-types">
- <title>MIME Type Configuration with
- <literal>mime.types</literal></title>
- <para>To get most out of MIME, it's important that a MIME part's content
- type matches the content as closely as possible so that the recipient's
- client can automatically select the right viewer for the content.
- However, there's no reliable for NeoMutt to know how to detect every
- possible file type. Instead, it uses a simple plain text mapping file
- that specifies what file extension corresponds to what MIME type. This
- file is called
- <literal>mime.types</literal>.</para>
- <para>When you add an attachment to your mail message, NeoMutt searches your
- personal
- <literal>mime.types</literal> file at
- <literal>$HOME/.mime.types</literal>, and then the system
- <literal>mime.types</literal> file at
- <literal>/usr/local/share/neomutt/mime.types</literal> or
- <literal>/etc/mime.types</literal></para>
- <para>Each line starts with the full MIME type, followed by a space and
- space-separated list of file extensions. For example you could
- use:</para>
+ <title>MIME Type Configuration with <literal>mime.types</literal></title>
+ <para>
+ To get most out of MIME, it's important that a MIME part's content type
+ matches the content as closely as possible so that the recipient's
+ client can automatically select the right viewer for the content.
+ However, there's no reliable for NeoMutt to know how to detect every
+ possible file type. Instead, it uses a simple plain text mapping file
+ that specifies what file extension corresponds to what MIME type. This
+ file is called <literal>mime.types</literal>.
+ </para>
+ <para>
+ When you add an attachment to your mail message, NeoMutt searches your
+ personal <literal>mime.types</literal> file at
+ <literal>$HOME/.mime.types</literal>, and then the system
+ <literal>mime.types</literal> file at
+ <literal>/usr/local/share/neomutt/mime.types</literal> or
+ <literal>/etc/mime.types</literal>
+ </para>
+ <para>
+ Each line starts with the full MIME type, followed by a space and
+ space-separated list of file extensions. For example you could use:
+ </para>
<example id="ex-mime-types">
<title>
<literal>mime.types</literal>
</screen>
</example>
- <para>A sample
- <literal>mime.types</literal> file comes with the NeoMutt distribution, and
- should contain most of the MIME types you are likely to use.</para>
- <para>If NeoMutt can not determine the MIME type by the extension of the
- file you attach, it will run the command specified in
- <link linkend="mime-type-query-command">$mime_type_query_command</link>.
- If that command is not specified, NeoMutt will look at the file. If the file
- is free of binary information, NeoMutt will assume that the file is plain
- text, and mark it as
- <literal>text/plain</literal>. If the file contains binary information,
- then NeoMutt will mark it as
- <literal>application/octet-stream</literal>. You can change the MIME type
- that NeoMutt assigns to an attachment by using the
- <literal><edit-type></literal>command from the compose menu
- (default: ^T), see
- <xref linkend="supported-mime-types" />for supported major types. NeoMutt
- recognizes all of these if the appropriate entry is found in the
- <literal>mime.types</literal> file. Non-recognized mime types should only
- be used if the recipient of the message is likely to be expecting such
- attachments.</para>
+ <para>
+ A sample <literal>mime.types</literal> file comes with the NeoMutt
+ distribution, and should contain most of the MIME types you are likely
+ to use.
+ </para>
+ <para>
+ If NeoMutt can not determine the MIME type by the extension of the file
+ you attach, it will run the command specified in
+ <link linkend="mime-type-query-command">$mime_type_query_command</link>.
+ If that command is not specified, NeoMutt will look at the file. If the
+ file is free of binary information, NeoMutt will assume that the file
+ is plain text, and mark it as <literal>text/plain</literal>. If the
+ file contains binary information, then NeoMutt will mark it as
+ <literal>application/octet-stream</literal>. You can change the MIME
+ type that NeoMutt assigns to an attachment by using the
+ <literal><edit-type></literal> command from the compose menu
+ (default: ^T), see <xref linkend="supported-mime-types" /> for
+ supported major types. NeoMutt recognizes all of these if the
+ appropriate entry is found in the <literal>mime.types</literal> file.
+ Non-recognized mime types should only be used if the recipient of the
+ message is likely to be expecting such attachments.
+ </para>
<table id="supported-mime-types">
<title>Supported MIME types</title>
</tbody>
</tgroup>
</table>
- <para>MIME types are not arbitrary, they need to be assigned by
- <ulink url="http://www.iana.org/assignments/media-types/">
- IANA</ulink>.</para>
+ <para>
+ MIME types are not arbitrary, they need to be assigned by
+ <ulink url="http://www.iana.org/assignments/media-types/"> IANA</ulink>.
+ </para>
</sect1>
<sect1 id="mailcap">
<title>MIME Viewer Configuration with Mailcap</title>
- <para>NeoMutt supports RFC 1524 MIME Configuration, in particular the Unix
- specific format specified in Appendix A of RFC 1524. This file format is
- commonly referred to as the
- <quote>mailcap</quote> format. Many MIME compliant programs utilize the
- mailcap format, allowing you to specify handling for all MIME types in
- one place for all programs. Programs known to use this format include
- Firefox, lynx and metamail.</para>
- <para>In order to handle various MIME types that NeoMutt doesn't have
- built-in support for, it parses a series of external configuration files
- to find an external handler. The default search string for these files is
- a colon delimited list containing the following files:</para>
+ <para>
+ NeoMutt supports RFC 1524 MIME Configuration, in particular the Unix
+ specific format specified in Appendix A of RFC 1524. This file format
+ is commonly referred to as the <quote>mailcap</quote> format. Many MIME
+ compliant programs utilize the mailcap format, allowing you to specify
+ handling for all MIME types in one place for all programs. Programs
+ known to use this format include Firefox, lynx and metamail.
+ </para>
+ <para>
+ In order to handle various MIME types that NeoMutt doesn't have
+ built-in support for, it parses a series of external configuration
+ files to find an external handler. The default search string for these
+ files is a colon delimited list containing the following files:
+ </para>
<orderedlist>
<listitem>
<para>
</para>
</listitem>
</orderedlist>
- <para>where
- <literal>$HOME</literal> is your home directory. The
- <literal>$PKGDATADIR</literal> and the
- <literal>$SYSCONFDIR</literal> directories depend on where NeoMutt is
- installed: the former is the default for shared data, the latter for
- system configuration files.</para>
- <para>The default search path can be obtained by running the following
- command:</para>
+ <para>
+ where <literal>$HOME</literal> is your home directory. The
+ <literal>$PKGDATADIR</literal> and the <literal>$SYSCONFDIR</literal>
+ directories depend on where NeoMutt is installed: the former is the
+ default for shared data, the latter for system configuration files.
+ </para>
+ <para>
+ The default search path can be obtained by running the following
+ command:
+ </para>
<screen>neomutt -nF /dev/null -Q mailcap_path</screen>
- <para>In particular, the metamail distribution will install a mailcap
- file, usually as
- <literal>/usr/local/etc/mailcap</literal>, which contains some baseline
- entries.</para>
+ <para>
+ In particular, the metamail distribution will install a mailcap file,
+ usually as <literal>/usr/local/etc/mailcap</literal>, which contains
+ some baseline entries.
+ </para>
<sect2 id="mailcap-basics">
<title>The Basics of the Mailcap File</title>
- <para>A mailcap file consists of a series of lines which are comments,
- blank, or definitions.</para>
- <para>A comment line consists of a # character followed by anything you
- want.</para>
- <para>A blank line is blank.</para>
- <para>A definition line consists of a content type, a view command, and
- any number of optional fields. Each field of a definition line is
- divided by a semicolon
- <quote>;</quote>character.</para>
- <para>The content type is specified in the MIME standard
- <quote>type/subtype</quote> notation. For example,
- <literal>text/plain</literal>,
- <literal>text/html</literal>,
- <literal>image/gif</literal>, etc. In addition, the mailcap format
- includes two formats for wildcards, one using the special
- <quote>*</quote>subtype, the other is the implicit wild, where you only
- include the major type. For example,
- <literal>image/*</literal>, or
- <literal>video</literal> will match all image types and video types,
- respectively.</para>
- <para>The view command is a Unix command for viewing the type
- specified. There are two different types of commands supported. The
- default is to send the body of the MIME message to the command on
- stdin. You can change this behavior by using
- <literal>%s</literal> as a parameter to your view command. This will
- cause NeoMutt to save the body of the MIME message to a temporary file,
- and then call the view command with the
- <literal>%s</literal> replaced by the name of the temporary file. In
- both cases, NeoMutt will turn over the terminal to the view program until
- the program quits, at which time NeoMutt will remove the temporary file if
- it exists. This means that mailcap does
- <emphasis>not</emphasis> work out of the box with programs which detach
- themselves from the terminal right after starting, like
- <literal>open</literal> on Mac OS X. In order to nevertheless use these
- programs with mailcap, you probably need custom shell scripts.</para>
- <para>So, in the simplest form, you can send a
- <literal>text/plain</literal> message to the external pager more on
- standard input:</para>
+ <para>
+ A mailcap file consists of a series of lines which are comments,
+ blank, or definitions.
+ </para>
+ <para>
+ A comment line consists of a # character followed by anything you
+ want.
+ </para>
+ <para>
+ A blank line is blank.
+ </para>
+ <para>
+ A definition line consists of a content type, a view command, and any
+ number of optional fields. Each field of a definition line is divided
+ by a semicolon <quote>;</quote> character.
+ </para>
+ <para>
+ The content type is specified in the MIME standard
+ <quote>type/subtype</quote> notation. For example,
+ <literal>text/plain</literal>, <literal>text/html</literal>,
+ <literal>image/gif</literal>, etc. In addition, the mailcap format
+ includes two formats for wildcards, one using the special
+ <quote>*</quote> subtype, the other is the implicit wild, where you
+ only include the major type. For example, <literal>image/*</literal>,
+ or <literal>video</literal> will match all image types and video
+ types, respectively.
+ </para>
+ <para>
+ The view command is a Unix command for viewing the type specified.
+ There are two different types of commands supported. The default is
+ to send the body of the MIME message to the command on stdin. You can
+ change this behavior by using <literal>%s</literal> as a parameter to
+ your view command. This will cause NeoMutt to save the body of the
+ MIME message to a temporary file, and then call the view command with
+ the <literal>%s</literal> replaced by the name of the temporary file.
+ In both cases, NeoMutt will turn over the terminal to the view
+ program until the program quits, at which time NeoMutt will remove
+ the temporary file if it exists. This means that mailcap does
+ <emphasis>not</emphasis> work out of the box with programs which
+ detach themselves from the terminal right after starting, like
+ <literal>open</literal> on Mac OS X. In order to nevertheless use
+ these programs with mailcap, you probably need custom shell scripts.
+ </para>
+ <para>
+ So, in the simplest form, you can send
+ a <literal>text/plain</literal> message to the external pager more on
+ standard input:
+ </para>
<screen>text/plain; more</screen>
- <para>Or, you could send the message as a file:</para>
+ <para>
+ Or, you could send the message as a file:
+ </para>
<screen>text/plain; more %s</screen>
- <para>Perhaps you would like to use lynx to interactively view a
- <literal>text/html</literal> message:</para>
+ <para>
+ Perhaps you would like to use lynx to interactively view
+ a <literal>text/html</literal> message:
+ </para>
<screen>text/html; lynx %s</screen>
- <para>In this case, lynx does not support viewing a file from standard
- input, so you must use the
- <literal>%s</literal> syntax.</para>
+ <para>
+ In this case, lynx does not support viewing a file from standard
+ input, so you must use the <literal>%s</literal> syntax.
+ </para>
<note>
<para>
<emphasis>Some older versions of lynx contain a bug where they will
- check the mailcap file for a viewer for
- <literal>text/html</literal>. They will find the line which calls
- lynx, and run it. This causes lynx to continuously spawn itself to
- view the object.</emphasis>
+ check the mailcap file for a viewer for
+ <literal>text/html</literal>. They will find the line which calls
+ lynx, and run it. This causes lynx to continuously spawn itself
+ to view the object.</emphasis>
</para>
</note>
- <para>On the other hand, maybe you don't want to use lynx
- interactively, you just want to have it convert the
- <literal>text/html</literal> to
- <literal>text/plain</literal>, then you can use:</para>
+ <para>
+ On the other hand, maybe you don't want to use lynx interactively,
+ you just want to have it convert the <literal>text/html</literal> to
+ <literal>text/plain</literal>, then you can use:
+ </para>
<screen>text/html; lynx -dump %s | more</screen>
- <para>Perhaps you wish to use lynx to view
- <literal>text/html</literal> files, and a pager on all other text
- formats, then you would use the following:</para>
+ <para>
+ Perhaps you wish to use lynx to view <literal>text/html</literal>
+ files, and a pager on all other text formats, then you would use the
+ following:
+ </para>
<screen>
text/html; lynx %s
<sect2 id="secure-mailcap">
<title>Secure Use of Mailcap</title>
- <para>The interpretation of shell meta-characters embedded in MIME
- parameters can lead to security problems in general. NeoMutt tries to
- quote parameters in expansion of
- <literal>%s</literal> syntaxes properly, and avoids risky characters by
- substituting them, see the
- <link linkend="mailcap-sanitize">
- $mailcap_sanitize</link> variable.</para>
- <para>Although NeoMutt's procedures to invoke programs with mailcap seem
- to be safe, there are other applications parsing mailcap, maybe taking
- less care of it. Therefore you should pay attention to the following
- rules:</para>
- <para>
- <emphasis>Keep the %-expandos away from shell quoting.</emphasis>Don't
- quote them with single or double quotes. NeoMutt does this for you, the
- right way, as should any other program which interprets mailcap. Don't
- put them into backtick expansions. Be highly careful with evil
- statements, and avoid them if possible at all. Trying to fix broken
- behavior with quotes introduces new leaks — there is no alternative to
- correct quoting in the first place.</para>
- <para>If you have to use the %-expandos' values in context where you
- need quoting or backtick expansions, put that value into a shell
- variable and reference the shell variable where necessary, as in the
- following example (using
- <literal>$charset</literal> inside the backtick expansion is safe, since
- it is not itself subject to any further expansion):</para>
+ <para>
+ The interpretation of shell meta-characters embedded in MIME
+ parameters can lead to security problems in general. NeoMutt tries to
+ quote parameters in expansion of <literal>%s</literal> syntaxes
+ properly, and avoids risky characters by substituting them, see the
+ <link linkend="mailcap-sanitize"> $mailcap_sanitize</link> variable.
+ </para>
+ <para>
+ Although NeoMutt's procedures to invoke programs with mailcap seem to
+ be safe, there are other applications parsing mailcap, maybe taking
+ less care of it. Therefore you should pay attention to the following
+ rules:
+ </para>
+ <para>
+ <emphasis>Keep the %-expandos away from shell quoting.</emphasis>
+ Don't quote them with single or double quotes. NeoMutt does this for
+ you, the right way, as should any other program which interprets
+ mailcap. Don't put them into backtick expansions. Be highly careful
+ with evil statements, and avoid them if possible at all. Trying to
+ fix broken behavior with quotes introduces new leaks – there is no
+ alternative to correct quoting in the first place.
+ </para>
+ <para>
+ If you have to use the %-expandos' values in context where you need
+ quoting or backtick expansions, put that value into a shell variable
+ and reference the shell variable where necessary, as in the following
+ example (using <literal>$charset</literal> inside the backtick
+ expansion is safe, since it is not itself subject to any further
+ expansion):
+ </para>
<screen>
text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
<sect3 id="optional-mailcap-fields">
<title>Optional Fields</title>
- <para>In addition to the required content-type and view command
- fields, you can add semi-colon
- <quote>;</quote>separated fields to set flags and other options. NeoMutt
- recognizes the following optional fields:</para>
+ <para>
+ In addition to the required content-type and view command fields,
+ you can add semi-colon <quote>;</quote> separated fields to set
+ flags and other options. NeoMutt recognizes the following optional
+ fields:
+ </para>
<variablelist>
<varlistentry>
<term>copiousoutput</term>
<listitem>
- <para>This flag tells NeoMutt that the command passes possibly
- large amounts of text on standard output. This causes NeoMutt to
- invoke a pager (either the internal pager or the external pager
- defined by the pager variable) on the output of the view
- command. Without this flag, NeoMutt assumes that the command is
- interactive. One could use this to replace the pipe to
- <literal>more</literal> in the
- <literal>lynx -dump</literal> example in the Basic
- section:</para>
+ <para>
+ This flag tells NeoMutt that the command passes possibly
+ large amounts of text on standard output. This causes NeoMutt
+ to invoke a pager (either the internal pager or the external
+ pager defined by the pager variable) on the output of the
+ view command. Without this flag, NeoMutt assumes that the
+ command is interactive. One could use this to replace the
+ pipe to <literal>more</literal> in the
+ <literal>lynx -dump</literal> example in the Basic section:
+ </para>
<screen>text/html; lynx -dump %s ; copiousoutput</screen>
- <para>This will cause lynx to format the
- <literal>text/html</literal> output as
- <literal>text/plain</literal> and NeoMutt will use your standard
- pager to display the results.</para>
- <para>NeoMutt will set the
- <literal>COLUMNS</literal> environment variable to the width of
- the pager. Some programs make use of this environment variable
- automatically. Others provide a command line argument that can
- use this to set the output width:</para>
+ <para>
+ This will cause lynx to format the
+ <literal>text/html</literal> output as
+ <literal>text/plain</literal> and NeoMutt will use your
+ standard pager to display the results.
+ </para>
+ <para>
+ NeoMutt will set the <literal>COLUMNS</literal> environment
+ variable to the width of the pager. Some programs make use of
+ this environment variable automatically. Others provide
+ a command line argument that can use this to set the output
+ width:
+ </para>
<screen>
text/html; lynx -dump -width ${COLUMNS:-80} %s; copiousoutput
</screen>
- <para>Note that when using the built-in pager,
- <emphasis>only</emphasis> entries with this flag will be
- considered a handler for a MIME type — all other entries will
- be ignored.</para>
+ <para>
+ Note that when using the built-in pager,
+ <emphasis>only</emphasis> entries with this flag will be
+ considered a handler for a MIME type – all other entries will
+ be ignored.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>needsterminal</term>
<listitem>
- <para>NeoMutt uses this flag when viewing attachments with
- <link linkend="auto-view">
- <command>auto_view</command>
- </link>, in order to decide whether it should honor the setting
- of the
- <link linkend="wait-key">$wait_key</link> variable or not. When
- an attachment is viewed using an interactive program, and the
- corresponding mailcap entry has a
- <emphasis>needsterminal</emphasis> flag, NeoMutt will use
- <link linkend="wait-key">$wait_key</link> and the exit status of
- the program to decide if it will ask you to press a key after
- the external program has exited. In all other situations it
- will not prompt you for a key.</para>
+ <para>
+ NeoMutt uses this flag when viewing attachments with
+ <link linkend="auto-view"><command>auto_view</command></link>,
+ in order to decide whether it should honor the setting of the
+ <link linkend="wait-key">$wait_key</link> variable or not.
+ When an attachment is viewed using an interactive program,
+ and the corresponding mailcap entry has
+ a <emphasis>needsterminal</emphasis> flag, NeoMutt will use
+ <link linkend="wait-key">$wait_key</link> and the exit status
+ of the program to decide if it will ask you to press a key
+ after the external program has exited. In all other
+ situations it will not prompt you for a key.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>compose=<command></term>
<listitem>
- <para>This flag specifies the command to use to create a new
- attachment of a specific MIME type. NeoMutt supports this from the
- compose menu.</para>
+ <para>
+ This flag specifies the command to use to create a new
+ attachment of a specific MIME type. NeoMutt supports this
+ from the compose menu.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>composetyped=<command></term>
<listitem>
- <para>This flag specifies the command to use to create a new
- attachment of a specific MIME type. This command differs from
- the compose command in that NeoMutt will expect standard MIME
- headers on the data. This can be used to specify parameters,
- filename, description, etc. for a new attachment. NeoMutt supports
- this from the compose menu.</para>
+ <para>
+ This flag specifies the command to use to create a new
+ attachment of a specific MIME type. This command differs from
+ the compose command in that NeoMutt will expect standard MIME
+ headers on the data. This can be used to specify parameters,
+ filename, description, etc. for a new attachment. NeoMutt
+ supports this from the compose menu.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>print=<command></term>
<listitem>
- <para>This flag specifies the command to use to print a
- specific MIME type. NeoMutt supports this from the attachment and
- compose menus.</para>
+ <para>
+ This flag specifies the command to use to print a specific
+ MIME type. NeoMutt supports this from the attachment and
+ compose menus.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>edit=<command></term>
<listitem>
- <para>This flag specifies the command to use to edit a specific
- MIME type. NeoMutt supports this from the compose menu, and also
- uses it to compose new attachments. NeoMutt will default to the
- defined
- <link linkend="editor">$editor</link> for text
- attachments.</para>
+ <para>
+ This flag specifies the command to use to edit a specific
+ MIME type. NeoMutt supports this from the compose menu, and
+ also uses it to compose new attachments. NeoMutt will default
+ to the defined <link linkend="editor">$editor</link> for text
+ attachments.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>nametemplate=<template></term>
<listitem>
- <para>This field specifies the format for the file denoted by
- <literal>%s</literal> in the command fields. Certain programs
- will require a certain file extension, for instance, to
- correctly view a file. For instance, lynx will only interpret a
- file as
- <literal>text/html</literal> if the file ends in
- <literal>.html</literal>. So, you would specify lynx as a
- <literal>text/html</literal> viewer with a line in the mailcap
- file like:</para>
+ <para>
+ This field specifies the format for the file denoted by
+ <literal>%s</literal> in the command fields. Certain programs
+ will require a certain file extension, for instance, to
+ correctly view a file. For instance, lynx will only interpret
+ a file as <literal>text/html</literal> if the file ends in
+ <literal>.html</literal>. So, you would specify lynx as
+ a <literal>text/html</literal> viewer with a line in the
+ mailcap file like:
+ </para>
<screen>text/html; lynx %s; nametemplate=%s.html</screen>
</listitem>
</varlistentry>
<varlistentry>
<term>test=<command></term>
<listitem>
- <para>This field specifies a command to run to test whether
- this mailcap entry should be used. The command is defined with
- the command expansion rules defined in the next section. If the
- command returns 0, then the test passed, and NeoMutt uses this
- entry. If the command returns non-zero, then the test failed,
- and NeoMutt continues searching for the right entry. Note that the
- content-type must match before NeoMutt performs the test. For
- example:</para>
+ <para>
+ This field specifies a command to run to test whether this
+ mailcap entry should be used. The command is defined with the
+ command expansion rules defined in the next section. If the
+ command returns 0, then the test passed, and NeoMutt uses
+ this entry. If the command returns non-zero, then the test
+ failed, and NeoMutt continues searching for the right entry.
+ Note that the content-type must match before NeoMutt performs
+ the test. For example:
+ </para>
<screen>
text/html; firefox -remote 'openURL(%s)' ; test=RunningX
text/html; lynx %s
</screen>
- <para>In this example, NeoMutt will run the program
- <literal>RunningX</literal> which will return 0 if the X Window
- manager is running, and non-zero if it isn't. If
- <literal>RunningX</literal> returns 0, then NeoMutt will run
- firefox to display the
- <literal>text/html</literal> object. If RunningX doesn't return
- 0, then NeoMutt will go on to the next entry and use lynx to
- display the
- <literal>text/html</literal> object.</para>
+ <para>
+ In this example, NeoMutt will run the program
+ <literal>RunningX</literal> which will return 0 if the
+ X Window manager is running, and non-zero if it isn't. If
+ <literal>RunningX</literal> returns 0, then NeoMutt will run
+ firefox to display the <literal>text/html</literal> object.
+ If RunningX doesn't return 0, then NeoMutt will go on to the
+ next entry and use lynx to display the
+ <literal>text/html</literal> object.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<sect3 id="mailcap-search-order">
<title>Search Order</title>
- <para>When searching for an entry in the mailcap file, NeoMutt will
- search for the most useful entry for its purpose. For instance, if
- you are attempting to print an
- <literal>image/gif</literal>, and you have the following entries in
- your mailcap file, NeoMutt will search for an entry with the print
- command:</para>
+ <para>
+ When searching for an entry in the mailcap file, NeoMutt will
+ search for the most useful entry for its purpose. For instance, if
+ you are attempting to print an <literal>image/gif</literal>, and
+ you have the following entries in your mailcap file, NeoMutt will
+ search for an entry with the print command:
+ </para>
<screen>
image/*; xv %s
nametemplate=%s.gif
</screen>
- <para>NeoMutt will skip the
- <literal>image/*</literal>entry and use the
- <literal>image/gif</literal> entry with the print command.</para>
- <para>In addition, you can use this with
- <link linkend="auto-view">
- <command>auto_view</command>
- </link>to denote two commands for viewing an attachment, one to be
- viewed automatically, the other to be viewed interactively from the
- attachment menu using the
- <literal><view-mailcap></literal>function (bound to
- <quote>m</quote> by default). In addition, you can then use the test
- feature to determine which viewer to use interactively depending on
- your environment.</para>
+ <para>
+ NeoMutt will skip the <literal>image/*</literal> entry and use the
+ <literal>image/gif</literal> entry with the print command.
+ </para>
+ <para>
+ In addition, you can use this with
+ <link linkend="auto-view"><command>auto_view</command></link> to
+ denote two commands for viewing an attachment, one to be viewed
+ automatically, the other to be viewed interactively from the
+ attachment menu using the <literal><view-mailcap></literal>
+ function (bound to <quote>m</quote> by default). In addition, you
+ can then use the test feature to determine which viewer to use
+ interactively depending on your environment.
+ </para>
<screen>
text/html; firefox -remote 'openURL(%s)' ; test=RunningX
text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput
</screen>
- <para>For
- <link linkend="auto-view">
- <command>auto_view</command>
- </link>, NeoMutt will choose the third entry because of the
- <literal>copiousoutput</literal> tag. For interactive viewing, NeoMutt
- will run the program
- <literal>RunningX</literal> to determine if it should use the first
- entry. If the program returns non-zero, NeoMutt will use the second
- entry for interactive viewing. The last entry is for inline display
- in the pager and the
- <literal><view-attach></literal>function in the attachment
- menu.</para>
- <para>Entries with the
- <literal>copiousoutput</literal> tag should always be specified as the
- last one per type. For non-interactive use, the last entry will then
- actually be the first matching one with the tag set. For
- non-interactive use, only
- <literal>copiousoutput</literal>-tagged entries are considered. For
- interactive use, NeoMutt ignores this tag and treats all entries
- equally. Therefore, if not specified last, all following entries
- without this tag would never be considered for
- <literal><view-attach></literal>because the
- <literal>copiousoutput</literal> before them matched already.</para>
+ <para>
+ For <link linkend="auto-view"><command>auto_view</command></link>,
+ NeoMutt will choose the third entry because of the
+ <literal>copiousoutput</literal> tag. For interactive viewing,
+ NeoMutt will run the program <literal>RunningX</literal> to
+ determine if it should use the first entry. If the program returns
+ non-zero, NeoMutt will use the second entry for interactive
+ viewing. The last entry is for inline display in the pager and the
+ <literal><view-attach></literal> function in the attachment
+ menu.
+ </para>
+ <para>
+ Entries with the <literal>copiousoutput</literal> tag should always
+ be specified as the last one per type. For non-interactive use, the
+ last entry will then actually be the first matching one with the
+ tag set. For non-interactive use, only
+ <literal>copiousoutput</literal>-tagged entries are considered. For
+ interactive use, NeoMutt ignores this tag and treats all entries
+ equally. Therefore, if not specified last, all following entries
+ without this tag would never be considered for
+ <literal><view-attach></literal> because the
+ <literal>copiousoutput</literal> before them matched already.
+ </para>
</sect3>
<sect3 id="mailcap-command-expansion">
<title>Command Expansion</title>
- <para>The various commands defined in the mailcap files are passed to
- the
- <literal>/bin/sh</literal> shell using the
- <literal>system(3)</literal>function. Before the command is passed to
- <literal>/bin/sh -c</literal>, it is parsed to expand various special
- parameters with information from NeoMutt. The keywords NeoMutt expands
- are:</para>
+ <para>
+ The various commands defined in the mailcap files are passed to the
+ <literal>/bin/sh</literal> shell using the
+ <literal>system(3)</literal> function. Before the command is passed
+ to <literal>/bin/sh -c</literal>, it is parsed to expand various
+ special parameters with information from NeoMutt. The keywords
+ NeoMutt expands are:
+ </para>
<variablelist>
<varlistentry>
<term>%s</term>
<listitem>
- <para>As seen in the basic mailcap section, this variable is
- expanded to a filename specified by the calling program. This
- file contains the body of the message to view/print/edit or
- where the composing program should place the results of
- composition. In addition, the use of this keyword causes NeoMutt
- to not pass the body of the message to the view/print/edit
- program on stdin.</para>
+ <para>
+ As seen in the basic mailcap section, this variable is
+ expanded to a filename specified by the calling program. This
+ file contains the body of the message to view/print/edit or
+ where the composing program should place the results of
+ composition. In addition, the use of this keyword causes
+ NeoMutt to not pass the body of the message to the
+ view/print/edit program on stdin.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>%t</term>
<listitem>
- <para>NeoMutt will expand
- <literal>%t</literal> to the text representation of the content
- type of the message in the same form as the first parameter of
- the mailcap definition line, i.e.
- <literal>text/html</literal> or
- <literal>image/gif</literal>.</para>
+ <para>
+ NeoMutt will expand <literal>%t</literal> to the text
+ representation of the content type of the message in the same
+ form as the first parameter of the mailcap definition line,
+ i.e. <literal>text/html</literal> or
+ <literal>image/gif</literal>.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>%{<parameter>}</term>
<listitem>
- <para>NeoMutt will expand this to the value of the specified
- parameter from the Content-Type: line of the mail message. For
- instance, if your mail message contains:</para>
+ <para>
+ NeoMutt will expand this to the value of the specified
+ parameter from the Content-Type: line of the mail message.
+ For instance, if your mail message contains:
+ </para>
<screen>Content-Type: text/plain; charset=iso-8859-1</screen>
- <para>then NeoMutt will expand
- <literal>%{charset}</literal>to
- <quote>iso-8859-1</quote>. The default metamail mailcap file
- uses this feature to test the charset to spawn an xterm using
- the right charset to view the message.</para>
+ <para>
+ then NeoMutt will expand <literal>%{charset}</literal> to
+ <quote>iso-8859-1</quote>. The default metamail mailcap file
+ uses this feature to test the charset to spawn an xterm using
+ the right charset to view the message.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>\%</term>
<listitem>
- <para>This will be replaced by a literal
- <literal>%</literal>.</para>
+ <para>
+ This will be replaced by a literal <literal>%</literal>.
+ </para>
</listitem>
</varlistentry>
</variablelist>
- <para>NeoMutt does not currently support the
- <literal>%F</literal> and
- <literal>%n</literal> keywords specified in RFC 1524. The main purpose
- of these parameters is for multipart messages, which is handled
- internally by NeoMutt.</para>
+ <para>
+ NeoMutt does not currently support the <literal>%F</literal> and
+ <literal>%n</literal> keywords specified in RFC 1524. The main
+ purpose of these parameters is for multipart messages, which is
+ handled internally by NeoMutt.
+ </para>
</sect3>
</sect2>
<sect2 id="mailcap-example">
<title>Example Mailcap Files</title>
- <para>This mailcap file is fairly simple and standard:</para>
+ <para>
+ This mailcap file is fairly simple and standard:
+ </para>
<screen>
<emphasis role="comment"># I'm always running X :)</emphasis>
text/html; firefox -remote 'openURL(%s)'
</screen>
- <para>This mailcap file shows quite a number of examples:</para>
+ <para>
+ This mailcap file shows quite a number of examples:
+ </para>
<screen>
<emphasis role="comment"># Use xanim to view all videos Xanim produces a header on startup,</emphasis>
<sect1 id="auto-view">
<title>MIME Autoview</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>auto_view</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>In addition to explicitly telling NeoMutt to view an attachment with
- the MIME viewer defined in the mailcap file from the attachments menu,
- NeoMutt has support for automatically viewing MIME attachments while in the
- pager.</para>
- <para>For this to work, you must define a viewer in the mailcap file
- which uses the
- <literal>copiousoutput</literal> option to denote that it is
- non-interactive. Usually, you also use the entry to convert the
- attachment to a text representation which you can view in the
- pager.</para>
- <para>You then use the
- <command>auto_view</command> configuration command to list the
- content-types that you wish to view automatically. For instance, if you
- set it to:</para>
+ <para>
+ In addition to explicitly telling NeoMutt to view an attachment with
+ the MIME viewer defined in the mailcap file from the attachments menu,
+ NeoMutt has support for automatically viewing MIME attachments while in
+ the pager.
+ </para>
+ <para>
+ For this to work, you must define a viewer in the mailcap file which
+ uses the <literal>copiousoutput</literal> option to denote that it is
+ non-interactive. Usually, you also use the entry to convert the
+ attachment to a text representation which you can view in the pager.
+ </para>
+ <para>
+ You then use the <command>auto_view</command> configuration command to
+ list the content-types that you wish to view automatically. For
+ instance, if you set it to:
+ </para>
<screen>
auto_view text/html application/x-gunzip \
application/postscript image/gif application/x-tar-gz
</screen>
- <para>...NeoMutt would try to find corresponding entries for rendering
- attachments of these types as text. A corresponding mailcap could look
- like:</para>
+ <para>
+ ...NeoMutt would try to find corresponding entries for rendering
+ attachments of these types as text. A corresponding mailcap could look
+ like:
+ </para>
<screen>
text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html
</screen>
<para>
- <command>unauto_view</command> can be used to remove previous entries from
- the
- <command>auto_view</command> list. This can be used with
- <link linkend="message-hook">
- <command>message-hook</command>
- </link>to autoview messages based on size, etc.
- <quote>
- <command>unauto_view</command>*</quote>will remove all previous
- entries.</para>
+ <command>unauto_view</command> can be used to remove previous entries
+ from the <command>auto_view</command> list. This can be used with
+ <link linkend="message-hook"><command>message-hook</command></link> to
+ autoview messages based on size, etc.
+ <quote><command>unauto_view</command> *</quote> will remove all
+ previous entries.
+ </para>
</sect1>
<sect1 id="alternative-order">
<title>MIME Multipart/Alternative</title>
- <para>The
- <literal>multipart/alternative</literal> container type only has child
- MIME parts which represent the same content in an alternative way. This
- is often used to send HTML messages which contain an alternative plain
- text representation.</para>
- <para>NeoMutt has some heuristics for determining which attachment of a
- <literal>multipart/alternative</literal> type to display:</para>
+ <para>
+ The <literal>multipart/alternative</literal> container type only has
+ child MIME parts which represent the same content in an alternative
+ way. This is often used to send HTML messages which contain an
+ alternative plain text representation.
+ </para>
+ <para>
+ NeoMutt has some heuristics for determining which attachment of
+ a <literal>multipart/alternative</literal> type to display:
+ </para>
<orderedlist>
<listitem>
- <para>First, NeoMutt will check the
- <command>alternative_order</command> list to determine if one of the
- available types is preferred. It consists of a number of MIME types
- in order, including support for implicit and explicit wildcards. For
- example:</para>
+ <para>
+ First, NeoMutt will check the <command>alternative_order</command>
+ list to determine if one of the available types is preferred. It
+ consists of a number of MIME types in order, including support for
+ implicit and explicit wildcards. For example:
+ </para>
<screen>
alternative_order text/enriched text/plain text \
</listitem>
<listitem>
- <para>Next, NeoMutt will check if any of the types have a defined
- <link linkend="auto-view">
- <command>auto_view</command>
- </link>, and use that.</para>
+ <para>
+ Next, NeoMutt will check if any of the types have a defined
+ <link linkend="auto-view"><command>auto_view</command></link>, and
+ use that.
+ </para>
</listitem>
<listitem>
- <para>Failing that, NeoMutt will look for any text type.</para>
+ <para>
+ Failing that, NeoMutt will look for any text type.
+ </para>
</listitem>
<listitem>
- <para>As a last attempt, NeoMutt will look for any type it knows how to
- handle.</para>
+ <para>
+ As a last attempt, NeoMutt will look for any type it knows how to
+ handle.
+ </para>
</listitem>
</orderedlist>
- <para>To remove a MIME type from the
- <command>alternative_order</command> list, use the
- <command>unalternative_order</command> command.</para>
+ <para>
+ To remove a MIME type from the <command>alternative_order</command>
+ list, use the <command>unalternative_order</command> command.
+ </para>
</sect1>
<sect1 id="attachments">
<title>Attachment Searching and Counting</title>
- <para>If you ever lose track of attachments in your mailboxes, NeoMutt's
- attachment-counting and -searching support might be for you. You can make
- your message index display the number of qualifying attachments in each
- message, or search for messages by attachment count. You also can
- configure what kinds of attachments qualify for this feature with the
- <command>attachments</command> and
- <command>unattachments</command> commands.</para>
- <para>In order to provide this information, NeoMutt needs to fully
- MIME-parse all messages affected first. This can slow down operation
- especially for remote mail folders such as IMAP because all messages have
- to be downloaded first regardless whether the user really wants to view
- them or not though using
- <xref linkend="body-caching" />usually means to download the message just
- once.</para>
- <para>The syntax is:</para>
+ <para>
+ If you ever lose track of attachments in your mailboxes, NeoMutt's
+ attachment-counting and -searching support might be for you. You can
+ make your message index display the number of qualifying attachments in
+ each message, or search for messages by attachment count. You also can
+ configure what kinds of attachments qualify for this feature with the
+ <command>attachments</command> and <command>unattachments</command>
+ commands.
+ </para>
+ <para>
+ In order to provide this information, NeoMutt needs to fully MIME-parse
+ all messages affected first. This can slow down operation especially
+ for remote mail folders such as IMAP because all messages have to be
+ downloaded first regardless whether the user really wants to view them
+ or not though using <xref linkend="body-caching" /> usually means to
+ download the message just once.
+ </para>
+ <para>
+ The syntax is:
+ </para>
<cmdsynopsis>
<command>attachments</command>
<arg choice="plain">
</arg>
</cmdsynopsis>
<para>
- <emphasis>disposition</emphasis> is the attachment's Content-Disposition
- type — either
- <literal>inline</literal> or
- <literal>attachment</literal>. You can abbreviate this to
- <literal>I</literal> or
- <literal>A</literal>.</para>
- <para>Disposition is prefixed by either a
- <quote>+</quote>symbol or a
- <quote>-</quote>symbol. If it's a
- <quote>+</quote>, you're saying that you want to allow this disposition
- and MIME type to qualify. If it's a
- <quote>-</quote>, you're saying that this disposition and MIME type is an
- exception to previous
- <quote>+</quote>rules. There are examples below of how this is
- useful.</para>
- <para>
- <emphasis>mime-type</emphasis> is the MIME type of the attachment you want
- the command to affect. A MIME type is always of the format
- <literal>major/minor</literal>, where
- <literal>major</literal> describes the broad category of document you're
- looking at, and
- <literal>minor</literal> describes the specific type within that category.
- The major part of mime-type must be literal text (or the special token
- <quote>
- <literal>*</literal>
- </quote>), but the minor part may be a regular expression. (Therefore,
- <quote>
- <literal>*/.*</literal>
- </quote>matches any MIME type.)</para>
- <para>The MIME types you give to the
- <command>attachments</command> directive are a kind of pattern. When you
- use the
- <command>attachments</command> directive, the patterns you specify are
- added to a list. When you use
- <command>unattachments</command>, the pattern is removed from the list.
- The patterns are not expanded and matched to specific MIME types at this
- time — they're just text in a list. They're only matched when actually
- evaluating a message.</para>
- <para>Some examples might help to illustrate. The examples that are not
- commented out define the default configuration of the lists.</para>
+ <emphasis>disposition</emphasis> is the attachment's
+ Content-Disposition type – either <literal>inline</literal> or
+ <literal>attachment</literal>. You can abbreviate this to
+ <literal>I</literal> or <literal>A</literal>.
+ </para>
+ <para>
+ Disposition is prefixed by either a <quote>+</quote> symbol or
+ a <quote>-</quote> symbol. If it's a <quote>+</quote>, you're saying
+ that you want to allow this disposition and MIME type to qualify. If
+ it's a <quote>-</quote>, you're saying that this disposition and MIME
+ type is an exception to previous <quote>+</quote> rules. There are
+ examples below of how this is useful.
+ </para>
+ <para>
+ <emphasis>mime-type</emphasis> is the MIME type of the attachment you
+ want the command to affect. A MIME type is always of the format
+ <literal>major/minor</literal>, where <literal>major</literal>
+ describes the broad category of document you're looking at, and
+ <literal>minor</literal> describes the specific type within that
+ category. The major part of mime-type must be literal text (or the
+ special token <quote><literal>*</literal></quote>), but the minor
+ part may be a regular expression. (Therefore,
+ <quote><literal>*/.*</literal></quote> matches any MIME type.)
+ </para>
+ <para>
+ The MIME types you give to the <command>attachments</command> directive
+ are a kind of pattern. When you use the <command>attachments</command>
+ directive, the patterns you specify are added to a list. When you use
+ <command>unattachments</command>, the pattern is removed from the list.
+ The patterns are not expanded and matched to specific MIME types at
+ this time – they're just text in a list. They're only matched when
+ actually evaluating a message.
+ </para>
+ <para>
+ Some examples might help to illustrate. The examples that are not
+ commented out define the default configuration of the lists.
+ </para>
<example id="ex-attach-count">
<title>Attachment counting</title>
</screen>
</example>
- <para>Entering the command
- <quote>
- <command>attachments</command>?</quote>as a command will list your
- current settings in neomuttrc format, so that it can be pasted
- elsewhere.</para>
+ <para>
+ Entering the command <quote><command>attachments</command> ?</quote> as
+ a command will list your current settings in neomuttrc format, so that
+ it can be pasted elsewhere.
+ </para>
</sect1>
<sect1 id="mime-lookup">
<title>MIME Lookup</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>mime_lookup</command>
<arg choice="plain">
</arg>
</group>
</cmdsynopsis>
- <para>NeoMutt's
- <command>mime_lookup</command> list specifies a list of MIME types that
- should
- <emphasis>not</emphasis> be treated according to their mailcap entry. This
- option is designed to deal with binary types such as
- <literal>application/octet-stream</literal>. When an attachment's MIME
- type is listed in
- <command>mime_lookup</command>, then the extension of the filename will
- be compared to the list of extensions in the
- <literal>mime.types</literal> file. The MIME type associated with this
- extension will then be used to process the attachment according to the
- rules in the mailcap file and according to any other configuration
- options (such as
- <command>auto_view</command>) specified. Common usage would be:</para>
+ <para>
+ NeoMutt's <command>mime_lookup</command> list specifies a list of MIME
+ types that should <emphasis>not</emphasis> be treated according to
+ their mailcap entry. This option is designed to deal with binary types
+ such as <literal>application/octet-stream</literal>. When an
+ attachment's MIME type is listed in <command>mime_lookup</command>,
+ then the extension of the filename will be compared to the list of
+ extensions in the <literal>mime.types</literal> file. The MIME type
+ associated with this extension will then be used to process the
+ attachment according to the rules in the mailcap file and according to
+ any other configuration options (such as <command>auto_view</command>)
+ specified. Common usage would be:
+ </para>
<screen>
mime_lookup application/octet-stream application/X-Lotus-Manuscript
</screen>
- <para>In addition, the
- <literal>unmime_lookup</literal> command may be used to disable this
- feature for any particular MIME type if it had been set, for example, in
- a global
- <literal>.neomuttrc</literal>.</para>
+ <para>
+ In addition, the <literal>unmime_lookup</literal> command may be used
+ to disable this feature for any particular MIME type if it had been
+ set, for example, in a global <literal>.neomuttrc</literal>.
+ </para>
</sect1>
</chapter>
<sect2 id="compile-time-features">
<title>Enabling/Disabling Features</title>
- <para>NeoMutt supports several of optional features which can be enabled
- or disabled at compile-time by giving the
- <emphasis>configure</emphasis> script certain arguments. These are
- listed in the
- <quote>Optional features</quote> section of the
- <emphasis>configure --help</emphasis> output.</para>
- <para>Which features are enabled or disabled can later be determined
- from the output of
- <literal>neomutt -v</literal>. If a compile option starts with
- <quote>+</quote>it is enabled and disabled if prefixed with
- <quote>-</quote>. For example, if NeoMutt was compiled using GnuTLS for
- encrypted communication instead of OpenSSL,
- <literal>neomutt -v</literal> would contain:</para>
+ <para>
+ NeoMutt supports several of optional features which can be enabled or
+ disabled at compile-time by giving the <emphasis>configure</emphasis>
+ script certain arguments. These are listed in the
+ <quote>Optional features</quote> section of the
+ <emphasis>configure --help</emphasis> output.
+ </para>
+ <para>
+ Which features are enabled or disabled can later be determined from
+ the output of <literal>neomutt -v</literal>. If a compile option
+ starts with <quote>+</quote> it is enabled and disabled if prefixed
+ with <quote>-</quote>. For example, if NeoMutt was compiled using
+ GnuTLS for encrypted communication instead of OpenSSL,
+ <literal>neomutt -v</literal> would contain:
+ </para>
<screen>-openssl +gnutls</screen>
</sect2>
<sect2 id="url-syntax">
<title>URL Syntax</title>
- <para>NeoMutt optionally supports the IMAP, POP3 and SMTP protocols which
- require to access servers using URLs. The canonical syntax for
- specifying URLs in NeoMutt is (an item enclosed in
- <literal>[]</literal>means it is optional and may be omitted):</para>
+ <para>
+ NeoMutt optionally supports the IMAP, POP3 and SMTP protocols which
+ require to access servers using URLs. The canonical syntax for
+ specifying URLs in NeoMutt is (an item enclosed in
+ <literal>[]</literal> means it is optional and may be omitted):
+ </para>
<screen>proto[s]://[username[:password]@]server[:port][/path]</screen>
<para>
- <emphasis>proto</emphasis> is the communication protocol:
- <literal>imap</literal> for IMAP,
- <literal>pop</literal> for POP3 and
- <literal>smtp</literal> for SMTP. If
- <quote>s</quote> for
- <quote>secure communication</quote> is appended, NeoMutt will attempt to
- establish an encrypted communication using SSL or TLS.</para>
- <para>Since all protocols supported by NeoMutt support/require
- authentication, login credentials may be specified in the URL. This has
- the advantage that multiple IMAP, POP3 or SMTP servers may be specified
- (which isn't possible using, for example,
- <link linkend="imap-user">$imap_user</link>). The username may contain
- the
- <quote>@</quote>symbol being used by many mail systems as part of the
- login name. The special characters
- <quote>/</quote>(
- <literal>%2F</literal>),
- <quote>:</quote>(
- <literal>%3A</literal>) and
- <quote>%</quote>(
- <literal>%25</literal>) have to be URL-encoded in usernames using the
- <literal>%</literal>-notation.</para>
- <para>A password can be given, too but is not recommended if the URL is
- specified in a configuration file on disk.</para>
- <para>If no port number is given, NeoMutt will use the system's default
- for the given protocol (usually consulting
- <literal>/etc/services</literal>).</para>
- <para>The optional path is only relevant for IMAP and ignored
- elsewhere.</para>
+ <emphasis>proto</emphasis> is the communication protocol:
+ <literal>imap</literal> for IMAP, <literal>pop</literal> for POP3 and
+ <literal>smtp</literal> for SMTP. If <quote>s</quote> for
+ <quote>secure communication</quote> is appended, NeoMutt will attempt
+ to establish an encrypted communication using SSL or TLS.
+ </para>
+ <para>
+ Since all protocols supported by NeoMutt support/require
+ authentication, login credentials may be specified in the URL. This
+ has the advantage that multiple IMAP, POP3 or SMTP servers may be
+ specified (which isn't possible using, for example,
+ <link linkend="imap-user">$imap_user</link>). The username may contain
+ the <quote>@</quote> symbol being used by many mail systems as part
+ of the login name. The special characters <quote>/</quote>
+ (<literal>%2F</literal>), <quote>:</quote> (<literal>%3A</literal>)
+ and <quote>%</quote> (<literal>%25</literal>) have to be URL-encoded
+ in usernames using the <literal>%</literal>-notation.
+ </para>
+ <para>
+ A password can be given, too but is not recommended if the URL is
+ specified in a configuration file on disk.
+ </para>
+ <para>
+ If no port number is given, NeoMutt will use the system's default for
+ the given protocol (usually consulting
+ <literal>/etc/services</literal>).
+ </para>
+ <para>
+ The optional path is only relevant for IMAP and ignored elsewhere.
+ </para>
<example id="ex-url">
<title>URLs</title>
<sect1 id="ssl">
<title>SSL/TLS Support</title>
- <para>If NeoMutt is compiled with IMAP, POP3 and/or SMTP support, it can
- also be compiled with support for SSL or TLS using either OpenSSL or
- GnuTLS ( by running the
- <emphasis>configure</emphasis> script with the
- <emphasis>--enable-ssl=...</emphasis>option for OpenSSL or
- <emphasis>--enable-gnutls=...</emphasis>for GnuTLS). NeoMutt can then
- attempt to encrypt communication with remote servers if these protocols
- are suffixed with
- <quote>s</quote> for
- <quote>secure communication</quote>.</para>
+ <para>
+ If NeoMutt is compiled with IMAP, POP3 and/or SMTP support, it can also
+ be compiled with support for SSL or TLS using either OpenSSL or GnuTLS
+ (by running the <emphasis>configure</emphasis> script with the
+ <emphasis>--enable-ssl=...</emphasis> option for OpenSSL or
+ <emphasis>--enable-gnutls=...</emphasis> for GnuTLS). NeoMutt can then
+ attempt to encrypt communication with remote servers if these protocols
+ are suffixed with <quote>s</quote> for
+ <quote>secure communication</quote>.
+ </para>
</sect1>
<sect1 id="pop">
<title>POP3 Support</title>
- <para>NeoMutt has POP3 support and has the ability to work with mailboxes
- located on a remote POP3 server and fetch mail for local
- browsing.</para>
- <para>Remote POP3 servers can be accessed using URLs with the
- <literal>pop</literal> protocol for unencrypted and
- <literal>pops</literal> for encrypted communication, see
- <xref linkend="url-syntax" />for details.</para>
- <para>Polling for new mail is more expensive over POP3 than locally. For
- this reason the frequency at which NeoMutt will check for mail remotely can
- be controlled by the
- <link linkend="pop-checkinterval">$pop_checkinterval</link> variable,
- which defaults to every 60 seconds.</para>
- <para>POP is read-only which doesn't allow for some features like editing
- messages or changing flags. However, using
- <xref linkend="header-caching" />and
- <xref linkend="body-caching" />NeoMutt simulates the new/old/read flags as
- well as flagged and replied. NeoMutt applies some logic on top of remote
- messages but cannot change them so that modifications of flags are lost
- when messages are downloaded from the POP server (either by NeoMutt or other
- tools).</para>
+ <para>
+ NeoMutt has POP3 support and has the ability to work with mailboxes
+ located on a remote POP3 server and fetch mail for local browsing.
+ </para>
+ <para>
+ Remote POP3 servers can be accessed using URLs with the
+ <literal>pop</literal> protocol for unencrypted and
+ <literal>pops</literal> for encrypted communication, see
+ <xref linkend="url-syntax" /> for details.
+ </para>
+ <para>
+ Polling for new mail is more expensive over POP3 than locally. For this
+ reason the frequency at which NeoMutt will check for mail remotely can
+ be controlled by the
+ <link linkend="pop-checkinterval">$pop_checkinterval</link> variable,
+ which defaults to every 60 seconds.
+ </para>
+ <para>
+ POP is read-only which doesn't allow for some features like editing
+ messages or changing flags. However, using
+ <xref linkend="header-caching" /> and <xref linkend="body-caching" />
+ NeoMutt simulates the new/old/read flags as well as flagged and
+ replied. NeoMutt applies some logic on top of remote messages but
+ cannot change them so that modifications of flags are lost when
+ messages are downloaded from the POP server (either by NeoMutt or other
+ tools).
+ </para>
<anchor id="fetch-mail" />
- <para>Another way to access your POP3 mail is the
- <literal><fetch-mail></literal>function (default: G). It allows to
- connect to
- <link linkend="pop-host">$pop_host</link>, fetch all your new mail and
- place it in the local
- <link linkend="spoolfile">$spoolfile</link>. After this point, NeoMutt runs
- exactly as if the mail had always been local.</para>
+ <para>
+ Another way to access your POP3 mail is the
+ <literal><fetch-mail></literal> function (default: G). It allows
+ to connect to <link linkend="pop-host">$pop_host</link>, fetch all your
+ new mail and place it in the local
+ <link linkend="spoolfile">$spoolfile</link>. After this point, NeoMutt
+ runs exactly as if the mail had always been local.
+ </para>
<note>
- <para>If you only need to fetch all messages to a local mailbox you
- should consider using a specialized program, such as
- <literal>fetchmail(1)</literal>,
- <literal>getmail(1)</literal>or similar.</para>
+ <para>
+ If you only need to fetch all messages to a local mailbox you should
+ consider using a specialized program, such as
+ <literal>fetchmail(1)</literal>, <literal>getmail(1)</literal> or
+ similar.
+ </para>
</note>
</sect1>
<sect1 id="imap">
<title>IMAP Support</title>
- <para>NeoMutt has IMAP support and has the ability to work with folders
- located on a remote IMAP server.</para>
- <para>You can access the remote inbox by selecting the folder by its URL
- (see
- <xref linkend="url-syntax" />for details) using the
- <literal>imap</literal> or
- <literal>imaps</literal> protocol. Alternatively, a pine-compatible
- notation is also supported, i.e.
- <literal>
- {[username@]imapserver[:port][/ssl]}path/to/folder</literal></para>
- <para>Note that not all servers use
- <quote>/</quote>as the hierarchy separator. NeoMutt should correctly notice
- which separator is being used by the server and convert paths
- accordingly.</para>
- <para>When browsing folders on an IMAP server, you can toggle whether to
- look at only the folders you are subscribed to, or all folders with the
- <emphasis>toggle-subscribed</emphasis> command. See also the
- <link linkend="imap-list-subscribed">
- $imap_list_subscribed</link> variable.</para>
- <para>Polling for new mail on an IMAP server can cause noticeable delays.
- So, you'll want to carefully tune the
- <link linkend="mail-check">$mail_check</link> and
- <link linkend="timeout">$timeout</link> variables. Reasonable values
- are:</para>
+ <para>
+ NeoMutt has IMAP support and has the ability to work with folders
+ located on a remote IMAP server.
+ </para>
+ <para>
+ You can access the remote inbox by selecting the folder by its URL (see
+ <xref linkend="url-syntax" /> for details) using the
+ <literal>imap</literal> or <literal>imaps</literal> protocol.
+ Alternatively, a pine-compatible notation is also supported, i.e.
+ <literal> {[username@]imapserver[:port][/ssl]}path/to/folder</literal>
+ </para>
+ <para>
+ Note that not all servers use <quote>/</quote> as the hierarchy
+ separator. NeoMutt should correctly notice which separator is being
+ used by the server and convert paths accordingly.
+ </para>
+ <para>
+ When browsing folders on an IMAP server, you can toggle whether to look
+ at only the folders you are subscribed to, or all folders with the
+ <emphasis>toggle-subscribed</emphasis> command. See also the
+ <link linkend="imap-list-subscribed"> $imap_list_subscribed</link>
+ variable.
+ </para>
+ <para>
+ Polling for new mail on an IMAP server can cause noticeable delays.
+ So, you'll want to carefully tune the
+ <link linkend="mail-check">$mail_check</link> and
+ <link linkend="timeout">$timeout</link> variables. Reasonable values
+ are:
+ </para>
<screen>
set mail_check=90
set timeout=15
</screen>
- <para>with relatively good results even over slow modem lines.</para>
+ <para>
+ with relatively good results even over slow modem lines.
+ </para>
<note>
- <para>Note that if you are using mbox as the mail store on UW servers
- prior to v12.250, the server has been reported to disconnect a client
- if another client selects the same folder.</para>
+ <para>
+ Note that if you are using mbox as the mail store on UW servers prior
+ to v12.250, the server has been reported to disconnect a client if
+ another client selects the same folder.
+ </para>
</note>
<sect2 id="imap-browser">
<title>The IMAP Folder Browser</title>
- <para>As of version 1.2, NeoMutt supports browsing mailboxes on an IMAP
- server. This is mostly the same as the local file browser, with the
- following differences:</para>
+ <para>
+ As of version 1.2, NeoMutt supports browsing mailboxes on an IMAP
+ server. This is mostly the same as the local file browser, with the
+ following differences:
+ </para>
<itemizedlist>
<listitem>
- <para>In lieu of file permissions, NeoMutt displays the string
- <quote>IMAP</quote>, possibly followed by the symbol
- <quote>+</quote>, indicating that the entry contains both messages
- and subfolders. On Cyrus-like servers folders will often contain
- both messages and subfolders.</para>
+ <para>
+ In lieu of file permissions, NeoMutt displays the string
+ <quote>IMAP</quote>, possibly followed by the symbol
+ <quote>+</quote>, indicating that the entry contains both
+ messages and subfolders. On Cyrus-like servers folders will often
+ contain both messages and subfolders.
+ </para>
</listitem>
<listitem>
- <para>For the case where an entry can contain both messages and
- subfolders, the selection key (bound to
- <literal>enter</literal> by default) will choose to descend into the
- subfolder view. If you wish to view the messages in that folder,
- you must use
- <literal>view-file</literal> instead (bound to
- <literal>space</literal> by default).</para>
+ <para>
+ For the case where an entry can contain both messages and
+ subfolders, the selection key (bound to <literal>enter</literal>
+ by default) will choose to descend into the subfolder view. If
+ you wish to view the messages in that folder, you must use
+ <literal>view-file</literal> instead (bound to
+ <literal>space</literal> by default).
+ </para>
</listitem>
<listitem>
- <para>You can create, delete and rename mailboxes with the
- <literal><create-mailbox></literal>,
- <literal><delete-mailbox></literal>, and
- <literal><rename-mailbox></literal>commands (default
- bindings:
- <literal>C</literal>,
- <literal>d</literal> and
- <literal>r</literal>, respectively). You may also
- <literal><subscribe></literal>and
- <literal><unsubscribe></literal>to mailboxes (normally these
- are bound to
- <literal>s</literal> and
- <literal>u</literal>, respectively).</para>
+ <para>
+ You can create, delete and rename mailboxes with the
+ <literal><create-mailbox></literal>,
+ <literal><delete-mailbox></literal>, and
+ <literal><rename-mailbox></literal> commands (default
+ bindings: <literal>C</literal>, <literal>d</literal> and
+ <literal>r</literal>, respectively). You may also
+ <literal><subscribe></literal> and
+ <literal><unsubscribe></literal> to mailboxes (normally
+ these are bound to <literal>s</literal> and <literal>u</literal>,
+ respectively).
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="imap-authentication">
<title>Authentication</title>
- <para>NeoMutt supports four authentication methods with IMAP servers:
- SASL, GSSAPI, CRAM-MD5, and LOGIN. There is also support for
- the pseudo-protocol ANONYMOUS, which allows you to log in to a public
- IMAP server without having an account. To use ANONYMOUS, simply make
- your username blank or
- <quote>anonymous</quote>.</para>
- <para>SASL is a special super-authenticator, which selects among
- several protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and
- DIGEST-MD5) the most secure method available on your host and the
- server. Using some of these methods (including DIGEST-MD5 and possibly
- GSSAPI), your entire session will be encrypted and invisible to those
- teeming network snoops. It is the best option if you have it. To use
- it, you must have the Cyrus SASL library installed on your system and
- compile NeoMutt with the
- <emphasis>--with-sasl</emphasis> flag.</para>
- <para>NeoMutt will try whichever methods are compiled in and available on
- the server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5,
- LOGIN.</para>
- <para>There are a few variables which control authentication:</para>
+ <para>
+ NeoMutt supports four authentication methods with IMAP servers: SASL,
+ GSSAPI, CRAM-MD5, and LOGIN. There is also support for the
+ pseudo-protocol ANONYMOUS, which allows you to log in to a public
+ IMAP server without having an account. To use ANONYMOUS, simply make
+ your username blank or <quote>anonymous</quote>.
+ </para>
+ <para>
+ SASL is a special super-authenticator, which selects among several
+ protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the
+ most secure method available on your host and the server. Using some
+ of these methods (including DIGEST-MD5 and possibly GSSAPI), your
+ entire session will be encrypted and invisible to those teeming
+ network snoops. It is the best option if you have it. To use it, you
+ must have the Cyrus SASL library installed on your system and compile
+ NeoMutt with the <emphasis>--with-sasl</emphasis> flag.
+ </para>
+ <para>
+ NeoMutt will try whichever methods are compiled in and available on
+ the server, in the following order: SASL, ANONYMOUS, GSSAPI,
+ CRAM-MD5, LOGIN.
+ </para>
+ <para>
+ There are a few variables which control authentication:
+ </para>
<itemizedlist>
<listitem>
<para>
- <link linkend="imap-user">$imap_user</link>- controls the username
- under which you request authentication on the IMAP server, for all
- authenticators. This is overridden by an explicit username in the
- mailbox path (i.e. by using a mailbox name of the form
- <literal>{user@host}</literal>).</para>
+ <link linkend="imap-user">$imap_user</link> – controls the
+ username under which you request authentication on the IMAP
+ server, for all authenticators. This is overridden by an explicit
+ username in the mailbox path (i.e. by using a mailbox name of the
+ form <literal>{user@host}</literal>).
+ </para>
</listitem>
<listitem>
<para>
- <link linkend="imap-pass">$imap_pass</link>- a password which you
- may preset, used by all authentication methods where a password is
- needed.</para>
+ <link linkend="imap-pass">$imap_pass</link> – a password which
+ you may preset, used by all authentication methods where
+ a password is needed.
+ </para>
</listitem>
<listitem>
<para>
- <link linkend="imap-authenticators">$imap_authenticators</link>- a
- colon-delimited list of IMAP authentication methods to try, in the
- order you wish to try them. If specified, this overrides NeoMutt's
- default (attempt everything, in the order listed above).</para>
+ <link linkend="imap-authenticators">$imap_authenticators</link>
+ – a colon-delimited list of IMAP authentication methods to try,
+ in the order you wish to try them. If specified, this overrides
+ NeoMutt's default (attempt everything, in the order listed
+ above).
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect1 id="smtp">
<title>SMTP Support</title>
- <para>Besides supporting traditional mail delivery through a
- sendmail-compatible program, NeoMutt supports delivery through SMTP.</para>
- <para>If the configuration variable
- <link linkend="smtp-url">$smtp_url</link> is set, NeoMutt will contact the
- given SMTP server to deliver messages; if it is unset, NeoMutt will use the
- program specified by
- <link linkend="sendmail">$sendmail</link>.</para>
- <para>For details on the URL syntax, please see
- <xref linkend="url-syntax" />.</para>
- <para>The built-in SMTP support supports encryption (the
- <literal>smtps</literal> protocol using SSL or TLS) as well as SMTP
- authentication using SASL. The authentication mechanisms for SASL are
- specified in
- <link linkend="smtp-authenticators">$smtp_authenticators</link> defaulting
- to an empty list which makes NeoMutt try all available methods from
- most-secure to least-secure.</para>
+ <para>
+ Besides supporting traditional mail delivery through
+ a sendmail-compatible program, NeoMutt supports delivery through SMTP.
+ </para>
+ <para>
+ If the configuration variable <link linkend="smtp-url">$smtp_url</link>
+ is set, NeoMutt will contact the given SMTP server to deliver messages;
+ if it is unset, NeoMutt will use the program specified by
+ <link linkend="sendmail">$sendmail</link>.
+ </para>
+ <para>
+ For details on the URL syntax, please see
+ <xref linkend="url-syntax" />.
+ </para>
+ <para>
+ The built-in SMTP support supports encryption (the
+ <literal>smtps</literal> protocol using SSL or TLS) as well as SMTP
+ authentication using SASL. The authentication mechanisms for SASL are
+ specified in
+ <link linkend="smtp-authenticators">$smtp_authenticators</link>
+ defaulting to an empty list which makes NeoMutt try all available
+ methods from most-secure to least-secure.
+ </para>
</sect1>
<sect1 id="account-hook">
<title>Managing Multiple Accounts</title>
- <para>Usage:</para>
+ <para>
+ Usage:
+ </para>
<cmdsynopsis>
<command>account-hook</command>
<arg choice="plain">
<replaceable class="parameter">command</replaceable>
</arg>
</cmdsynopsis>
- <para>If you happen to have accounts on multiple IMAP, POP and/or SMTP
- servers, you may find managing all the authentication settings
- inconvenient and error-prone. The
- <link linkend="account-hook">
- <command>account-hook</command>
- </link>command may help. This hook works like
- <link linkend="folder-hook">
- <command>folder-hook</command>
- </link>but is invoked whenever NeoMutt needs to access a remote mailbox
- (including inside the folder browser), not just when you open the
- mailbox. This includes (for example) polling for new mail, storing Fcc
- messages and saving messages to a folder. As a consequence,
- <link linkend="account-hook">
- <command>account-hook</command>
- </link>should only be used to set connection-related settings such as
- passwords or tunnel commands but not settings such as sender address or
- name (because in general it should be considered unpredictable which
- <link linkend="account-hook">
- <command>account-hook</command>
- </link>was last used).</para>
- <para>Some examples:</para>
+ <para>
+ If you happen to have accounts on multiple IMAP, POP and/or SMTP
+ servers, you may find managing all the authentication settings
+ inconvenient and error-prone. The
+ <link linkend="account-hook"><command>account-hook</command></link>
+ command may help. This hook works like
+ <link linkend="folder-hook"><command>folder-hook</command></link> but
+ is invoked whenever NeoMutt needs to access a remote mailbox (including
+ inside the folder browser), not just when you open the mailbox. This
+ includes (for example) polling for new mail, storing Fcc messages and
+ saving messages to a folder. As a consequence,
+ <link linkend="account-hook"><command>account-hook</command></link>
+ should only be used to set connection-related settings such as
+ passwords or tunnel commands but not settings such as sender address or
+ name (because in general it should be considered unpredictable which
+ <link linkend="account-hook"><command>account-hook</command></link> was
+ last used).
+ </para>
+ <para>
+ Some examples:
+ </para>
<screen>
account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
account-hook smtp://user@host3/ 'set tunnel="ssh host3 /usr/libexec/smtpd"'
</screen>
- <para>To manage multiple accounts with, for example, different values of
- <link linkend="record">$record</link> or sender addresses,
- <link linkend="folder-hook">
- <command>folder-hook</command>
- </link>has to be be used together with the
- <link linkend="mailboxes">
- <command>mailboxes</command>
- </link>command.</para>
+ <para>
+ To manage multiple accounts with, for example, different values of
+ <link linkend="record">$record</link> or sender addresses,
+ <link linkend="folder-hook"><command>folder-hook</command></link> has
+ to be be used together with the
+ <link linkend="mailboxes"><command>mailboxes</command></link> command.
+ </para>
<example id="ex-multiaccount">
<title>Managing multiple accounts</title>
</screen>
</example>
- <para>In example
- <xref linkend="ex-multiaccount" />the folders are defined using
- <link linkend="mailboxes">
- <command>mailboxes</command>
- </link>so NeoMutt polls them for new mail. Each
- <link linkend="folder-hook">
- <command>folder-hook</command>
- </link>triggers when one mailbox below each IMAP account is opened and
- sets
- <link linkend="folder">$folder</link> to the account's root folder. Next,
- it sets
- <link linkend="record">$record</link> to the
- <emphasis>INBOX/Sent</emphasis> folder below the newly set
- <link linkend="folder">$folder</link>. Please notice that the value the
- <quote>+</quote>
- <link linkend="shortcuts">mailbox shortcut</link> refers to depends on the
- <emphasis>current</emphasis> value of
- <link linkend="folder">$folder</link> and therefore has to be set
- separately per account. Setting other values like
- <link linkend="from">$from</link> or
- <link linkend="signature">$signature</link> is analogous to setting
- <link linkend="record">$record</link>.</para>
+ <para>
+ In example
+ <xref linkend="ex-multiaccount" /> the folders are defined using
+ <link linkend="mailboxes"><command>mailboxes</command></link> so
+ NeoMutt polls them for new mail. Each
+ <link linkend="folder-hook"><command>folder-hook</command></link>
+ triggers when one mailbox below each IMAP account is opened and sets
+ <link linkend="folder">$folder</link> to the account's root folder.
+ Next, it sets
+ <link linkend="record">$record</link> to the
+ <emphasis>INBOX/Sent</emphasis> folder below the newly set
+ <link linkend="folder">$folder</link>. Please notice that the value the
+ <quote>+</quote> <link linkend="shortcuts">mailbox shortcut</link>
+ refers to depends on the <emphasis>current</emphasis> value of
+ <link linkend="folder">$folder</link> and therefore has to be set
+ separately per account. Setting other values like
+ <link linkend="from">$from</link> or
+ <link linkend="signature">$signature</link> is analogous to setting
+ <link linkend="record">$record</link>.
+ </para>
</sect1>
<sect1 id="caching">
<title>Local Caching</title>
- <para>NeoMutt contains two types of local caching:
- <emphasis>(1)</emphasis>the so-called
- <quote>header caching</quote> and
- <emphasis>(2)</emphasis>the so-called
- <quote>body caching</quote> which are both described in this
- section.</para>
- <para>Header caching is optional as it depends on external libraries,
- body caching is always enabled if NeoMutt is compiled with POP and/or IMAP
- support as these use it (body caching requires no external
- library).</para>
+ <para>
+ NeoMutt contains two types of local caching: <emphasis>(1)</emphasis>
+ the so-called <quote>header caching</quote> and
+ <emphasis>(2)</emphasis> the so-called <quote>body caching</quote>
+ which are both described in this section.
+ </para>
+ <para>
+ Header caching is optional as it depends on external libraries, body
+ caching is always enabled if NeoMutt is compiled with POP and/or IMAP
+ support as these use it (body caching requires no external library).
+ </para>
<sect2 id="header-caching">
<title>Header Caching</title>
- <para>NeoMutt provides optional support for caching message headers for
- the following types of folders: IMAP, POP, Maildir and MH. Header
- caching greatly speeds up opening large folders because for remote
- folders, headers usually only need to be downloaded once. For Maildir
- and MH, reading the headers from a single file is much faster than
- looking at possibly thousands of single files (since Maildir and MH use
- one file per message.)</para>
- <para>Header caching can be enabled by configuring one of the database
- backends. One of tokyocabinet, kyotocabinet, qdbm, gdbm, lmdb or
- bdb.</para>
- <para>If enabled,
- <link linkend="header-cache">$header_cache</link> can be used to either
- point to a file or a directory. If set to point to a file, one database
- file for all folders will be used (which may result in lower
- performance), but one file per folder if it points to a
- directory.</para>
- <para>Additionally,
- <link linkend="header-cache-backend">$header_cache_backend</link> can be
- used to specify which backend to use. The list of available backends
- can be specified at configure time with a set of --with-<backend>
- options. Currently, the following backends are supported: tokyocabinet,
- kyotocabinet, qdbm, gdbm, bdb, lmdb.</para>
+ <para>
+ NeoMutt provides optional support for caching message headers for the
+ following types of folders: IMAP, POP, Maildir and MH. Header caching
+ greatly speeds up opening large folders because for remote folders,
+ headers usually only need to be downloaded once. For Maildir and MH,
+ reading the headers from a single file is much faster than looking at
+ possibly thousands of single files (since Maildir and MH use one file
+ per message.)
+ </para>
+ <para>
+ Header caching can be enabled by configuring one of the database
+ backends. One of tokyocabinet, kyotocabinet, qdbm, gdbm, lmdb or bdb.
+ </para>
+ <para>
+ If enabled, <link linkend="header-cache">$header_cache</link> can be
+ used to either point to a file or a directory. If set to point to
+ a file, one database file for all folders will be used (which may
+ result in lower performance), but one file per folder if it points to
+ a directory.
+ </para>
+ <para>
+ Additionally,
+ <link linkend="header-cache-backend">$header_cache_backend</link> can
+ be used to specify which backend to use. The list of available
+ backends can be specified at configure time with a set of
+ --with-<backend> options. Currently, the following backends are
+ supported: tokyocabinet, kyotocabinet, qdbm, gdbm, bdb, lmdb.
+ </para>
</sect2>
<sect2 id="body-caching">
<title>Body Caching</title>
- <para>Both cache methods can be combined using the same directory for
- storage (and for IMAP/POP even provide meaningful file names) which
- simplifies manual maintenance tasks.</para>
- <para>In addition to caching message headers only, NeoMutt can also cache
- whole message bodies. This results in faster display of messages for
- POP and IMAP folders because messages usually have to be downloaded
- only once.</para>
- <para>For configuration, the variable
- <link linkend="message-cachedir">$message_cachedir</link> must point to
- a directory. There, NeoMutt will create a hierarchy of subdirectories
- named like the account and mailbox path the cache is for.</para>
+ <para>
+ Both cache methods can be combined using the same directory for
+ storage (and for IMAP/POP even provide meaningful file names) which
+ simplifies manual maintenance tasks.
+ </para>
+ <para>
+ In addition to caching message headers only, NeoMutt can also cache
+ whole message bodies. This results in faster display of messages for
+ POP and IMAP folders because messages usually have to be downloaded
+ only once.
+ </para>
+ <para>
+ For configuration, the variable
+ <link linkend="message-cachedir">$message_cachedir</link> must point
+ to a directory. There, NeoMutt will create a hierarchy of
+ subdirectories named like the account and mailbox path the cache is
+ for.
+ </para>
</sect2>
<sect2 id="cache-dirs">
<title>Cache Directories</title>
- <para>For using both, header and body caching,
- <link linkend="header-cache">$header_cache</link> and
- <link linkend="message-cachedir">$message_cachedir</link> can be safely
- set to the same value.</para>
- <para>In a header or body cache directory, NeoMutt creates a directory
- hierarchy named like:
- <literal>proto:user@hostname</literal> where
- <literal>proto</literal> is either
- <quote>pop</quote> or
- <quote>imap.</quote>Within there, for each folder, NeoMutt stores messages
- in single files and header caches in files with the
- <quote>.hcache</quote> extension. All files can be removed as needed if
- the consumed disk space becomes an issue as NeoMutt will silently fetch
- missing items again. Pathnames are always stored in UTF-8
- encoding.</para>
- <para>For Maildir and MH, the header cache files are named after the
- MD5 checksum of the path.</para>
+ <para>
+ For using both, header and body caching,
+ <link linkend="header-cache">$header_cache</link> and
+ <link linkend="message-cachedir">$message_cachedir</link> can be
+ safely set to the same value.
+ </para>
+ <para>
+ In a header or body cache directory, NeoMutt creates a directory
+ hierarchy named like: <literal>proto:user@hostname</literal> where
+ <literal>proto</literal> is either <quote>pop</quote> or
+ <quote>imap.</quote> Within there, for each folder, NeoMutt stores
+ messages in single files and header caches in files with the
+ <quote>.hcache</quote> extension. All files can be removed as needed
+ if the consumed disk space becomes an issue as NeoMutt will silently
+ fetch missing items again. Pathnames are always stored in UTF-8
+ encoding.
+ </para>
+ <para>
+ For Maildir and MH, the header cache files are named after the MD5
+ checksum of the path.
+ </para>
</sect2>
<sect2 id="maint-cache">
<title>Maintenance</title>
- <para>NeoMutt does not (yet) support maintenance features for header cache
- database files so that files have to be removed in case they grow too
- big. It depends on the database library used for header caching whether
- disk space freed by removing messages is re-used.</para>
- <para>For body caches, NeoMutt can keep the local cache in sync with the
- remote mailbox if the
- <link linkend="message-cache-clean">$message_cache_clean</link> variable
- is set. Cleaning means to remove messages from the cache which are no
- longer present in the mailbox which only happens when other mail
- clients or instances of NeoMutt using a different body cache location
- delete messages (NeoMutt itself removes deleted messages from the cache
- when syncing a mailbox). As cleaning can take a noticeable amount of
- time, it should not be set in general but only occasionally.</para>
+ <para>
+ NeoMutt does not (yet) support maintenance features for header cache
+ database files so that files have to be removed in case they grow too
+ big. It depends on the database library used for header caching
+ whether disk space freed by removing messages is re-used.
+ </para>
+ <para>
+ For body caches, NeoMutt can keep the local cache in sync with the
+ remote mailbox if the
+ <link linkend="message-cache-clean">$message_cache_clean</link>
+ variable is set. Cleaning means to remove messages from the cache
+ which are no longer present in the mailbox which only happens when
+ other mail clients or instances of NeoMutt using a different body
+ cache location delete messages (NeoMutt itself removes deleted
+ messages from the cache when syncing a mailbox). As cleaning can take
+ a noticeable amount of time, it should not be set in general but only
+ occasionally.
+ </para>
</sect2>
</sect1>
<sect1 id="sending-mixmaster">
<title>Sending Anonymous Messages via Mixmaster</title>
- <para>You may also have compiled NeoMutt to co-operate with Mixmaster, an
- anonymous remailer. Mixmaster permits you to send your messages
- anonymously using a chain of remailers. Mixmaster support in NeoMutt is for
- mixmaster version 2.04 or later.</para>
- <para>To use it, you'll have to obey certain restrictions. Most
- important, you cannot use the
- <literal>Cc</literal> and
- <literal>Bcc</literal> headers. To tell NeoMutt to use mixmaster, you have to
- select a remailer chain, using the mix function on the compose
- menu.</para>
- <para>The chain selection screen is divided into two parts. In the
- (larger) upper part, you get a list of remailers you may use. In the
- lower part, you see the currently selected chain of remailers.</para>
- <para>You can navigate in the chain using the
- <literal><chain-prev></literal>and
- <literal><chain-next></literal>functions, which are by default
- bound to the left and right arrows and to the
- <literal>h</literal> and
- <literal>l</literal> keys (think vi keyboard bindings). To insert a
- remailer at the current chain position, use the
- <literal><insert></literal>function. To append a remailer behind
- the current chain position, use
- <literal><select-entry></literal>or
- <literal><append></literal>. You can also delete entries from the
- chain, using the corresponding function. Finally, to abandon your
- changes, leave the menu, or
- <literal><accept></literal>them pressing (by default) the
- <literal>Return</literal> key.</para>
- <para>Note that different remailers do have different capabilities,
- indicated in the %c entry of the remailer menu lines (see
- <link linkend="mix-entry-format">$mix_entry_format</link>). Most
- important is the
- <quote>middleman</quote> capability, indicated by a capital
- <quote>M</quote>: This means that the remailer in question cannot be used
- as the final element of a chain, but will only forward messages to other
- mixmaster remailers. For details on the other capabilities, please have a
- look at the mixmaster documentation.</para>
+ <para>
+ You may also have compiled NeoMutt to co-operate with Mixmaster, an
+ anonymous remailer. Mixmaster permits you to send your messages
+ anonymously using a chain of remailers. Mixmaster support in NeoMutt is
+ for mixmaster version 2.04 or later.
+ </para>
+ <para>
+ To use it, you'll have to obey certain restrictions. Most important,
+ you cannot use the <literal>Cc</literal> and <literal>Bcc</literal>
+ headers. To tell NeoMutt to use mixmaster, you have to select
+ a remailer chain, using the mix function on the compose menu.
+ </para>
+ <para>
+ The chain selection screen is divided into two parts. In the (larger)
+ upper part, you get a list of remailers you may use. In the lower part,
+ you see the currently selected chain of remailers.
+ </para>
+ <para>
+ You can navigate in the chain using the
+ <literal><chain-prev></literal> and
+ <literal><chain-next></literal> functions, which are by default
+ bound to the left and right arrows and to the <literal>h</literal> and
+ <literal>l</literal> keys (think vi keyboard bindings). To insert
+ a remailer at the current chain position, use the
+ <literal><insert></literal> function. To append a remailer behind
+ the current chain position, use <literal><select-entry></literal>
+ or <literal><append></literal>. You can also delete entries from
+ the chain, using the corresponding function. Finally, to abandon your
+ changes, leave the menu, or <literal><accept></literal> them
+ pressing (by default) the <literal>Return</literal> key.
+ </para>
+ <para>
+ Note that different remailers do have different capabilities, indicated
+ in the %c entry of the remailer menu lines (see
+ <link linkend="mix-entry-format">$mix_entry_format</link>). Most
+ important is the <quote>middleman</quote> capability, indicated by
+ a capital <quote>M</quote>: This means that the remailer in question
+ cannot be used as the final element of a chain, but will only forward
+ messages to other mixmaster remailers. For details on the other
+ capabilities, please have a look at the mixmaster documentation.
+ </para>
</sect1>
<sect1 id="attach-headers-color">
<sect2 id="attach-headers-color-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-09-10</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-09-10
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="attach-headers-color-intro">
<title>Introduction</title>
- <para>This feature allows specifying regexes to color attachment
- headers just like the mail body would. The headers are the parts
- colored by the
- <literal>attachment</literal> color. Coloring them is useful to
- highlight the results of GPGME's signature checks or simply the
- mimetype or size of the attachment. Only the part matched by the regex
- is colored.</para>
+ <para>
+ This feature allows specifying regexes to color attachment headers
+ just like the mail body would. The headers are the parts colored by
+ the <literal>attachment</literal> color. Coloring them is useful to
+ highlight the results of GPGME's signature checks or simply the
+ mimetype or size of the attachment. Only the part matched by the
+ regex is colored.
+ </para>
</sect2>
<sect2 id="attach-headers-color-usage">
<title>Usage</title>
- <para>The
- <literal>attach_headers</literal> color should be used just like the
- <literal>body</literal> color.</para>
+ <para>
+ The <literal>attach_headers</literal> color should be used just like
+ the <literal>body</literal> color.
+ </para>
<screen>color attach_headers foreground background pattern</screen>
</sect2>
<sect2 id="attach-headers-color-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="attach-headers-color-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Guillaume Brogi
- <email>gui-gui@netcourrier.com</email></para>
+ <para>
+ Guillaume Brogi
+ <email>gui-gui@netcourrier.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="compose-to-sender-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-10-02</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-10-02
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="compose-to-sender-intro">
<title>Introduction</title>
- <para>The compose-to-sender feature adds a new command to start composing
- a new email to the sender of the current message. This is not a reply,
- but a new, separate, message.</para>
- <para>It works on tagged messages too, sending one email to all of the
- senders of the tagged messages.</para>
+ <para>
+ The compose-to-sender feature adds a new command to start composing
+ a new email to the sender of the current message. This is not
+ a reply, but a new, separate, message.
+ </para>
+ <para>
+ It works on tagged messages too, sending one email to all of the
+ senders of the tagged messages.
+ </para>
</sect2>
<sect2 id="compose-to-sender-functions">
<title>Functions</title>
- <para>compose-to-sender adds the following function to NeoMutt. By
- default, it is not bound to a key.</para>
+ <para>
+ compose-to-sender adds the following function to NeoMutt. By default,
+ it is not bound to a key.
+ </para>
<table id="table-compose-to-sender-functions">
<title>compose-to-sender Functions</title>
<sect2 id="compose-to-sender-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="compose-to-sender-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Brian Medley</para>
+ <para>
+ Brian Medley
+ </para>
</listitem>
<listitem>
- <para>Guillaume Brogi
- <email>gui-gui@netcourrier.com</email></para>
+ <para>
+ Guillaume Brogi
+ <email>gui-gui@netcourrier.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="compress-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-05-30</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-05-30
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="compress-intro">
<title>Introduction</title>
- <para>The Compressed Folder feature allows NeoMutt to read mailbox files
- that are compressed. But it isn't limited to compressed files. It works
- well with encrypted files, too. In fact, if you can create a
- program/script to convert to and from your format, then NeoMutt can read
- it.</para>
- <para>The feature adds three hooks to NeoMutt:
- <literal>open-hook</literal>,
- <literal>close-hook</literal> and
- <literal>append-hook</literal>. They define commands to: uncompress a
- file; compress a file; append messages to an already compressed
- file.</para>
- <para>There are some examples of both compressed and encrypted files,
- later. For now, the documentation will just concentrate on compressed
- files.</para>
+ <para>
+ The Compressed Folder feature allows NeoMutt to read mailbox files
+ that are compressed. But it isn't limited to compressed files. It
+ works well with encrypted files, too. In fact, if you can create
+ a program/script to convert to and from your format, then NeoMutt can
+ read it.
+ </para>
+ <para>
+ The feature adds three hooks to NeoMutt:
+ <literal>open-hook</literal>, <literal>close-hook</literal> and
+ <literal>append-hook</literal>. They define commands to: uncompress
+ a file; compress a file; append messages to an already compressed
+ file.
+ </para>
+ <para>
+ There are some examples of both compressed and encrypted files,
+ later. For now, the documentation will just concentrate on compressed
+ files.
+ </para>
</sect2>
<sect2 id="compress-commands">
<replaceable class="parameter">shell-command</replaceable>
</arg>
</cmdsynopsis>
- <para>The shell-command must contain two placeholders for filenames:
- <literal>%f</literal> and
- <literal>%t</literal>. These represent
- <quote>from</quote> and
- <quote>to</quote> filenames. These placeholders should be placed inside
- single-quotes to prevent unintended shell expansions.</para>
- <para>If you need the exact string
- <quote>%f</quote> or
- <quote>%t</quote> in your command, simply double up the
- <quote>%</quote>character, e.g.
- <quote>%%f</quote> or
- <quote>%%t</quote>.</para>
+ <para>
+ The shell-command must contain two placeholders for filenames:
+ <literal>%f</literal> and <literal>%t</literal>. These represent
+ <quote>from</quote> and <quote>to</quote> filenames. These
+ placeholders should be placed inside single-quotes to prevent
+ unintended shell expansions.
+ </para>
+ <para>
+ If you need the exact string <quote>%f</quote> or <quote>%t</quote>
+ in your command, simply double up the <quote>%</quote> character,
+ e.g. <quote>%%f</quote> or <quote>%%t</quote>.
+ </para>
<table id="table-compress-optional">
<title>Not all Hooks are Required</title>
</tgroup>
</table>
<note>
- <para>The command:</para>
+ <para>
+ The command:
+ </para>
<itemizedlist>
<listitem>
- <para>should return a non-zero exit status on failure</para>
+ <para>
+ should return a non-zero exit status on failure
+ </para>
</listitem>
<listitem>
- <para>should not delete any files</para>
+ <para>
+ should not delete any files
+ </para>
</listitem>
</itemizedlist>
</note>
<sect3 id="open-hook">
<title>Read from compressed mailbox</title>
<screen>open-hook regex shell-command</screen>
- <para>If NeoMutt is unable to open a file, it then looks for
- <literal>open-hook</literal> that matches the filename.</para>
- <para>If your compression program doesn't have a well-defined
- extension, then you can use
- <literal>.</literal>as the regex.</para>
+ <para>
+ If NeoMutt is unable to open a file, it then looks for
+ <literal>open-hook</literal> that matches the filename.
+ </para>
+ <para>
+ If your compression program doesn't have a well-defined extension,
+ then you can use <literal>.</literal> as the regex.
+ </para>
<sect4 id="compress-open-hook-example">
<title>Example of
<itemizedlist>
<listitem>
- <para>NeoMutt finds a file,
- <quote>example.gz</quote>, that it can't read</para>
+ <para>
+ NeoMutt finds a file, <quote>example.gz</quote>, that it
+ can't read
+ </para>
</listitem>
<listitem>
- <para>NeoMutt has an
- <literal>open-hook</literal> whose regex matches the filename:
- <literal>\.gz$</literal></para>
+ <para>
+ NeoMutt has an <literal>open-hook</literal> whose regex
+ matches the filename: <literal>\.gz$</literal>
+ </para>
</listitem>
<listitem>
- <para>NeoMutt uses the command
- <literal>gzip -cd</literal> to create a temporary file that it
- <emphasis>can</emphasis> read</para>
+ <para>
+ NeoMutt uses the command <literal>gzip -cd</literal> to
+ create a temporary file that it <emphasis>can</emphasis> read
+ </para>
</listitem>
</itemizedlist>
</sect4>
<sect3 id="close-hook">
<title>Write to a compressed mailbox</title>
<screen>close-hook regex shell-command</screen>
- <para>When NeoMutt has finished with a compressed mail folder, it will
- look for a matching
- <literal>close-hook</literal> to recompress the file. This hook is
- <link linkend="table-compress-optional">optional</link>.</para>
+ <para>
+ When NeoMutt has finished with a compressed mail folder, it will
+ look for a matching <literal>close-hook</literal> to recompress the
+ file. This hook is
+ <link linkend="table-compress-optional">optional</link>.
+ </para>
<note>
- <para>If the folder has not been modified, the
- <literal>close-hook</literal> will not be called.</para>
+ <para>
+ If the folder has not been modified, the
+ <literal>close-hook</literal> will not be called.
+ </para>
</note>
<sect4 id="compress-close-hook-example">
<screen>close-hook '\.gz$' "gzip --stdout '%t' > '%f'"</screen>
<itemizedlist>
<listitem>
- <para>NeoMutt has finished with a folder,
- <quote>example.gz</quote>, that it opened with
- <literal>open-hook</literal></para>
+ <para>
+ NeoMutt has finished with a folder,
+ <quote>example.gz</quote>, that it opened with
+ <literal>open-hook</literal>
+ </para>
</listitem>
<listitem>
- <para>The folder has been modified</para>
+ <para>
+ The folder has been modified
+ </para>
</listitem>
<listitem>
- <para>NeoMutt has a
- <literal>close-hook</literal> whose regex matches the filename:
- <literal>\.gz$</literal></para>
+ <para>
+ NeoMutt has a <literal>close-hook</literal> whose regex
+ matches the filename: <literal>\.gz$</literal>
+ </para>
</listitem>
<listitem>
- <para>NeoMutt uses the command
- <literal>gzip -c</literal> to create a new compressed
- file</para>
+ <para>
+ NeoMutt uses the command <literal>gzip -c</literal> to create
+ a new compressed file
+ </para>
</listitem>
</itemizedlist>
<note>
- <para>The
- <literal>close-hook</literal> can also include extra options, e.g.
- compression level:
- <literal>--best</literal></para>
+ <para>
+ The <literal>close-hook</literal> can also include extra
+ options, e.g. compression level: <literal>--best</literal>
+ </para>
</note>
</sect4>
</sect3>
<sect3 id="append-hook">
<title>Append to a compressed mailbox</title>
<screen>append-hook regex shell-command</screen>
- <para>When NeoMutt wants to append an email to a compressed mail folder,
- it will look for a matching
- <literal>append-hook</literal>. This hook is
- <link linkend="table-compress-optional">optional</link>.</para>
- <para>Using the
- <literal>append-hook</literal> will save time, but NeoMutt won't be able
- to determine the type of the mail folder inside the compressed
- file.</para>
- <para>NeoMutt will
- <emphasis>assume</emphasis> the type to be that of the
- <literal>$mbox_type</literal> variable. NeoMutt also uses this type for
- temporary files.</para>
- <para>NeoMutt will only use the
- <literal>append-hook</literal> for existing files. The
- <literal>close-hook</literal> will be used for empty, or missing
- files.</para>
+ <para>
+ When NeoMutt wants to append an email to a compressed mail folder,
+ it will look for a matching <literal>append-hook</literal>. This
+ hook is <link linkend="table-compress-optional">optional</link>.
+ </para>
+ <para>
+ Using the <literal>append-hook</literal> will save time, but
+ NeoMutt won't be able to determine the type of the mail folder
+ inside the compressed file.
+ </para>
+ <para>
+ NeoMutt will <emphasis>assume</emphasis> the type to be that of the
+ <literal>$mbox_type</literal> variable. NeoMutt also uses this type
+ for temporary files.
+ </para>
+ <para>
+ NeoMutt will only use the <literal>append-hook</literal> for
+ existing files. The <literal>close-hook</literal> will be used for
+ empty, or missing files.
+ </para>
<note>
- <para>If your command writes to stdout, it is vital that you use
- <literal>>></literal>in the
- <quote>append-hook</quote>. If not, data will be lost.</para>
+ <para>
+ If your command writes to stdout, it is vital that you use
+ <literal>>></literal> in the <quote>append-hook</quote>. If
+ not, data will be lost.
+ </para>
</note>
<sect4 id="compress-append-hook-example">
<itemizedlist>
<listitem>
- <para>NeoMutt wants to append an email to a folder,
- <quote>example.gz</quote>, that it opened with
- <literal>open-hook</literal></para>
+ <para>
+ NeoMutt wants to append an email to a folder,
+ <quote>example.gz</quote>, that it opened with
+ <literal>open-hook</literal>
+ </para>
</listitem>
<listitem>
- <para>NeoMutt has an
- <literal>append-hook</literal> whose regex matches the
- filename:
- <literal>\.gz$</literal></para>
+ <para>
+ NeoMutt has an <literal>append-hook</literal> whose regex
+ matches the filename: <literal>\.gz$</literal>
+ </para>
</listitem>
<listitem>
- <para>NeoMutt knows the mailbox type from the
- <literal>$mbox</literal> variable</para>
+ <para>
+ NeoMutt knows the mailbox type from the
+ <literal>$mbox</literal> variable
+ </para>
</listitem>
<listitem>
- <para>NeoMutt uses the command
- <literal>gzip -c</literal> to append to an existing compressed
- file</para>
+ <para>
+ NeoMutt uses the command <literal>gzip -c</literal> to append
+ to an existing compressed file
+ </para>
</listitem>
</itemizedlist>
<note>
- <para>The
- <literal>append-hook</literal> can also include extra options,
- e.g. compression level:
- <literal>--best</literal></para>
+ <para>
+ The <literal>append-hook</literal> can also include extra
+ options, e.g. compression level: <literal>--best</literal>
+ </para>
</note>
</sect4>
</sect3>
<sect3 id="compress-empty">
<title>Empty Files</title>
- <para>NeoMutt assumes that an empty file is not compressed. In this
- situation, unset
- <link linkend="save-empty">$save_empty</link>, so that the compressed
- file will be removed if you delete all of the messages.</para>
+ <para>
+ NeoMutt assumes that an empty file is not compressed. In this
+ situation, unset <link linkend="save-empty">$save_empty</link>, so
+ that the compressed file will be removed if you delete all of the
+ messages.
+ </para>
</sect3>
<sect3 id="compress-security">
<title>Security</title>
- <para>Encrypted files are decrypted into temporary files which are
- stored in the
- <link linkend="tmpdir">$tmpdir</link> directory. This could be a
- security risk.</para>
+ <para>
+ Encrypted files are decrypted into temporary files which are stored
+ in the <link linkend="tmpdir">$tmpdir</link> directory. This could
+ be a security risk.
+ </para>
</sect3>
</sect2>
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Roland Rosenfeld
- <email>roland@spinnaker.de</email></para>
+ <para>
+ Roland Rosenfeld
+ <email>roland@spinnaker.de</email>
+ </para>
</listitem>
<listitem>
- <para>Alain Penders
- <email>Alain@Finale-Dev.com</email></para>
+ <para>
+ Alain Penders
+ <email>Alain@Finale-Dev.com</email>
+ </para>
</listitem>
<listitem>
- <para>Christoph
- <quote>Myon</quote> Berg
- <email>myon@debian.org</email></para>
+ <para>
+ Christoph <quote>Myon</quote> Berg
+ <email>myon@debian.org</email>
+ </para>
</listitem>
<listitem>
- <para>Evgeni Golov
- <email>evgeni@debian.org</email></para>
+ <para>
+ Evgeni Golov
+ <email>evgeni@debian.org</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="cond-date-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<variablelist>
<varlistentry>
<term>
<sect2 id="cond-date-intro">
<title>Introduction</title>
- <para>The
- <quote>Conditional Dates</quote> feature allows you to construct
- <link linkend="index-format">$index_format</link> expressions based on
- the age of the email.</para>
- <para>NeoMutt's default
- <literal>$index_format</literal> displays email dates in the form:
- abbreviated-month day-of-month —
- <quote>Jan 14</quote>.</para>
- <para>The format is configurable but only per-mailbox. This feature
- allows you to configure the display depending on the age of the
- email.</para>
+ <para>
+ The <quote>Conditional Dates</quote> feature allows you to construct
+ <link linkend="index-format">$index_format</link> expressions based
+ on the age of the email.
+ </para>
+ <para>
+ NeoMutt's default <literal>$index_format</literal> displays email
+ dates in the form: abbreviated-month day-of-month –
+ <quote>Jan 14</quote>.
+ </para>
+ <para>
+ The format is configurable but only per-mailbox. This feature 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>
</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>NeoMutt's conditional format strings have the form: (whitespace
- introduced for clarity)</para>
+ <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>
+ NeoMutt's conditional format strings have the form: (whitespace
+ introduced for clarity)
+ </para>
<screen>%? TEST ? TRUE & FALSE ?</screen>
- <para>The examples below use the test
- <quote>%[</quote>— the date of the message in the local timezone. They
- will also work with
- <quote>%(</quote>— the local time that the message arrived.</para>
- <para>The date tests are of the form:</para>
+ <para>
+ The examples below use the test <quote>%[</quote> – the date of the
+ message in the local timezone. They will also work with
+ <quote>%(</quote> – the local time that the message arrived.
+ </para>
+ <para>
+ The date tests are of the form:
+ </para>
<screen>%[nX? TRUE & FALSE ?</screen>
<itemizedlist>
<listitem>
<para>
- <quote>n</quote> is an optional count (defaults to 1 if
- missing)</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>
+ <quote>X</quote> is the time period
+ </para>
</listitem>
</itemizedlist>
<sect3 id="cond-date-example1">
<title>Example 1</title>
- <para>We start with a one-condition test.</para>
+ <para>
+ We start with a one-condition test.
+ </para>
<table id="table-cond-date-example1">
<title>Example 1</title>
</tbody>
</tgroup>
</table>
- <para>The $index_format string would contain:</para>
+ <para>
+ The $index_format string would contain:
+ </para>
<screen>%?[1m?%[%b %d]&%[%Y-%m-%d]?</screen>
- <para>Reparsed a little, for clarity, you can see the test condition
- and the two format strings.</para>
+ <para>
+ Reparsed a little, for clarity, you can see the test condition and
+ the two format strings.
+ </para>
<screen>
%?[1m? & ?
<sect3 id="cond-date-example2">
<title>Example 2</title>
- <para>This example contains three test conditions and four date
- formats.</para>
+ <para>
+ This example contains three test conditions and four date formats.
+ </para>
<table id="table-cond-date-example2">
<title>Example 2</title>
</tbody>
</tgroup>
</table>
- <para>The $index_format string would contain:</para>
+ <para>
+ The $index_format string would contain:
+ </para>
<screen>
%<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]>
</screen>
- <para>Reparsed a little, for clarity, you can see the test conditions
- and the four format strings.</para>
+ <para>
+ Reparsed a little, for clarity, you can see the test conditions and
+ the four format strings.
+ </para>
<screen>
%<[y? &%[%m/%y ]> Older
%[%H:%M ] Today
</screen>
- <para>This a another view of the same example, with some whitespace
- for clarity.</para>
+ <para>
+ This a another view of the same example, with some whitespace for
+ clarity.
+ </para>
<screen>
%<[y? %<[m? %<[d? AAA & BBB > & CCC > & DDD >
<sect2 id="cond-date-variables">
<title>Variables</title>
- <para>The
- <quote>Conditional Dates</quote> feature doesn't have any config of its own.
- It modifies the behavior of the format strings.</para>
+ <para>
+ The <quote>Conditional Dates</quote> feature doesn't have any config
+ of its own. It modifies the behavior of the format strings.
+ </para>
</sect2>
<sect2 id="cond-date-neomuttrc">
<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
- NeoMutt behavior: for example
- <literal>~d>1w</literal> means emails dated in the last 7
- days.</para>
+ <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 NeoMutt behavior: 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>
+ <para>
+ Aaron Schrab
+ <email>aaron@schrab.com</email>
+ </para>
</listitem>
<listitem>
- <para>Eric Davis
- <email>edavis@insanum.com</email></para>
+ <para>
+ Eric Davis
+ <email>edavis@insanum.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="encrypt-to-self-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-07-23</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-07-23
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="encrypt-to-self-intro">
<title>Introduction</title>
- <para>Once you encrypt an email to someone you cannot read it. This is
- good for security, but bad for record-keeping. If you wanted to keep a
- copy of an encrypted email you could set
- <link linkend="fcc-clear">$fcc_clear</link>.</para>
- <para>A better option is to enable
- <link linkend="smime-self-encrypt">$smime_self_encrypt</link>, then set
- <link linkend="smime-default-key">$smime_default_key</link> to your
- personal S/MIME key id.</para>
+ <para>
+ Once you encrypt an email to someone you cannot read it. This is good
+ for security, but bad for record-keeping. If you wanted to keep
+ a copy of an encrypted email you could set
+ <link linkend="fcc-clear">$fcc_clear</link>.
+ </para>
+ <para>
+ A better option is to enable
+ <link linkend="smime-self-encrypt">$smime_self_encrypt</link>, then
+ set <link linkend="smime-default-key">$smime_default_key</link> to
+ your personal S/MIME key id.
+ </para>
<screen>
set smime_self_encrypt = yes
set smime_default_key = bb345e23.0
</screen>
- <para>Or, if you use PGP,
- <link linkend="pgp-self-encrypt">$pgp_self_encrypt</link>, then set
- <link linkend="pgp-default-key">$pgp_default_key</link> to your personal
- PGP key id.</para>
+ <para>
+ Or, if you use PGP,
+ <link linkend="pgp-self-encrypt">$pgp_self_encrypt</link>, then set
+ <link linkend="pgp-default-key">$pgp_default_key</link> to your
+ personal PGP key id.
+ </para>
<screen>
set pgp_self_encrypt = yes
set pgp_default_key = A4AF18C5582473BD35A1E9CE78BB3D480042198E
</screen>
- <para>If you have different key for signing, then you can set
- <link linkend="pgp-sign-as">$pgp_sign_as</link> or
- <link linkend="smime-sign-as">$smime_sign_as</link> respectively.</para>
+ <para>
+ If you have different key for signing, then you can set
+ <link linkend="pgp-sign-as">$pgp_sign_as</link> or
+ <link linkend="smime-sign-as">$smime_sign_as</link> respectively.
+ </para>
</sect2>
<sect2 id="encrypt-to-self-variables">
<sect2 id="encrypt-to-self-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="encrypt-to-self-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Omen Wild
- <email>omen@mandarb.com</email></para>
+ <para>
+ Omen Wild
+ <email>omen@mandarb.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
<listitem>
- <para>Guillaume Brogi
- <email>gui-gui@netcourrier.com</email></para>
+ <para>
+ Guillaume Brogi
+ <email>gui-gui@netcourrier.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="fmemopen-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<variablelist>
<varlistentry>
<term>
</term>
<listitem>
<para>
- <literal>open_memstream()</literal>,
- <literal>fmemopen()</literal>from glibc</para>
+ <literal>open_memstream()</literal>,
+ <literal>fmemopen()</literal> from glibc
+ </para>
</listitem>
</varlistentry>
</variablelist>
- <para>This feature can be enabled by running
- <literal>configure</literal> with the option
- <literal>--enable-fmemopen</literal></para>
+ <para>
+ This feature can be enabled by running <literal>configure</literal>
+ with the option <literal>--enable-fmemopen</literal>
+ </para>
</sect2>
<sect2 id="fmemopen-intro">
<title>Introduction</title>
- <para>The
- <quote>fmemopen</quote> feature speeds up some searches.</para>
- <para>This feature changes a few places where NeoMutt 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 feature depends on
- <literal>open_memstream()</literal>and
- <literal>fmemopen()</literal>. They are provided by glibc. Without
- them, NeoMutt will simply create temporary files.</para>
+ <para>
+ The <quote>fmemopen</quote> feature speeds up some searches.
+ </para>
+ <para>
+ This feature changes a few places where NeoMutt 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 feature depends on <literal>open_memstream()</literal> and
+ <literal>fmemopen()</literal>. They are provided by glibc. Without
+ them, NeoMutt will simply create temporary files.
+ </para>
</sect2>
<sect2 id="fmemopen-see-also">
<itemizedlist>
<listitem>
<para>
- <link linkend="compile-time-features">Compile-Time
- Features</link>
+ <link linkend="compile-time-features">Compile-Time Features</link>
</para>
</listitem>
<listitem>
<sect2 id="fmemopen-known-bugs">
<title>Known Bugs</title>
<para>
- <ulink url="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=834408">
- debian bug 834408</ulink>
+ <ulink url="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=834408">debian bug 834408</ulink>
</para>
</sect2>
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Julius Plenz
- <email>plenz@cis.fu-berlin.de</email></para>
+ <para>
+ Julius Plenz
+ <email>plenz@cis.fu-berlin.de</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="forgotten-attachment-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-09-10</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-09-10
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="forgotten-attachment-intro">
<title>Introduction</title>
- <para>The <quote>forgotten-attachment</quote> feature provides a new
- setting for NeoMutt that alerts the user if the message body contains a
- certain keyword but there are no attachments added. This is meant to
- ensure that the user does not forget to attach a file after promising
- to do so in the mail. The attachment keyword will not be scanned in
- text matched by <link linkend="quote-regex">$quote_regex</link>.
+ <para>
+ The <quote>forgotten-attachment</quote> feature provides a new
+ setting for NeoMutt that alerts the user if the message body contains
+ a certain keyword but there are no attachments added. This is meant
+ to ensure that the user does not forget to attach a file after
+ promising to do so in the mail. The attachment keyword will not be
+ scanned in text matched by
+ <link linkend="quote-regex">$quote_regex</link>.
</para>
</sect2>
</listitem>
<listitem>
<para>
- <link linkend="attachment-map">The Attachment Menu key
- mappings</link>
+ <link linkend="attachment-map">The Attachment Menu key mappings</link>
</para>
</listitem>
</itemizedlist>
<sect2 id="forgotten-attachment-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="forgotten-attachment-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Darshit Shah
- <email>darnir@gmail.com</email></para>
+ <para>
+ Darshit Shah
+ <email>darnir@gmail.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
<listitem>
- <para>Johannes Weißl
- <email>jargon@molb.org</email></para>
+ <para>
+ Johannes Weißl
+ <email>jargon@molb.org</email>
+ </para>
</listitem>
<listitem>
- <para>Steven! Ragnarök
- <email>steven@nuclearsandwich.com</email></para>
+ <para>
+ Steven! Ragnarök
+ <email>steven@nuclearsandwich.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="global-hooks-intro">
<title>Introduction</title>
- <para>These hooks are called when global events take place in
- NeoMutt.</para>
+ <para>
+ These hooks are called when global events take place in NeoMutt.
+ </para>
<itemizedlist>
<title>Run a command...</title>
<listitem>
<para>
- <emphasis role="bold">timeout-hook</emphasis>- periodically</para>
+ <emphasis role="bold">timeout-hook</emphasis> – periodically
+ </para>
</listitem>
<listitem>
<para>
- <emphasis role="bold">startup-hook</emphasis>- when NeoMutt starts up,
- before opening the first mailbox</para>
+ <emphasis role="bold">startup-hook</emphasis> – when NeoMutt
+ starts up, before opening the first mailbox
+ </para>
</listitem>
<listitem>
<para>
- <emphasis role="bold">shutdown-hook</emphasis>- NeoMutt shuts down,
- before closing the last mailbox</para>
+ <emphasis role="bold">shutdown-hook</emphasis> – NeoMutt shuts
+ down, before closing the last mailbox
+ </para>
</listitem>
</itemizedlist>
<title>Timeout Hook</title>
<subtitle>Run a command periodically</subtitle>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-08-08</para>
- <para>This feature implements a new hook that is called periodically
- when NeoMutt checks for new mail. This hook is called every
- <literal>$timeout</literal> seconds.</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-08-08
+ </para>
+ <para>
+ This feature implements a new hook that is called periodically when
+ NeoMutt checks for new mail. This hook is called every
+ <literal>$timeout</literal> seconds.
+ </para>
</sect3>
<sect3 id="startup-hook-intro">
<title>Startup Hook</title>
- <subtitle>Run a command when NeoMutt starts up, before opening the first
- mailbox</subtitle>
+ <subtitle>Run a command when NeoMutt starts up, before opening the
+ first mailbox</subtitle>
+ <para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-11-25
+ </para>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-11-25</para>
- <para>This feature implements a new hook that is called when NeoMutt
- first starts up, but before opening the first mailbox. This is most
- likely to be useful to users of
- <link linkend="notmuch">notmuch</link>.</para>
+ This feature implements a new hook that is called when NeoMutt
+ first starts up, but before opening the first mailbox. This is most
+ likely to be useful to users of
+ <link linkend="notmuch">notmuch</link>.
+ </para>
</sect3>
<sect3 id="shutdown-hook">
<subtitle>Run a command when NeoMutt shuts down, before closing the last
mailbox</subtitle>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-11-25</para>
- <para>This feature implements a hook that is called when NeoMutt shuts
- down, but before closing the first mailbox. This is most likely to be
- useful to users of
- <link linkend="notmuch">notmuch</link>.</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-11-25
+ </para>
+ <para>
+ This feature implements a hook that is called when NeoMutt shuts
+ down, but before closing the first mailbox. This is most likely to
+ be useful to users of <link linkend="notmuch">notmuch</link>.
+ </para>
</sect3>
</sect2>
<sect2 id="global-hooks-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="global-hooks-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Armin Wolfermann
- <email>armin@wolfermann.org</email></para>
+ <para>
+ Armin Wolfermann
+ <email>armin@wolfermann.org</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
<listitem>
- <para>Thomas Adam
- <email>thomas@xteddy.org</email></para>
+ <para>
+ Thomas Adam
+ <email>thomas@xteddy.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="ifdef-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="ifdef-intro">
<title>Introduction</title>
- <para>The
- <quote>ifdef</quote> feature introduces three new commands to NeoMutt and
- allow you to share one config file between versions of NeoMutt that may
- have different features compiled in.</para>
+ <para>
+ The <quote>ifdef</quote> feature introduces three new commands to
+ NeoMutt and allow you to share one config file between versions of
+ NeoMutt that may have different features compiled in.
+ </para>
<screen>
ifdef symbol config-command [args...] <emphasis role="comment"># If a symbol is 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"><function></link>,
- <link linkend="commands">command</link> or compile-time symbol, such as
- <quote>imap</quote>.</para>
- <para>A list of compile-time symbols can be seen in the output of the
- command <screen>neomutt -v</screen> (in the <quote>Compile options</quote>
- section).</para>
<para>
- <literal>finish</literal> is particularly useful when combined with
- <literal>ifndef</literal>. e.g.</para>
+ Here a symbol can be a <link linkend="variables">$variable</link>,
+ <link linkend="functions"><function></link>,
+ <link linkend="commands">command</link> or compile-time symbol, such
+ as <quote>imap</quote>.
+ </para>
+ <para>
+ A list of compile-time symbols can be seen in the output of the
+ command <screen>neomutt -v</screen> (in the
+ <quote>Compile options</quote> section).
+ </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>
<sect2 id="ifdef-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="ifdef-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Cedric Duval
- <email>cedricduval@free.fr</email></para>
+ <para>
+ Cedric Duval
+ <email>cedricduval@free.fr</email>
+ </para>
</listitem>
<listitem>
- <para>Matteo F. Vescovi
- <email>mfvescovi@gmail.com</email></para>
+ <para>
+ Matteo F. Vescovi
+ <email>mfvescovi@gmail.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="index-color-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<variablelist>
<varlistentry>
<term>
<sect2 id="index-color-intro">
<title>Introduction</title>
- <para>The
- <quote>index-color</quote> feature 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>
+ <para>
+ The <quote>index-color</quote> feature 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 "~sneomutt"</screen>
- <para>The author appears red when the subject (~s) contains
- <quote>neomutt</quote>.</para>
+ <para>
+ The author appears red when the subject (~s) contains
+ <quote>neomutt</quote>.
+ </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>
+ <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
<sect2 id="index-color-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="index-color-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Christian Aichinger
- <email>Greek0@gmx.net</email></para>
+ <para>
+ Christian Aichinger
+ <email>Greek0@gmx.net</email>
+ </para>
</listitem>
<listitem>
- <para>Christoph
- <quote>Myon</quote> Berg
- <email>myon@debian.org</email></para>
+ <para>
+ Christoph <quote>Myon</quote> Berg
+ <email>myon@debian.org</email>
+ </para>
</listitem>
<listitem>
- <para>Elimar Riesebieter
- <email>riesebie@lxtec.de</email></para>
+ <para>
+ Elimar Riesebieter
+ <email>riesebie@lxtec.de</email>
+ </para>
</listitem>
<listitem>
- <para>Eric Davis
- <email>edavis@insanum.com</email></para>
+ <para>
+ Eric Davis
+ <email>edavis@insanum.com</email>
+ </para>
</listitem>
<listitem>
- <para>Vladimir Marek
- <email>Vladimir.Marek@oracle.com</email></para>
+ <para>
+ Vladimir Marek
+ <email>Vladimir.Marek@oracle.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="initials-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="initials-intro">
<title>Introduction</title>
- <para>The
- <quote>initials</quote> feature 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>
+ <para>
+ The <quote>initials</quote> feature 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 feature 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>
+ <para>
+ This feature 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-neomuttrc">
<sect2 id="initials-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="initials-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Vsevolod Volkov
- <email>vvv@mutt.org.ua</email></para>
+ <para>
+ Vsevolod Volkov
+ <email>vvv@mutt.org.ua</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="kyoto-cabinet-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-10-02</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-10-02
+ </para>
<variablelist>
<varlistentry>
<term>
</term>
<listitem>
<para>
- <ulink url="http://fallabs.com/kyotocabinet/">Kyoto Cabinet
- libraries</ulink>
+ <ulink url="http://fallabs.com/kyotocabinet/">Kyoto Cabinet libraries</ulink>
</para>
</listitem>
</varlistentry>
</variablelist>
- <para>To check if NeoMutt supports Kyoto Cabinet, look for
+ <para>
+ To check if NeoMutt supports Kyoto Cabinet, look for
+ </para>
<itemizedlist>
<listitem>
<para>
- <quote>kyoto</quote> in the NeoMutt version.</para>
+ <quote>kyoto</quote> in the NeoMutt version.
+ </para>
</listitem>
<listitem>
<para>
- <quote>+hcache</quote> in the compile options</para>
+ <quote>+hcache</quote> in the compile options
+ </para>
</listitem>
<listitem>
<para>
- <quote>hcache backend: kyotocabinet</quote> in the NeoMutt
- version</para>
+ <quote>hcache backend: kyotocabinet</quote> in the NeoMutt
+ version
+ </para>
</listitem>
- </itemizedlist></para>
+ </itemizedlist>
</sect2>
<sect2 id="kyoto-cabinet-intro">
<title>Introduction</title>
- <para>This feature adds support for using Kyoto Cabinet, the successor
- to Tokyo Cabinet, as a storage backend for NeoMutt's header cache
- (hcache). It is enabled at configure time with the
- <emphasis>--with-kyotocabinet=<path></emphasis>switch.</para>
+ <para>
+ This feature adds support for using Kyoto Cabinet, the successor to
+ Tokyo Cabinet, as a storage backend for NeoMutt's header cache
+ (hcache). It is enabled at configure time with the
+ <emphasis>--with-kyotocabinet=<path></emphasis> switch.
+ </para>
</sect2>
<sect2 id="kyoto-cabinet-see-also">
</listitem>
<listitem>
<para>
- <ulink url="http://fallabs.com/kyotocabinet/">Kyoto
- Cabinet</ulink>
+ <ulink url="http://fallabs.com/kyotocabinet/">Kyoto Cabinet</ulink>
</para>
</listitem>
</itemizedlist>
<sect2 id="kyoto-cabinet-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="kyoto-cabinet-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Clemens Lang
- <email>neverpanic@gmail.com</email></para>
+ <para>
+ Clemens Lang
+ <email>neverpanic@gmail.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="limit-current-thread-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-28</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-28
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="limit-current-thread-intro">
<title>Introduction</title>
- <para>This feature adds a new way of using the
- <link linkend="tuning-search">Limit Command</link>. The
- <literal><limit-current-thread></literal>function restricts the
- view to just the current thread. Setting the limit (the
- <literal>l</literal> key) to
- <quote>all</quote> will restore the full email list.</para>
+ <para>
+ This feature adds a new way of using the
+ <link linkend="tuning-search">Limit Command</link>. The
+ <literal><limit-current-thread></literal> function restricts
+ the view to just the current thread. Setting the limit (the
+ <literal>l</literal> key) to <quote>all</quote> will restore the full
+ email list.
+ </para>
</sect2>
<sect2 id="limit-current-thread-functions">
<title>Functions</title>
- <para>Limit-current-thread adds the following function to NeoMutt. By
- default, it is not bound to a key.</para>
+ <para>
+ Limit-current-thread adds the following function to NeoMutt. By
+ default, it is not bound to a key.
+ </para>
<table id="table-limit-current-thread-functions">
<title>Limit-Current-Thread Functions</title>
<sect2 id="limit-current-thread-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="limit-current-thread-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>David Sterba
- <email>dsterba@suse.cz</email></para>
+ <para>
+ David Sterba
+ <email>dsterba@suse.cz</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="lmdb-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-07-23</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-07-23
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="lmdb-intro">
<title>Introduction</title>
- <para>This feature adds support for using LMDB as a storage backend for
- NeoMutt's header cache (hcache). It is enabled at configure time with the
- <emphasis>--with-lmdb=<path></emphasis>switch.</para>
+ <para>
+ This feature adds support for using LMDB as a storage backend for
+ NeoMutt's header cache (hcache). It is enabled at configure time with
+ the <emphasis>--with-lmdb=<path></emphasis> switch.
+ </para>
<note>
- <para>It is not recommended to store the lmdb database on a shared
- drive.</para>
+ <para>
+ It is not recommended to store the lmdb database on a shared drive.
+ </para>
</note>
</sect2>
<sect2 id="lmdb-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="lmdb-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Pietro Cerutti
- <email>gahr@gahr.ch</email></para>
+ <para>
+ Pietro Cerutti
+ <email>gahr@gahr.ch</email>
+ </para>
</listitem>
<listitem>
- <para>Jan-Piet Mens
- <email>jp@mens.de</email></para>
+ <para>
+ Jan-Piet Mens
+ <email>jp@mens.de</email>
+ </para>
</listitem>
<listitem>
- <para>Clemens Lang
- <email>neverpanic@gmail.com</email></para>
+ <para>
+ Clemens Lang
+ <email>neverpanic@gmail.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="multiple-fcc-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-08-08</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-08-08
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="multiple-fcc-intro">
<title>Introduction</title>
- <para>This feature allows the user to save outgoing emails in multiple
- folders.</para>
- <para>Folders should be listed separated by commas,
- <emphasis role="bold">but no spaces</emphasis>.</para>
- <para>The
- <quote>fcc</quote> field of an email can be set in two ways:</para>
+ <para>
+ This feature allows the user to save outgoing emails in multiple
+ folders.
+ </para>
+ <para>
+ Folders should be listed separated by commas,
+ <emphasis role="bold">but no spaces</emphasis>.
+ </para>
+ <para>
+ The <quote>fcc</quote> field of an email can be set in two ways:
+ </para>
<itemizedlist>
<listitem>
- <para>The <edit-fcc> command in the compose menu (default
- key:
- <quote>f</quote>)</para>
+ <para>
+ The <edit-fcc> command in the compose menu (default key:
+ <quote>f</quote>)
+ </para>
</listitem>
<listitem>
- <para>Creating a
- <literal>fcc-hook</literal> in your
- <literal>.neomuttrc</literal></para>
+ <para>
+ Creating a <literal>fcc-hook</literal> in your
+ <literal>.neomuttrc</literal>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="multiple-fcc-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="multiple-fcc-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Omen Wild
- <email>omen@mandarb.com</email></para>
+ <para>
+ Omen Wild
+ <email>omen@mandarb.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="nested-if-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="nested-if-intro">
<title>Introduction</title>
- <para>NeoMutt's format strings can contain embedded if-then-else
- conditions. They are of the form:</para>
+ <para>
+ NeoMutt's format strings can contain embedded if-then-else
+ conditions. They are of the form:
+ </para>
<screen>%?VAR?TRUE&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&Empty?</literal></para>
- <para>Which can be read as:</para>
+ <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&Empty?</literal>
+ </para>
+ <para>
+ Which can be read as:
+ </para>
<literallayout>if (%S > 0) { print "Size: %S" } else { print "Empty" }</literallayout>
- <para>These conditions are useful, but in NeoMutt they cannot be nested
- within one another. This feature uses the notation
- <literal>%<VAR?TRUE&FALSE></literal>and allows them to be
- nested.</para>
- <para>The
- <literal>%<...></literal>notation was used to format the current
- local time. but that's not really very useful since NeoMutt has no means
- of refreshing the screen periodically.</para>
- <para>A simple nested condition might be: (Some whitespace has been
- introduced for clarity)</para>
+ <para>
+ These conditions are useful, but in NeoMutt they cannot be nested
+ within one another. This feature uses the notation
+ <literal>%<VAR?TRUE&FALSE></literal> and allows them to be
+ nested.
+ </para>
+ <para>
+ The <literal>%<...></literal> notation was used to format the
+ current local time. but that's not really very useful since NeoMutt
+ has no means of refreshing the screen periodically.
+ </para>
+ <para>
+ A simple nested condition might be: (Some whitespace has been
+ introduced for clarity)
+ </para>
<screen>
%<x? %<y? XY & X > & %<y? Y & NONE > > Conditions
NONE x=0,y=0
</screen>
- <para>Equivalent to:</para>
+ <para>
+ Equivalent to:
+ </para>
<literallayout>if (x > 0) {
if (y > 0) {
print 'XY'
print 'NONE'
}
}</literallayout>
- <para>Examples:</para>
+ <para>
+ Examples:
+ </para>
<screen>
set index_format='%4C %Z %{%b %d} %-25.25n %s%> %<M?%M Msgs &%<l?%l Lines&%c Bytes>>'
else display the subject (%s) and the size of the message in bytes (%c)</literallayout>
<note>
- <para>If you wish to use angle brackets <literal>< ></literal>
- in a nested condition, then it's necessary to escape them, e.g.</para>
+ <para>
+ If you wish to use angle brackets <literal>< ></literal> in
+ a nested condition, then it's necessary to escape them, e.g.
+ </para>
<screen>set index_format='%<M?\<%M\>&%s>'</screen>
</note>
-
</sect2>
<sect2 id="nested-if-variables">
<title>Variables</title>
- <para>The
- <quote>nested-if</quote> feature doesn't have any config of its own. It
- modifies the behavior of the format strings.</para>
+ <para>
+ The <quote>nested-if</quote> feature doesn't have any config of its
+ own. It modifies the behavior of the format strings.
+ </para>
</sect2>
<sect2 id="nested-if-neomuttrc">
<sect2 id="nested-if-known-bugs">
<title>Known Bugs</title>
- <para>This feature is hard to understand</para>
+ <para>
+ This feature is hard to understand
+ </para>
</sect2>
<sect2 id="nested-if-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>David Champion
- <email>dgc@uchicago.edu</email></para>
+ <para>
+ David Champion
+ <email>dgc@uchicago.edu</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
<listitem>
- <para>Aleksa Sarai
- <email>cyphar@cyphar.com</email></para>
+ <para>
+ Aleksa Sarai
+ <email>cyphar@cyphar.com</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="new-mail-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-07-23</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-07-23
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="new-mail-intro">
<title>Introduction</title>
- <para>This feature enables the new_mail_command setting, which can be
- used to execute a custom script (e.g. a notification handler) upon
- receiving a new mail.</para>
- <para>The command string can contain expandos, such as
- <literal>%n</literal> for the number of new messages. For a complete list, see:
- <link linkend="status-format">$status_format</link>.</para>
+ <para>
+ This feature enables the new_mail_command setting, which can be used
+ to execute a custom script (e.g. a notification handler) upon
+ receiving a new mail.
+ </para>
+ <para>
+ The command string can contain expandos, such as
+ <literal>%n</literal> for the number of new messages. For a complete
+ list, see: <link linkend="status-format">$status_format</link>.
+ </para>
<note>
- <para>When the notification is sent, the folder of the new mail is no longer known.
- This is a limitation of NeoMutt. The `%f` expando will show the open folder.</para>
+ <para>
+ When the notification is sent, the folder of the new mail is no
+ longer known. This is a limitation of NeoMutt. The `%f` expando
+ will show the open folder.
+ </para>
</note>
- <para>For example in Linux you can use (most distributions already
- provide notify-send):</para>
+ <para>
+ For example in Linux you can use (most distributions already provide
+ notify-send):
+ </para>
<screen>
set new_mail_command="notify-send --icon='/home/santiago/Pictures/neomutt.png' \
'New Email' '%n new messages, %u unread.' &"
</screen>
- <para>And in OS X you will need to install a command line interface for
- Notification Center, for example
- <ulink url="https://github.com/julienXX/terminal-notifier">
- terminal-notifier</ulink>:</para>
+ <para>
+ And in OS X you will need to install a command line interface for
+ Notification Center, for example
+ <ulink url="https://github.com/julienXX/terminal-notifier">terminal-notifier</ulink>:
+ </para>
<screen>
set new_mail_command="terminal-notifier -title '%v' -subtitle 'New Mail' \
<sect2 id="new-mail-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="new-mail-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Yoshiki Vazquez-Baeza
- <email>yoshiki@ucsd.edu</email></para>
+ <para>
+ Yoshiki Vazquez-Baeza
+ <email>yoshiki@ucsd.edu</email>
+ </para>
</listitem>
<listitem>
- <para>Santiago Torres-Arias
- <email>santiago@nyu.edu</email></para>
+ <para>
+ Santiago Torres-Arias
+ <email>santiago@nyu.edu</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="nntp-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-05-30</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-05-30
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="nntp-intro">
<title>Introduction</title>
- <para>Reading news via NNTP</para>
- <para>NeoMutt can read from a news server using NNTP.</para>
- <para>The default news server can be obtained from the
- <literal>$NNTPSERVER</literal> environment variable or from the
- <literal>/etc/nntpserver</literal> file. Like in other news readers,
- information about the subscribed newsgroups is saved in the file
- specified by the
- <link linkend="newsrc">$newsrc</link> variable. You can open a newsgroup
- with the function
- <literal><change-newsgroup></literal></para>
- <para>The variable
- <link linkend="news-cache-dir">$news_cache_dir</link> can be used to
- point to a directory. NeoMutt will create a hierarchy of subdirectories
- named like the account and newsgroup the cache is for. The hierarchy is
- also used to store header cache if NeoMutt was compiled with
- <link linkend="header-caching">header cache</link> support.</para>
+ <para>
+ Reading news via NNTP
+ </para>
+ <para>
+ NeoMutt can read from a news server using NNTP.
+ </para>
+ <para>
+ The default news server can be obtained from the
+ <literal>$NNTPSERVER</literal> environment variable or from the
+ <literal>/etc/nntpserver</literal> file. Like in other news readers,
+ information about the subscribed newsgroups is saved in the file
+ specified by the <link linkend="newsrc">$newsrc</link> variable. You
+ can open a newsgroup with the function
+ <literal><change-newsgroup></literal>
+ </para>
+ <para>
+ The variable <link linkend="news-cache-dir">$news_cache_dir</link>
+ can be used to point to a directory. NeoMutt will create a hierarchy
+ of subdirectories named like the account and newsgroup the cache is
+ for. The hierarchy is also used to store header cache if NeoMutt was
+ compiled with <link linkend="header-caching">header cache</link>
+ support.
+ </para>
</sect2>
<sect2 id="nntp-variables">
<sect2 id="nntp-functions">
<title>Functions</title>
- <para>NNTP adds the following functions to NeoMutt. By default, none of
- them are bound to keys.</para>
+ <para>
+ NNTP adds the following functions to NeoMutt. By default, none of
+ them are bound to keys.
+ </para>
<table id="table-nntp-functions">
<title>NNTP Functions</title>
<sect2 id="nntp-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="nntp-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Vsevolod Volkov
- <email>vvv@mutt.org.ua</email></para>
+ <para>
+ Vsevolod Volkov
+ <email>vvv@mutt.org.ua</email>
+ </para>
</listitem>
<listitem>
- <para>Felix von Leitner
- <email>leitner@fefe.de</email></para>
+ <para>
+ Felix von Leitner
+ <email>leitner@fefe.de</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="custom-tags-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2017-10-16</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2017-10-16
+ </para>
<para>
<emphasis role="bold">Dependencies:</emphasis>
</para>
<sect2 id="custom-tags-intro">
<title>Introduction</title>
- <para>Some backends allow to index and tags mail without storing the
- tags within the mail envelope. Two backends are currently
- implementing this feature. Notmuch handles them natively and IMAP stores them
- in custom IMAP keywords.</para>
+ <para>
+ Some backends allow to index and tags mail without storing the tags
+ within the mail envelope. Two backends are currently implementing
+ this feature. Notmuch handles them natively and IMAP stores them in
+ custom IMAP keywords.
+ </para>
</sect2>
<sect2 id="custom-tags-variables">
<sect2 id="custom-tags-functions">
<title>Functions</title>
- <para>Notmuch adds the following functions to NeoMutt. By default, none of
- them are bound to keys.</para>
+ <para>
+ Notmuch adds the following functions to NeoMutt. By default, none of
+ them are bound to keys.
+ </para>
<table id="table-custom-tags-functions">
<title>Notmuch/IMAP Functions</title>
<sect2 id="custom-tags-colors">
<title>Colors</title>
- <para>Adds these to index-color feature:</para>
+ <para>
+ Adds these to index-color feature:
+ </para>
<table id="table-custom-tags-colors">
<title>Index Colors</title>
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Mehdi Abaakouk
- <email>sileht@sileht.net</email></para>
+ <para>
+ Mehdi Abaakouk
+ <email>sileht@sileht.net</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
<listitem>
- <para>Bernard 'Guyzmo' Pratz
- <email>guyzmo+github+pub@m0g.net</email></para>
+ <para>
+ Bernard 'Guyzmo' Pratz
+ <email>guyzmo+github+pub@m0g.net</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="notmuch-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-17</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-17
+ </para>
<para>
<emphasis role="bold">Dependencies:</emphasis>
</para>
</para>
</listitem>
<listitem>
- <para>Notmuch libraries</para>
+ <para>
+ Notmuch libraries
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="notmuch-intro">
<title>Introduction</title>
- <para>Notmuch is an email fulltext indexing and tagging engine.</para>
+ <para>
+ Notmuch is an email fulltext indexing and tagging engine.
+ </para>
<itemizedlist>
<listitem>
- <para>For more information, see:
- <ulink url="https://notmuchmail.org">
- https://notmuchmail.org/</ulink></para>
+ <para>
+ For more information, see:
+ <ulink url="https://notmuchmail.org">https://notmuchmail.org/</ulink>
+ </para>
</listitem>
<listitem>
- <para>More examples:
- <ulink url="https://notmuchmail.org/mutttips/">
- https://notmuchmail.org/mutttips/</ulink></para>
+ <para>
+ More examples:
+ <ulink url="https://notmuchmail.org/mutttips/">https://notmuchmail.org/mutttips/</ulink>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect3 id="notmuch-folder-uri">
<title>Folders URI</title>
<para>
- <emphasis role="bold">
- notmuch://[<path>][?<item>=<name>[&
- ...]]</emphasis>
+ <emphasis role="bold">notmuch://[<path>][?<item>=<name>[& ...]]</emphasis>
+ </para>
+ <para>
+ The <path> is an absolute path to the directory where the
+ notmuch database is found as returned by
+ <quote>notmuch config get database.path</quote> command. Note that
+ the <path> should NOT include <literal>.notmuch</literal>
+ directory name.
+ </para>
+ <para>
+ If the "<path>" is not defined then
+ <literal>$nm_default_uri</literal> or <literal>$folder</literal> is
+ used, for example:
</para>
- <para>The <path> is an absolute path to the directory where the
- notmuch database is found as returned by
- <quote>notmuch config get database.path</quote> command. Note that the
- <path> should NOT include
- <literal>.notmuch</literal> directory name.</para>
- <para>If the "<path>" is not defined then
- <literal>$nm_default_uri</literal> or
- <literal>$folder</literal> is used, for example:</para>
<screen>
set nm_default_uri = "notmuch:///home/foo/maildir"
<para>
<emphasis role="bold">query=<string></emphasis>
</para>
- <para>See SEARCH SYNTAX in notmuch man page. Don't forget to use
- operators (
- <quote>and</quote>/
- <quote>or</quote>) in your queries.</para>
- <para>Note that proper URI should not contain blank space and all
- <quote>bad</quote> chars should be encoded, for example</para>
<para>
- <literal>tag:AAA and tag:BBB</literal>--encoding->
- <literal>tag:AAA%20and%20tag:BBB</literal></para>
- <para>but NeoMutt config file parser is smart enough to accept space in
- quoted strings. It means that you can use</para>
+ See SEARCH SYNTAX in notmuch man page. Don't forget to use
+ operators (<quote>and</quote>/<quote>or</quote>) in your queries.
+ </para>
+ <para>
+ Note that proper URI should not contain blank space and all
+ <quote>bad</quote> chars should be encoded, for example
+ </para>
+ <para>
+ <literal>tag:AAA and tag:BBB</literal> – encoding ->
+ <literal>tag:AAA%20and%20tag:BBB</literal>
+ </para>
+ <para>
+ but NeoMutt config file parser is smart enough to accept space in
+ quoted strings. It means that you can use
+ </para>
<para>
<literal>notmuch:///foo?query=tag:AAA and tag:BBB</literal>
</para>
- <para>in your config files to keep things readable.</para>
- <para>For more details about Xapian queries, see:
- <ulink url="https://xapian.org/docs/queryparser.html">
- https://xapian.org/docs/queryparser.html</ulink></para>
+ <para>
+ in your config files to keep things readable.
+ </para>
+ <para>
+ For more details about Xapian queries, see:
+ <ulink url="https://xapian.org/docs/queryparser.html">https://xapian.org/docs/queryparser.html</ulink>
+ </para>
<para>
<emphasis role="bold">limit=<number></emphasis>
</para>
- <para>Restricts number of messages/threads in the result. The default
- limit is nm_db_limit.</para>
+ <para>
+ Restricts number of messages/threads in the result. The default
+ limit is nm_db_limit.
+ </para>
<para>
<emphasis role="bold">type=<threads|messages></emphasis>
</para>
- <para>Reads all matching messages or whole-threads. The default is
- 'messages' or nm_query_type.</para>
+ <para>
+ Reads all matching messages or whole-threads. The default is
+ 'messages' or nm_query_type.
+ </para>
</sect3>
<sect3 id="notmuch-vfolder-format">
<title>Format String for the Notmuch Browser</title>
- <para>Default:
- <literallayout>
- <literal>%2C %?n?%4n/& ?%4m %f</literal>
- </literallayout></para>
- <para>This variable allows you to customize the browser display to
- your personal taste. This string is similar to
- <link linkend="index-format">$index_format</link>, but has its own
- set of
- <literal>printf(3)</literal>-like sequences:</para>
+ <para>
+ Default:
+ <literallayout>
+ <literal>%2C %?n?%4n/& ?%4m %f</literal>
+ </literallayout>
+ </para>
+ <para>
+ This variable allows you to customize the browser display to your
+ personal taste. This string is similar to
+ <link linkend="index-format">$index_format</link>, but has its own
+ set of <literal>printf(3)</literal>-like sequences:
+ </para>
<informaltable>
<tgroup cols="2">
<tbody>
</tbody>
</tgroup>
</informaltable>
- <para>For an explanation of
- <quote>soft-fill</quote>, see the
- <link linkend="index-format">
- $index_format</link> documentation.</para>
- <para>* = can be optionally printed if nonzero</para>
+ <para>
+ For an explanation of <quote>soft-fill</quote>, see the
+ <link linkend="index-format"> $index_format</link> documentation.
+ </para>
+ <para>
+ * = can be optionally printed if nonzero
+ </para>
</sect3>
</sect2>
<sect2 id="notmuch-functions">
<title>Functions</title>
- <para>Notmuch adds the following functions to NeoMutt. By default, none of
- them are bound to keys.</para>
+ <para>
+ Notmuch adds the following functions to NeoMutt. By default, none of
+ them are bound to keys.
+ </para>
<table id="table-notmuch-functions">
<title>Notmuch Functions</title>
<sect2 id="notmuch-colors">
<title>Colors</title>
<para>
- See <link linkend="custom-tags-colors">Custom backend Tags colors</link>
+ See
+ <link linkend="custom-tags-colors">Custom backend Tags colors</link>
</para>
</sect2>
<itemizedlist>
<listitem>
<para>
- <link linkend="compile-time-features">Compile-Time
- Features</link>
+ <link linkend="compile-time-features">Compile-Time Features</link>
</para>
</listitem>
</itemizedlist>
<sect2 id="notmuch-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="notmuch-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Karel Zak
- <email>kzak@redhat.com</email></para>
+ <para>
+ Karel Zak
+ <email>kzak@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Chris Mason
- <email>clm@fb.com</email></para>
+ <para>
+ Chris Mason
+ <email>clm@fb.com</email>
+ </para>
</listitem>
<listitem>
- <para>Christoph Rissner
- <email>cri@visotech.at</email></para>
+ <para>
+ Christoph Rissner
+ <email>cri@visotech.at</email>
+ </para>
</listitem>
<listitem>
- <para>David Riebenbauer
- <email>davrieb@liegesta.at</email></para>
+ <para>
+ David Riebenbauer
+ <email>davrieb@liegesta.at</email>
+ </para>
</listitem>
<listitem>
- <para>David Sterba
- <email>dsterba@suse.cz</email></para>
+ <para>
+ David Sterba
+ <email>dsterba@suse.cz</email>
+ </para>
</listitem>
<listitem>
- <para>David Wilson
- <email>dw@botanicus.net</email></para>
+ <para>
+ David Wilson
+ <email>dw@botanicus.net</email>
+ </para>
</listitem>
<listitem>
- <para>Don Zickus
- <email>dzickus@redhat.com</email></para>
+ <para>
+ Don Zickus
+ <email>dzickus@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Eric Davis
- <email>edavis@insanum.com</email></para>
+ <para>
+ Eric Davis
+ <email>edavis@insanum.com</email>
+ </para>
</listitem>
<listitem>
- <para>Jan Synacek
- <email>jsynacek@redhat.com</email></para>
+ <para>
+ Jan Synacek
+ <email>jsynacek@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Jeremiah C. Foster
- <email>jeremiah@jeremiahfoster.com</email></para>
+ <para>
+ Jeremiah C. Foster
+ <email>jeremiah@jeremiahfoster.com</email>
+ </para>
</listitem>
<listitem>
- <para>Josh Poimboeuf
- <email>jpoimboe@redhat.com</email></para>
+ <para>
+ Josh Poimboeuf
+ <email>jpoimboe@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Kirill A. Shutemov
- <email>kirill@shutemov.name</email></para>
+ <para>
+ Kirill A. Shutemov
+ <email>kirill@shutemov.name</email>
+ </para>
</listitem>
<listitem>
- <para>Luke Macken
- <email>lmacken@redhat.com</email></para>
+ <para>
+ Luke Macken
+ <email>lmacken@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Mantas Mikulėnas
- <email>grawity@gmail.com</email></para>
+ <para>
+ Mantas Mikulėnas
+ <email>grawity@gmail.com</email>
+ </para>
</listitem>
<listitem>
- <para>Patrick Brisbin
- <email>pbrisbin@gmail.com</email></para>
+ <para>
+ Patrick Brisbin
+ <email>pbrisbin@gmail.com</email>
+ </para>
</listitem>
<listitem>
- <para>Philippe Le Brouster
- <email>plb@nebkha.net</email></para>
+ <para>
+ Philippe Le Brouster
+ <email>plb@nebkha.net</email>
+ </para>
</listitem>
<listitem>
- <para>Raghavendra D Prabhu
- <email>rprabhu@wnohang.net</email></para>
+ <para>
+ Raghavendra D Prabhu
+ <email>rprabhu@wnohang.net</email>
+ </para>
</listitem>
<listitem>
- <para>Sami Farin
- <email>hvtaifwkbgefbaei@gmail.com</email></para>
+ <para>
+ Sami Farin
+ <email>hvtaifwkbgefbaei@gmail.com</email>
+ </para>
</listitem>
<listitem>
- <para>Stefan Assmann
- <email>sassmann@kpanic.de</email></para>
+ <para>
+ Stefan Assmann
+ <email>sassmann@kpanic.de</email>
+ </para>
</listitem>
<listitem>
- <para>Stefan Kuhn
- <email>p_regius@gmx.ch</email></para>
+ <para>
+ Stefan Kuhn
+ <email>p_regius@gmx.ch</email>
+ </para>
</listitem>
<listitem>
- <para>Tim Stoakes
- <email>tim@stoakes.net</email></para>
+ <para>
+ Tim Stoakes
+ <email>tim@stoakes.net</email>
+ </para>
</listitem>
<listitem>
- <para>Vladimir Marek
- <email>Vladimir.Marek@oracle.com</email></para>
+ <para>
+ Vladimir Marek
+ <email>Vladimir.Marek@oracle.com</email>
+ </para>
</listitem>
<listitem>
- <para>Víctor Manuel Jáquez Leal
- <email>vjaquez@igalia.com</email></para>
+ <para>
+ Víctor Manuel Jáquez Leal
+ <email>vjaquez@igalia.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
<listitem>
- <para>Bernard 'Guyzmo' Pratz
- <email>guyzmo+github+pub@m0g.net</email></para>
+ <para>
+ Bernard 'Guyzmo' Pratz
+ <email>guyzmo+github+pub@m0g.net</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="progress-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="progress-intro">
<title>Introduction</title>
- <para>The
- <quote>progress</quote> feature shows a visual progress bar on slow
- tasks, such as indexing a large folder over the net.</para>
+ <para>
+ The <quote>progress</quote> feature shows a visual progress bar on
+ slow tasks, such as indexing a large folder over the net.
+ </para>
</sect2>
<sect2 id="progress-colors">
<sect2 id="progress-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="progress-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Rocco Rutte
- <email>pdmef@gmx.net</email></para>
+ <para>
+ Rocco Rutte
+ <email>pdmef@gmx.net</email>
+ </para>
</listitem>
<listitem>
- <para>Vincent Lefevre
- <email>vincent@vinc17.org</email></para>
+ <para>
+ Vincent Lefevre
+ <email>vincent@vinc17.org</email>
+ </para>
</listitem>
<listitem>
- <para>Stefan Kuhn
- <email>wuodan@hispeed.ch</email></para>
+ <para>
+ Stefan Kuhn
+ <email>wuodan@hispeed.ch</email>
+ </para>
</listitem>
<listitem>
- <para>Karel Zak
- <email>kzak@redhat.com</email></para>
+ <para>
+ Karel Zak
+ <email>kzak@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="quasi-delete-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="quasi-delete-intro">
<title>Introduction</title>
- <para>The
- <quote>quasi-delete</quote> function marks an email that should be
- hidden from the index, but NOT deleted. The email will disappear from
- the index when <link linkend="index-map"><sync-mailbox></link> is
- called.</para>
- <para>On its own, this feature isn't very useful. It forms a useful
- part of the notmuch plugin.</para>
+ <para>
+ The <quote>quasi-delete</quote> function marks an email that should
+ be hidden from the index, but NOT deleted. The email will disappear
+ from the index when
+ <link linkend="index-map"><sync-mailbox></link> is called.
+ </para>
+ <para>
+ On its own, this feature isn't very useful. It forms a useful part of
+ the notmuch plugin.
+ </para>
</sect2>
<sect2 id="quasi-delete-functions">
<sect2 id="quasi-delete-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="quasi-delete-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Karel Zak
- <email>kzak@redhat.com</email></para>
+ <para>
+ Karel Zak
+ <email>kzak@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="reply-with-xorig-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-09-10</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-09-10
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="reply-with-xorig-intro">
<title>Introduction</title>
- <para>Adds a reply_with_xorig for NeoMutt configuration files. If enabled,
- allows to reply to an email using the email address in the first
- X-Original-To: header of a mail as the From: header of the
- answer.</para>
+ <para>
+ Adds a reply_with_xorig for NeoMutt configuration files. If enabled,
+ allows to reply to an email using the email address in the first
+ X-Original-To: header of a mail as the From: header of the answer.
+ </para>
</sect2>
<sect2 id="reply-with-xorig-variables">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Pierre-Elliott Bécue
- <email>becue@crans.org</email></para>
+ <para>
+ Pierre-Elliott Bécue
+ <email>becue@crans.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="sensible-browser-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-09-10</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-09-10
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="sensible-browser-intro">
<title>Introduction</title>
- <para>The
- <quote>sensible browser</quote> is a set of small changes to NeoMutt's
- mailbox browser which make the browser behave in a more predictable
- way.</para>
- <para>The behavior is divided into two use cases: Fixed Order; Variable
- Order.</para>
+ <para>
+ The <quote>sensible browser</quote> is a set of small changes to
+ NeoMutt's mailbox browser which make the browser behave in a more
+ predictable way.
+ </para>
+ <para>
+ The behavior is divided into two use cases: Fixed Order; Variable
+ Order.
+ </para>
<sect3 id="sensible-browser-sort-fixed">
<title>A Fixed Order of Mailboxes</title>
- <para>This is for users who like their mailboxes in a fixed order,
- e.g. alphabetical, or unsorted (in the order of the config
- file).</para>
+ <para>
+ This is for users who like their mailboxes in a fixed order, e.g.
+ alphabetical, or unsorted (in the order of the config file).
+ </para>
<screen>
<emphasis role="comment"># Fixed order</emphasis>
set sort_browser="unsorted"
</screen>
- <para>When you first start the browser, e.g.
- <literal>c?</literal>your current mailbox will be highlighted.</para>
- <para>When you navigate to a parent mailbox (
- <quote>..</quote>) your old mailbox will be highlighted.</para>
<para>
- <quote>..</quote>will always be listed at the top, however the rest
- of the list is sorted.</para>
+ When you first start the browser, e.g. <literal>c?</literal> your
+ current mailbox will be highlighted.
+ </para>
+ <para>
+ When you navigate to a parent mailbox (<quote>..</quote>) your old
+ mailbox will be highlighted.
+ </para>
+ <para>
+ <quote>..</quote> will always be listed at the top, however the
+ rest of the list is sorted.
+ </para>
</sect3>
<sect3 id="sensible-browser-sort-variable">
<title>A Variable Order of Mailboxes</title>
- <para>This is for users who like their mailboxes sorted by a
- characteristic that changes, e.g. count of new mail, or the size of
- mailbox.</para>
+ <para>
+ This is for users who like their mailboxes sorted by
+ a characteristic that changes, e.g. count of new mail, or the size
+ of mailbox.
+ </para>
<screen>
<emphasis role="comment"># Variable order</emphasis>
set sort_browser="reverse-size"
</screen>
- <para>When you first start the browser, e.g.
- <literal>c?</literal>the highlight will be on the first mailbox, e.g.
- the one with the most new mail.</para>
- <para>When you navigate to a parent mailbox (
- <quote>..</quote>) your old mailbox will be highlighted.</para>
<para>
- <quote>..</quote>will always be listed at the top, however the rest
- of the list is sorted.</para>
+ When you first start the browser, e.g. <literal>c?</literal> the
+ highlight will be on the first mailbox, e.g. the one with the most
+ new mail.
+ </para>
+ <para>
+ When you navigate to a parent mailbox (<quote>..</quote>) your old
+ mailbox will be highlighted.
+ </para>
+ <para>
+ <quote>..</quote> will always be listed at the top, however the
+ rest of the list is sorted.
+ </para>
</sect3>
</sect2>
<sect2 id="sensible-browser-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="sensible-browser-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Pierre-Elliott Bécue
- <email>becue@crans.org</email></para>
+ <para>
+ Pierre-Elliott Bécue
+ <email>becue@crans.org</email>
+ </para>
</listitem>
<listitem>
- <para>Haakon Riiser
- <email>haakon.riiser@fys.uio.no</email></para>
+ <para>
+ Haakon Riiser
+ <email>haakon.riiser@fys.uio.no</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="sidebar-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-09-10, NeoMutt
- 1.7.0</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-09-10, NeoMutt
+ 1.7.0
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </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-neomuttrc">Sidebar neomuttrc</link>.</para>
+ <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-neomuttrc">Sidebar neomuttrc</link>.
+ </para>
</sect2>
<sect2 id="sidebar-variables">
</tbody>
</tgroup>
</table>
- <para>For more details, and examples, about the
- <literal>$sidebar_format</literal>, see the
- <link linkend="intro-sidebar-format">Sidebar Intro</link>.</para>
+ <para>
+ For more details, and examples, about the
+ <literal>$sidebar_format</literal>, see the
+ <link linkend="intro-sidebar-format">Sidebar Intro</link>.
+ </para>
</sect2>
<sect2 id="sidebar-functions">
<title>Functions</title>
- <para>Sidebar adds the following functions to NeoMutt. By default, none of
- them are bound to keys.</para>
+ <para>
+ Sidebar adds the following functions to NeoMutt. By default, none of
+ them are bound to keys.
+ </para>
<table id="table-sidebar-functions">
<title>Sidebar Functions</title>
</arg>
</group>
</cmdsynopsis>
- <para>This command specifies mailboxes that will always be displayed in
- the sidebar, even if
- <link linkend="sidebar-new-mail-only">$sidebar_new_mail_only</link> is
- set and the mailbox does not contain new mail.</para>
- <para>The
- <quote>unsidebar_whitelist</quote> command is used to remove a mailbox
- from the list of whitelisted mailboxes. Use
- <quote>unsidebar_whitelist *</quote>to remove all mailboxes.</para>
+ <para>
+ This command specifies mailboxes that will always be displayed in the
+ sidebar, even if
+ <link linkend="sidebar-new-mail-only">$sidebar_new_mail_only</link>
+ is set and the mailbox does not contain new mail.
+ </para>
+ <para>
+ The <quote>unsidebar_whitelist</quote> command is used to remove
+ a mailbox from the list of whitelisted mailboxes. Use
+ <quote>unsidebar_whitelist *</quote> to remove all mailboxes.
+ </para>
</sect2>
<sect2 id="sidebar-colors">
</tbody>
</tgroup>
</table>
- <para>If the
- <literal>sidebar_indicator</literal> color isn't set, then the default
- NeoMutt indicator color will be used (the color used in the index
- panel).</para>
+ <para>
+ If the <literal>sidebar_indicator</literal> color isn't set, then the
+ default NeoMutt indicator color will be used (the color used in the
+ index panel).
+ </para>
</sect2>
<sect2 id="sidebar-sort">
<sect2 id="sidebar-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="sidebar-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Justin Hibbits
- <email>jrh29@po.cwru.edu</email></para>
+ <para>
+ Justin Hibbits
+ <email>jrh29@po.cwru.edu</email>
+ </para>
</listitem>
<listitem>
- <para>Thomer M. Gil
- <email>mutt@thomer.com</email></para>
+ <para>
+ Thomer M. Gil
+ <email>mutt@thomer.com</email>
+ </para>
</listitem>
<listitem>
- <para>David Sterba
- <email>dsterba@suse.cz</email></para>
+ <para>
+ David Sterba
+ <email>dsterba@suse.cz</email>
+ </para>
</listitem>
<listitem>
- <para>Evgeni Golov
- <email>evgeni@debian.org</email></para>
+ <para>
+ Evgeni Golov
+ <email>evgeni@debian.org</email>
+ </para>
</listitem>
<listitem>
- <para>Fabian Groffen
- <email>grobian@gentoo.org</email></para>
+ <para>
+ Fabian Groffen
+ <email>grobian@gentoo.org</email>
+ </para>
</listitem>
<listitem>
- <para>Jason DeTiberus
- <email>jdetiber@redhat.com</email></para>
+ <para>
+ Jason DeTiberus
+ <email>jdetiber@redhat.com</email>
+ </para>
</listitem>
<listitem>
- <para>Stefan Assmann
- <email>sassmann@kpanic.de</email></para>
+ <para>
+ Stefan Assmann
+ <email>sassmann@kpanic.de</email>
+ </para>
</listitem>
<listitem>
- <para>Steve Kemp
- <email>steve@steve.org.uk</email></para>
+ <para>
+ Steve Kemp
+ <email>steve@steve.org.uk</email>
+ </para>
</listitem>
<listitem>
- <para>Terry Chan
- <email>tchan@lunar-linux.org</email></para>
+ <para>
+ Terry Chan
+ <email>tchan@lunar-linux.org</email>
+ </para>
</listitem>
<listitem>
- <para>Tyler Earnest
- <email>tylere@rne.st</email></para>
+ <para>
+ Tyler Earnest
+ <email>tylere@rne.st</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="skip-quoted-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-28</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-28
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="skip-quoted-intro">
<title>Introduction</title>
- <para>When viewing an email, the
- <literal><skip-to-quoted></literal>function (by default the
- <literal>S</literal> key) will scroll past any email headers or quoted
- text. Sometimes, a little context is useful.</para>
- <para>By setting the
- <literal>$skip_quoted_offset</literal> variable, you can select how much
- of the quoted text is left visible.</para>
+ <para>
+ When viewing an email, the <literal><skip-to-quoted></literal>
+ function (by default the <literal>S</literal> key) will scroll past
+ any email headers or quoted text. Sometimes, a little context is
+ useful.
+ </para>
+ <para>
+ By setting the <literal>$skip_quoted_offset</literal> variable, you
+ can select how much of the quoted text is left visible.
+ </para>
</sect2>
<sect2 id="skip-quoted-variables">
<sect2 id="skip-quoted-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="skip-quoted-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>David Sterba
- <email>dsterba@suse.cz</email></para>
+ <para>
+ David Sterba
+ <email>dsterba@suse.cz</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="status-color-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<para>
- <emphasis role="bold">Dependencies:</emphasis>None</para>
+ <emphasis role="bold">Dependencies:</emphasis> None
+ </para>
</sect2>
<sect2 id="status-color-intro">
<title>Introduction</title>
- <para>The
- <quote>status-color</quote> feature 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>
+ <para>
+ The <quote>status-color</quote> feature 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-commands">
</group>
</group>
</cmdsynopsis>
- <para>With zero parameters, NeoMutt will set the default color for the
- entire status bar.</para>
- <para>With one parameter, NeoMutt will only color the parts matching the
- regex.</para>
- <para>With two parameters, NeoMutt will only color the num'th sub-match of
- the regex.</para>
+ <para>
+ With zero parameters, NeoMutt will set the default color for the
+ entire status bar.
+ </para>
+ <para>
+ With one parameter, NeoMutt will only color the parts matching the
+ regex.
+ </para>
+ <para>
+ With two parameters, NeoMutt will only color the num'th sub-match of
+ the regex.
+ </para>
</sect2>
<sect2 id="status-color-colors">
<itemizedlist>
<listitem>
<para>
- <link linkend="compile-time-features">Compile-Time
- Features</link>
+ <link linkend="compile-time-features">Compile-Time Features</link>
</para>
</listitem>
<listitem>
<sect2 id="status-color-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="status-color-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>David Sterba
- <email>dsterba@suse.cz</email></para>
+ <para>
+ David Sterba
+ <email>dsterba@suse.cz</email>
+ </para>
</listitem>
<listitem>
- <para>Thomas Glanzmann
- <email>thomas@glanzmann.de</email></para>
+ <para>
+ Thomas Glanzmann
+ <email>thomas@glanzmann.de</email>
+ </para>
</listitem>
<listitem>
- <para>Kirill A. Shutemov
- <email>kirill@shutemov.name</email></para>
+ <para>
+ Kirill A. Shutemov
+ <email>kirill@shutemov.name</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="tls-sni-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-03-07</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-03-07
+ </para>
<variablelist>
<varlistentry>
<term>
<emphasis role="bold">Dependencies:</emphasis>
</term>
<listitem>
- <para>OpenSSL</para>
+ <para>
+ OpenSSL
+ </para>
</listitem>
</varlistentry>
</variablelist>
<sect2 id="tls-sni-intro">
<title>Introduction</title>
- <para>The
- <quote>TLS-SNI</quote> feature 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>
+ <para>
+ The <quote>TLS-SNI</quote> feature 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 <imap server> -port <port> -tls1 -servername <imap server>
<sect2 id="tls-sni-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="tls-sni-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Jeremy Katz
- <email>katzj@linuxpower.org</email></para>
+ <para>
+ Jeremy Katz
+ <email>katzj@linuxpower.org</email>
+ </para>
</listitem>
<listitem>
- <para>Phil Pennock
- <email>mutt-dev@spodhuis.demon.nl</email></para>
+ <para>
+ Phil Pennock
+ <email>mutt-dev@spodhuis.demon.nl</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="trash-folder-support">
<title>Support</title>
<para>
- <emphasis role="bold">Since:</emphasis>NeoMutt 2016-09-10, NeoMutt
- 1.7.0</para>
+ <emphasis role="bold">Since:</emphasis> NeoMutt 2016-09-10, NeoMutt
+ 1.7.0
+ </para>
<variablelist>
<varlistentry>
<term>
<emphasis role="bold">Dependencies:</emphasis>
</term>
<listitem>
- <para>If IMAP is enabled, the trash folder will use it
- wisely</para>
+ <para>
+ If IMAP is enabled, the trash folder will use it wisely
+ </para>
</listitem>
</varlistentry>
</variablelist>
<sect2 id="trash-folder-intro">
<title>Introduction</title>
- <para>In NeoMutt, when you
- <quote>delete</quote> an email it is first marked deleted. The email
- isn't really gone until
- <link linkend="index-map"><sync-mailbox></link>is called. This
- happens when the user leaves the folder, or the function is called
- manually.</para>
- <para>After
- <literal><sync-mailbox></literal>has been called the email is
- gone forever.</para>
- <para>The
- <link linkend="trash">$trash</link> variable defines a folder in which
- to keep old emails. As before, first you mark emails for deletion. When
- <sync-mailbox> is called the emails are moved to the trash
- folder.</para>
- <para>The
- <literal>$trash</literal> path can be either a full directory, or be
- relative to the
- <link linkend="folder">$folder</link> variable, like the
- <literal>mailboxes</literal> command.</para>
+ <para>
+ In NeoMutt, when you <quote>delete</quote> an email it is first
+ marked deleted. The email isn't really gone until
+ <link linkend="index-map"><sync-mailbox></link> is called. This
+ happens when the user leaves the folder, or the function is called
+ manually.
+ </para>
+ <para>
+ After <literal><sync-mailbox></literal> has been called the
+ email is gone forever.
+ </para>
+ <para>
+ The <link linkend="trash">$trash</link> variable defines a folder in
+ which to keep old emails. As before, first you mark emails for
+ deletion. When <sync-mailbox> is called the emails are moved to
+ the trash folder.
+ </para>
+ <para>
+ The <literal>$trash</literal> path can be either a full directory, or
+ be relative to the <link linkend="folder">$folder</link> variable,
+ like the <literal>mailboxes</literal> command.
+ </para>
<note>
- <para>Emails deleted from the trash folder are gone forever.</para>
+ <para>
+ Emails deleted from the trash folder are gone forever.
+ </para>
</note>
</sect2>
<sect2 id="trash-folder-known-bugs">
<title>Known Bugs</title>
- <para>None</para>
+ <para>
+ None
+ </para>
</sect2>
<sect2 id="trash-folder-credits">
<title>Credits</title>
<itemizedlist>
<listitem>
- <para>Cedric Duval
- <email>cedricduval@free.fr</email></para>
+ <para>
+ Cedric Duval
+ <email>cedricduval@free.fr</email>
+ </para>
</listitem>
<listitem>
- <para>Benjamin Kuperman
- <email>kuperman@acm.org</email></para>
+ <para>
+ Benjamin Kuperman
+ <email>kuperman@acm.org</email>
+ </para>
</listitem>
<listitem>
- <para>Paul Miller
- <email>paul@voltar.org</email></para>
+ <para>
+ Paul Miller
+ <email>paul@voltar.org</email>
+ </para>
</listitem>
<listitem>
- <para>Richard Russon
- <email>rich@flatcap.org</email></para>
+ <para>
+ Richard Russon
+ <email>rich@flatcap.org</email>
+ </para>
</listitem>
</itemizedlist>
</sect2>
<chapter id="security">
<title>Security Considerations</title>
- <para>First of all, NeoMutt contains no security holes included by intention
- but may contain unknown security holes. As a consequence, please run NeoMutt
- only with as few permissions as possible. Especially, do not run NeoMutt as
- the super user.</para>
- <para>When configuring NeoMutt, there're some points to note about secure
- setups so please read this chapter carefully.</para>
+ <para>
+ First of all, NeoMutt contains no security holes included by intention
+ but may contain unknown security holes. As a consequence, please run
+ NeoMutt only with as few permissions as possible. Especially, do not run
+ NeoMutt as the super user.
+ </para>
+ <para>
+ When configuring NeoMutt, 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 NeoMutt 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>
+ <para>
+ Although NeoMutt 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>NeoMutt 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>
+ <para>
+ NeoMutt 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">
<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, NeoMutt 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
- NeoMutt 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).</para>
+ <para>
+ Message-Id: headers contain a local part that is to be created in
+ a unique fashion. In order to do so, NeoMutt 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 NeoMutt
+ 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).
+ </para>
</sect2>
<sect2 id="security-leaks-mailto">
- <title>
- <literal>mailto:</literal>-style Links</title>
- <para>As NeoMutt be can be set up to be the mail client to handle
- <literal>mailto:</literal>style links in websites, there're security
- considerations, too. Arbitrary header fields can be embedded in these
- links which could override existing header fields or attach arbitrary
- files using
- <link linkend="attach-header">the Attach: pseudoheader</link>. This may
- be problematic if the
- <link linkend="edit-headers">$edit-headers</link> variable is
- <emphasis>unset</emphasis>, i.e. the user doesn't want to see header
- fields while editing the message and doesn't pay enough attention to
- the compose menu's listing of attachments.</para>
- <para>For example, following a link like</para>
+ <title><literal>mailto:</literal>-style Links</title>
+ <para>
+ As NeoMutt be can be set up to be the mail client to handle
+ <literal>mailto:</literal> style links in websites, there're security
+ considerations, too. Arbitrary header fields can be embedded in these
+ links which could override existing header fields or attach arbitrary
+ files using
+ <link linkend="attach-header">the Attach: pseudoheader</link>. This
+ may be problematic if the
+ <link linkend="edit-headers">$edit-headers</link> variable is
+ <emphasis>unset</emphasis>, i.e. the user doesn't want to see header
+ fields while editing the message and doesn't pay enough attention to
+ the compose menu's listing of attachments.
+ </para>
+ <para>
+ For example, following a link like
+ </para>
<screen>mailto:joe@host?Attach=~/.gnupg/secring.gpg</screen>
- <para>will send out the user's private gnupg keyring to
- <literal>joe@host</literal> if the user doesn't follow the information
- on screen carefully enough.</para>
- <para>To prevent these issues, NeoMutt by default only accepts the
- <literal>Subject</literal> and
- <literal>Body</literal> headers. Allowed headers can be adjusted with
- the
- <link linkend="mailto-allow">
- <command>mailto_allow</command>
- </link>and
- <link linkend="mailto-allow">
- <command>unmailto_allow</command>
- </link>commands.</para>
+ <para>
+ will send out the user's private gnupg keyring to
+ <literal>joe@host</literal> if the user doesn't follow the
+ information on screen carefully enough.
+ </para>
+ <para>
+ To prevent these issues, NeoMutt by default only accepts the
+ <literal>Subject</literal> and <literal>Body</literal> headers.
+ Allowed headers can be adjusted with the
+ <link linkend="mailto-allow"><command>mailto_allow</command></link>
+ and
+ <link linkend="mailto-allow"><command>unmailto_allow</command></link>
+ commands.
+ </para>
</sect2>
</sect1>
<sect1 id="security-external">
<title>External Applications</title>
- <para>NeoMutt in many places has to rely on external applications or for
- convenience supports mechanisms involving external applications.</para>
- <para>One of these is the
- <literal>mailcap</literal> mechanism as defined by RFC1524. Details about
- a secure use of the mailcap mechanisms is given in
- <xref linkend="secure-mailcap" />.</para>
- <para>Besides the mailcap mechanism, NeoMutt uses a number of other external
- utilities for operation, for example to provide crypto support, in
- backtick expansion in configuration files or format string filters. The
- same security considerations apply for these as for tools involved via
- mailcap.</para>
+ <para>
+ NeoMutt in many places has to rely on external applications or for
+ convenience supports mechanisms involving external applications.
+ </para>
+ <para>
+ One of these is the <literal>mailcap</literal> mechanism as defined by
+ RFC1524. Details about a secure use of the mailcap mechanisms is given
+ in <xref linkend="secure-mailcap" />.
+ </para>
+ <para>
+ Besides the mailcap mechanism, NeoMutt uses a number of other external
+ utilities for operation, for example to provide crypto support, in
+ backtick expansion in configuration files or format string filters. The
+ same security considerations apply for these as for tools involved via
+ mailcap.
+ </para>
</sect1>
</chapter>
<sect1 id="tuning-mailboxes">
<title>Reading and Writing Mailboxes</title>
- <para>NeoMutt's performance when reading mailboxes can be improved in two
- ways:</para>
+ <para>
+ NeoMutt's performance when reading mailboxes can be improved in two
+ ways:
+ </para>
<orderedlist>
<listitem>
- <para>For remote folders (IMAP and POP) as well as folders using
- one-file-per message storage (Maildir and MH), NeoMutt's performance can
- be greatly improved using
- <link linkend="header-caching">header caching</link>. using a single
- database per folder.</para>
+ <para>
+ For remote folders (IMAP and POP) as well as folders using
+ one-file-per message storage (Maildir and MH), NeoMutt's
+ performance can be greatly improved using
+ <link linkend="header-caching">header caching</link>. using
+ a single database per folder.
+ </para>
</listitem>
<listitem>
- <para>NeoMutt provides the
- <link linkend="read-inc">$read_inc</link> and
- <link linkend="write-inc">$write_inc</link> variables to specify at
- which rate to update progress counters. If these values are too low,
- NeoMutt may spend more time on updating the progress counter than it
- spends on actually reading/writing folders.</para>
- <para>For example, when opening a maildir folder with a few thousand
- messages, the default value for
- <link linkend="read-inc">$read_inc</link> may be too low. It can be
- tuned on on a folder-basis using
- <link linkend="folder-hook">
- <command>folder-hook</command>s</link>:</para>
+ <para>
+ NeoMutt provides the <link linkend="read-inc">$read_inc</link> and
+ <link linkend="write-inc">$write_inc</link> variables to specify at
+ which rate to update progress counters. If these values are too
+ low, NeoMutt may spend more time on updating the progress counter
+ than it spends on actually reading/writing folders.
+ </para>
+ <para>
+ For example, when opening a maildir folder with a few thousand
+ messages, the default value for
+ <link linkend="read-inc">$read_inc</link> may be too low. It can be
+ tuned on on a folder-basis using
+ <link linkend="folder-hook"><command>folder-hook</command>s</link>:
+ </para>
<screen>
<emphasis role="comment"># use very high $read_inc to speed up reading hcache'd maildirs</emphasis>
</listitem>
</orderedlist>
- <para>These settings work on a per-message basis. However, as messages
- may greatly differ in size and certain operations are much faster than
- others, even per-folder settings of the increment variables may not be
- desirable as they produce either too few or too much progress updates.
- Thus, NeoMutt allows to limit the number of progress updates per second
- it'll actually send to the terminal using the
- <link linkend="time-inc">$time_inc</link> variable.</para>
+ <para>
+ These settings work on a per-message basis. However, as messages may
+ greatly differ in size and certain operations are much faster than
+ others, even per-folder settings of the increment variables may not be
+ desirable as they produce either too few or too much progress updates.
+ Thus, NeoMutt allows to limit the number of progress updates per second
+ it'll actually send to the terminal using the
+ <link linkend="time-inc">$time_inc</link> variable.
+ </para>
</sect1>
<sect1 id="tuning-messages">
<title>Reading Messages from Remote Folders</title>
- <para>Reading messages from remote folders such as IMAP an POP can be
- slow especially for large mailboxes since NeoMutt only caches a very limited
- number of recently viewed messages (usually 10) per session (so that it
- will be gone for the next session.)</para>
- <para>To improve performance and permanently cache whole messages, please
- refer to NeoMutt's so-called
- <link linkend="body-caching">body caching</link> for details.</para>
+ <para>
+ Reading messages from remote folders such as IMAP an POP can be slow
+ especially for large mailboxes since NeoMutt only caches a very limited
+ number of recently viewed messages (usually 10) per session (so that it
+ will be gone for the next session.)
+ </para>
+ <para>
+ To improve performance and permanently cache whole messages, please
+ refer to NeoMutt's so-called
+ <link linkend="body-caching">body caching</link> for details.
+ </para>
</sect1>
<sect1 id="tuning-search">
<title>Searching and Limiting</title>
- <para>When searching mailboxes either via a search or a limit action, for
- some patterns NeoMutt distinguishes between regular expression and string
- searches. For regular expressions, patterns are prefixed with
- <quote>~</quote>and with
- <quote>=</quote>for string searches.</para>
- <para>Even though a regular expression search is fast, it's several times
- slower than a pure string search which is noticeable especially on large
- folders. As a consequence, a string search should be used instead of a
- regular expression search if the user already knows enough about the
- search pattern.</para>
- <para>For example, when limiting a large folder to all messages sent to
- or by an author, it's much faster to search for the initial part of an
- e-mail address via
- <literal>=Luser@</literal>instead of
- <literal>~Luser@</literal>. This is especially true for searching message
- bodies since a larger amount of input has to be searched.</para>
- <para>As for regular expressions, a lower case string search pattern
- makes NeoMutt perform a case-insensitive search except for IMAP (because for
- IMAP NeoMutt performs server-side searches which don't support
- case-insensitivity).</para>
+ <para>
+ When searching mailboxes either via a search or a limit action, for
+ some patterns NeoMutt distinguishes between regular expression and
+ string searches. For regular expressions, patterns are prefixed with
+ <quote>~</quote> and with <quote>=</quote> for string searches.
+ </para>
+ <para>
+ Even though a regular expression search is fast, it's several times
+ slower than a pure string search which is noticeable especially on
+ large folders. As a consequence, a string search should be used instead
+ of a regular expression search if the user already knows enough about
+ the search pattern.
+ </para>
+ <para>
+ For example, when limiting a large folder to all messages sent to or by
+ an author, it's much faster to search for the initial part of an e-mail
+ address via <literal>=Luser@</literal> instead of
+ <literal>~Luser@</literal>. This is especially true for searching
+ message bodies since a larger amount of input has to be searched.
+ </para>
+ <para>
+ As for regular expressions, a lower case string search pattern makes
+ NeoMutt perform a case-insensitive search except for IMAP (because for
+ IMAP NeoMutt performs server-side searches which don't support
+ case-insensitivity).
+ </para>
</sect1>
</chapter>
<sect1 id="commandline">
<title>Command-Line Options</title>
- <para>Running
- <literal>neomutt</literal> with no arguments will make NeoMutt attempt to read
- your spool mailbox. However, it is possible to read other mailboxes and
- to send messages from the command line as well.</para>
+ <para>
+ Running <literal>neomutt</literal> with no arguments will make NeoMutt
+ attempt to read your spool mailbox. However, it is possible to read
+ other mailboxes and to send messages from the command line as well.
+ </para>
<table id="tab-commandline-options">
<title>Command line options</title>
</tbody>
</tgroup>
</table>
- <para>To read messages in a mailbox</para>
+ <para>
+ To read messages in a mailbox
+ </para>
<cmdsynopsis>
<command>neomutt</command>
<arg choice="opt">
<replaceable>mailbox</replaceable>
</arg>
</cmdsynopsis>
- <para>To compose a new message</para>
+ <para>
+ To compose a new message
+ </para>
<cmdsynopsis>
<command>neomutt</command>
<arg choice="opt">
</arg>
</group>
</cmdsynopsis>
- <para>NeoMutt also supports a
- <quote>batch</quote> mode to send prepared messages. Simply redirect input
- from the file you wish to send. For example,</para>
+ <para>
+ NeoMutt also supports a <quote>batch</quote> mode to send prepared
+ messages. Simply redirect input from the file you wish to send. For
+ example,
+ </para>
<screen>
neomutt -s "data set for run #2" professor@bigschool.edu < ~/run2.dat
</screen>
- <para>will send a message to
- <literal><professor@bigschool.edu></literal>with a subject of
- <quote>data set for run #2</quote>. In the body of the message will be
- the contents of the file
- <quote>~/run2.dat</quote>.</para>
- <para>An include file passed with
- <literal>-i</literal> will be used as the body of the message. When
- combined with
- <literal>-E</literal>, the include file will be directly edited during
- message composition. The file will be modified regardless of whether the
- message is sent or aborted.</para>
- <para>A draft file passed with
- <literal>-H</literal> will be used as the initial header and body for the
- message. Multipart messages can be used as a draft file. When combined
- with
- <literal>-E</literal>, the draft file will be updated to the final state
- of the message after composition, regardless of whether the message is
- sent, aborted, or even postponed. Note that if the message is sent
- encrypted or signed, the draft file will be saved that way too.</para>
- <para>All files passed with
- <literal>-a</literal>
- <emphasis>file</emphasis> will be attached as a MIME part to the message.
- To attach a single or several files, use
- <quote>--</quote>to separate files and recipient addresses:</para>
+ <para>
+ will send a message to
+ <literal><professor@bigschool.edu></literal> with a subject of
+ <quote>data set for run #2</quote>. In the body of the message will be
+ the contents of the file <quote>~/run2.dat</quote>.
+ </para>
+ <para>
+ An include file passed with <literal>-i</literal> will be used as the
+ body of the message. When combined with <literal>-E</literal>, the
+ include file will be directly edited during message composition. The
+ file will be modified regardless of whether the message is sent or
+ aborted.
+ </para>
+ <para>
+ A draft file passed with <literal>-H</literal> will be used as the
+ initial header and body for the message. Multipart messages can be used
+ as a draft file. When combined with <literal>-E</literal>, the draft
+ file will be updated to the final state of the message after
+ composition, regardless of whether the message is sent, aborted, or
+ even postponed. Note that if the message is sent encrypted or signed,
+ the draft file will be saved that way too.
+ </para>
+ <para>
+ All files passed with <literal>-a</literal> <emphasis>file</emphasis>
+ will be attached as a MIME part to the message. To attach a single or
+ several files, use <quote>--</quote> to separate files and recipient
+ addresses:
+ </para>
<screen>neomutt -a image.png -- some@one.org</screen>
- <para>or</para>
+ <para>
+ or
+ </para>
<screen>neomutt -a *.png -- some@one.org</screen>
<note>
- <para>The
- <literal>-a</literal> option must be last in the option list.</para>
+ <para>
+ The <literal>-a</literal> option must be last in the option list.
+ </para>
</note>
- <para>In addition to accepting a list of email addresses, NeoMutt also
- accepts a URL with the
- <literal>mailto:</literal>schema as specified in RFC2368. This is useful
- when configuring a web browser to launch NeoMutt when clicking on mailto
- links.</para>
+ <para>
+ In addition to accepting a list of email addresses, NeoMutt also
+ accepts a URL with the <literal>mailto:</literal> schema as specified
+ in RFC2368. This is useful when configuring a web browser to launch
+ NeoMutt when clicking on mailto links.
+ </para>
<screen>
neomutt mailto:some@one.org?subject=test&cc=other@one.org
<sect1 id="commands">
<title>Configuration Commands</title>
- <para>The following are the commands understood by NeoMutt:</para>
+ <para>
+ The following are the commands understood by NeoMutt:
+ </para>
<itemizedlist>
<listitem>
<cmdsynopsis>