<h2>DESCRIPTION</h2>
<pre>
- Notmuch is a command-line based program for indexing, searching, read-
+ Notmuch is a command-line based program for indexing, searching, read‐
ing, and tagging large collections of email messages.
This page describes how to get started using notmuch from the command
also accessible via <b>notmuch</b> <b>help</b> <b>show</b>
The quickest way to get started with Notmuch is to simply invoke the
- notmuch command with no arguments, which will interactively guide you
+ <b>notmuch</b> command with no arguments, which will interactively guide you
through the process of indexing your mail.
</pre>
<h2>NOTE</h2>
<pre>
- While the command-line program notmuch provides powerful functionality,
- it does not provide the most convenient interface for that functional-
+ While the command-line program <b>notmuch</b> provides powerful functionality,
+ it does not provide the most convenient interface for that functional‐
ity. More sophisticated interfaces are expected to be built on top of
- either the command-line interface, or more likely, on top of the not-
+ either the command-line interface, or more likely, on top of the not‐
much library interface. See <u>http://notmuchmail.org</u> for more about
alternate interfaces to notmuch. The emacs-based interface to notmuch
(available under <b>emacs/</b> in the Notmuch source distribution) is probably
<h2>OPTIONS</h2>
<pre>
- Supported global options for notmuch include
+ Supported global options for <b>notmuch</b> include
- <b>--help</b>
+ <b>--help</b> Print a synopsis of available commands and exit.
- Print a synopsis of available commands and exit.
+ <b>--version</b>
+ Print the installed version of notmuch, and exit.
- <b>--version</b>
-
- Print the installed version of notmuch, and exit.
-
- <b>--config=FILE</b>
-
- Specify the configuration file to use. This overrides any
- configuration file specified by ${NOTMUCH_CONFIG}.
+ <b>--config=FILE</b>
+ Specify the configuration file to use. This overrides any
+ configuration file specified by ${NOTMUCH_CONFIG}.
</pre>
<h2>COMMANDS</h2>
(or to reconfigure it later).
The setup command will prompt for your full name, your primary email
- address, any alternate email addresses you use, and the directory con-
- taining your email archives. Your answers will be written to a configu-
+ address, any alternate email addresses you use, and the directory con‐
+ taining your email archives. Your answers will be written to a configu‐
ration file in ${NOTMUCH_CONFIG} (if set) or ${HOME}/.notmuch-config .
- This configuration file will be created with descriptive comments, mak-
+ This configuration file will be created with descriptive comments, mak‐
ing it easy to edit by hand later to change the configuration. Or you
can run <b>notmuch</b> <b>setup</b> again to change the configuration.
- The mail directory you specify can contain any number of sub-directo-
- ries and should primarily contain only files with individual email mes-
+ The mail directory you specify can contain any number of sub-directo‐
+ ries and should primarily contain only files with individual email mes‐
sages (eg. maildir or mh archives are perfect). If there are other,
non-email files (such as indexes maintained by other email programs)
then notmuch will do its best to detect those and ignore them.
Mail storage that uses mbox format, (where one mbox file contains many
- messages), will not work with notmuch. If that's how your mail is cur-
+ messages), will not work with notmuch. If that's how your mail is cur‐
rently stored, it is recommended you first convert it to maildir format
with a utility such as mb2md before running <b>notmuch</b> <b>setup</b> <b>.</b>
- Invoking notmuch with no command argument will run <b>setup</b> if the setup
+ Invoking <b>notmuch</b> with no command argument will run <b>setup</b> if the setup
command has not previously been completed.
</pre>
<h3> OTHER COMMANDS</h3>
<pre>
- Several of the notmuch commands accept search terms with a common syn-
- tax. See <b>notmuch-search-terms</b>(7) for more details on the supported syn-
+ Several of the notmuch commands accept search terms with a common syn‐
+ tax. See <b>notmuch-search-terms</b>(7) for more details on the supported syn‐
tax.
- The <b>search</b>, <b>show</b> and <b>count</b> commands are used to query the email
- database.
+ The <b>search</b>, <b>show</b> and <b>count</b> commands are used to query the email data‐
+ base.
The <b>reply</b> command is useful for preparing a template for an email
reply.
of notmuch.
<b>NOTMUCH</b>_<b>CONFIG</b>
-
- Specifies the location of the notmuch configuration file. Not-
+ Specifies the location of the notmuch configuration file. Not‐
much will use ${HOME}/.notmuch-config if this variable is not
set.
<b>NOTMUCH</b>_<b>TALLOC</b>_<b>REPORT</b>
-
Location to write a talloc memory usage report. See <b>tal-</b>
<b>loc</b>_<b>enable</b>_<b>leak</b>_<b>report</b>_<b>full</b> in <b>talloc</b>(3) for more information.
<b>NOTMUCH</b>_<b>DEBUG</b>_<b>QUERY</b>
-
If set to a non-empty value, the notmuch library will print (to
stderr) Xapian queries it constructs.
</pre>
<h2>SEE ALSO</h2>
<pre>
<a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5),
- <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>not-</a>
- <a href='../notmuch-restore-1/'>much-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>not-</a>
+ <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>not‐</a>
+ <a href='../notmuch-restore-1/'>much-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>not‐</a>
<a href='../notmuch-show-1/'>much-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
The notmuch website: <b>http://notmuchmail.org</b>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
The compacted database is built in a temporary directory and is later
moved into the place of the origin database. The original uncompacted
- database is discarded, unless the --backup=<directory> option is used.
+ database is discarded, unless the <b>--backup=</b><directory> option is used.
- Note that the database write lock will be held during the compaction
+ Note that the database write lock will be held during the compaction
process (which may be quite long) to protect data integrity.
Supported options for <b>compact</b> include
- <b>--backup=<directory></b>
+ <b>--backup=<directory></b>
+ Save the current database to the given directory before
+ replacing it with the compacted database. The backup direc‐
+ tory must not exist and it must reside on the same mounted
+ filesystem as the current database.
- Save the current database to the given directory before
- replacing it with the compacted database. The backup direc-
- tory must not exist and it must reside on the same mounted
- filesystem as the current database.
-
- <b>--quiet</b>
-
- Do not report database compaction progress to stdout.
+ <b>--quiet</b>
+ Do not report database compaction progress to stdout.
</pre>
<h2>ENVIRONMENT</h2>
of notmuch.
<b>NOTMUCH</b>_<b>CONFIG</b>
-
- Specifies the location of the notmuch configuration file. Not-
- much will use ${HOME}/.notmuch-config if this variable is not
+ Specifies the location of the notmuch configuration file. Not‐
+ much will use ${HOME}/.notmuch-config if this variable is not
set.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not-</a>
- <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not‐</a>
+ <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
The <b>config</b> command can be used to get or set settings in the notmuch
configuration file.
- <b>get</b>
+ <b>get</b> The value of the specified configuration item is printed to
+ stdout. If the item has multiple values (it is a list), each
+ value is separated by a newline character.
- The value of the specified configuration item is printed to
- stdout. If the item has multiple values (it is a list), each
- value is separated by a newline character.
+ <b>set</b> The specified configuration item is set to the given value.
+ To specify a multiple-value item (a list), provide each value
+ as a separate command-line argument.
- <b>set</b>
+ If no values are provided, the specified configuration item
+ will be removed from the configuration file.
- The specified configuration item is set to the given value.
- To specify a multiple-value item (a list), provide each
- value as a separate command-line argument.
+ <b>list</b> Every configuration item is printed to stdout, each on a sep‐
+ arate line of the form:
- If no values are provided, the specified configuration item
- will be removed from the configuration file.
+ <u>section</u>.<u>item</u>=<u>value</u>
- <b>list</b>
-
- Every configuration item is printed to stdout, each on a
- separate line of the form:
-
- <u>section</u>.<u>item</u>=<u>value</u>
-
- No additional whitespace surrounds the dot or equals sign
- characters. In a multiple-value item (a list), the values
- are separated by semicolon characters.
+ No additional whitespace surrounds the dot or equals sign
+ characters. In a multiple-value item (a list), the values are
+ separated by semicolon characters.
The available configuration items are described below.
- <b>database.path</b>
-
- The top-level directory where your mail currently exists and
- to where mail will be delivered in the future. Files should
- be individual email messages. Notmuch will store its
- database within a sub-directory of the path configured here
- named .notmuch.
-
- <b>user.name</b>
-
- Your full name.
-
- <b>user.primary</b>_<b>email</b>
-
- Your primary email address.
-
- <b>user.other</b>_<b>email</b>
-
- A list of other email addresses at which you receive email.
-
- <b>new.tags</b>
-
- A list of tags that will be added to all messages incorpo-
- rated by <b>notmuch</b> <b>new</b>.
-
- <b>new.ignore</b>
-
- A list of file and directory names, without path, that will
- not be searched for messages by <b>notmuch</b> <b>new</b>. All the files
- and directories matching any of the names specified here
- will be ignored, regardless of the location in the mail
- store directory hierarchy.
-
- <b>search.exclude</b>_<b>tags</b>
-
- A list of tags that will be excluded from search results by
- default. Using an excluded tag in a query will override that
- exclusion.
-
- <b>maildir.synchronize</b>_<b>flags</b>
-
- If true, then the following maildir flags (in message file-
- names) will be synchronized with the corresponding notmuch
- tags:
-
- +-----+----------------------------+
- |Flag | Tag |
- +-----+----------------------------+
- |D | draft |
- +-----+----------------------------+
- |F | flagged |
- +-----+----------------------------+
- |P | passed |
- +-----+----------------------------+
- |R | replied |
- +-----+----------------------------+
- |S | unread (added when 'S' |
- | | flag is not present) |
- +-----+----------------------------+
-
- The <b>notmuch</b> <b>new</b> command will notice flag changes in file-
- names and update tags, while the <b>notmuch</b> <b>tag</b> and <b>notmuch</b>
- <b>restore</b> commands will notice tag changes and update flags in
- filenames.
-
- If there have been any changes in the maildir (new messages
- added, old ones removed or renamed, maildir flags changed,
- etc.), it is advisable to run <b>notmuch</b> <b>new</b> before <b>notmuch</b> <b>tag</b>
- or <b>notmuch</b> <b>restore</b> commands to ensure the tag changes are
- properly synchronized to the maildir flags, as the commands
- expect the database and maildir to be in sync.
+ <b>database.path</b>
+ The top-level directory where your mail currently exists and
+ to where mail will be delivered in the future. Files should
+ be individual email messages. Notmuch will store its database
+ within a sub-directory of the path configured here named
+ <b>.notmuch</b>.
+
+ <b>user.name</b>
+ Your full name.
+
+ <b>user.primary</b>_<b>email</b>
+ Your primary email address.
+
+ <b>user.other</b>_<b>email</b>
+ A list of other email addresses at which you receive email.
+
+ <b>new.tags</b>
+ A list of tags that will be added to all messages incorpo‐
+ rated by <b>notmuch</b> <b>new</b>.
+
+ <b>new.ignore</b>
+ A list of file and directory names, without path, that will
+ not be searched for messages by <b>notmuch</b> <b>new</b>. All the files
+ and directories matching any of the names specified here will
+ be ignored, regardless of the location in the mail store
+ directory hierarchy.
+
+ <b>search.exclude</b>_<b>tags</b>
+ A list of tags that will be excluded from search results by
+ default. Using an excluded tag in a query will override that
+ exclusion.
+
+ <b>maildir.synchronize</b>_<b>flags</b>
+ If true, then the following maildir flags (in message file‐
+ names) will be synchronized with the corresponding notmuch
+ tags:
+
+ ┌─────┬────────────────────────────┐
+ │Flag │ Tag │
+ ├─────┼────────────────────────────┤
+ │D │ draft │
+ ├─────┼────────────────────────────┤
+ │F │ flagged │
+ ├─────┼────────────────────────────┤
+ │P │ passed │
+ ├─────┼────────────────────────────┤
+ │R │ replied │
+ ├─────┼────────────────────────────┤
+ │S │ unread (added when 'S' │
+ │ │ flag is not present) │
+ └─────┴────────────────────────────┘
+
+ The <b>notmuch</b> <b>new</b> command will notice flag changes in filenames
+ and update tags, while the <b>notmuch</b> <b>tag</b> and <b>notmuch</b> <b>restore</b>
+ commands will notice tag changes and update flags in file‐
+ names.
+
+ If there have been any changes in the maildir (new messages
+ added, old ones removed or renamed, maildir flags changed,
+ etc.), it is advisable to run <b>notmuch</b> <b>new</b> before <b>notmuch</b> <b>tag</b>
+ or <b>notmuch</b> <b>restore</b> commands to ensure the tag changes are
+ properly synchronized to the maildir flags, as the commands
+ expect the database and maildir to be in sync.
</pre>
<h2>ENVIRONMENT</h2>
of notmuch.
<b>NOTMUCH</b>_<b>CONFIG</b>
-
- Specifies the location of the notmuch configuration file. Not-
- much will use ${HOME}/.notmuch-config if this variable is not
+ Specifies the location of the notmuch configuration file. Not‐
+ much will use ${HOME}/.notmuch-config if this variable is not
set.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not-</a>
- <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1),
- <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not‐</a>
+ <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
+ <a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
<h2>AUTHOR</h2>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
The number of matching messages (or threads) is output to stdout.
- With no search terms, a count of all messages (or threads) in the
- database will be displayed.
+ With no search terms, a count of all messages (or threads) in the data‐
+ base will be displayed.
See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax for
<search-terms>.
Supported options for <b>count</b> include
-
- --output=(messages|threads|files)
+ <b>--output=(messages|threads|files)</b>
<b>messages</b>
-
Output the number of matching messages. This is the
default.
<b>threads</b>
-
Output the number of matching threads.
- <b>files</b>
-
- Output the number of files associated with matching mes-
+ <b>files</b> Output the number of files associated with matching mes‐
sages. This may be bigger than the number of matching
messages due to duplicates (i.e. multiple files having
the same message-id).
- <b>--exclude=(true|false)</b>
-
- Specify whether to omit messages matching search.tag_exclude
- from the count (the default) or not.
-
- <b>--batch</b>
-
- Read queries from a file (stdin by default), one per line,
- and output the number of matching messages (or threads) to
- stdout, one per line. On an empty input line the count of
- all messages (or threads) in the database will be output.
- This option is not compatible with specifying search terms
- on the command line.
-
- <b>--input=<filename></b>
-
- Read input from given file, instead of from stdin. Implies
- --batch.
+ <b>--exclude=(true|false)</b>
+ Specify whether to omit messages matching search.tag_exclude
+ from the count (the default) or not.
+
+ <b>--batch</b>
+ Read queries from a file (stdin by default), one per line,
+ and output the number of matching messages (or threads) to
+ stdout, one per line. On an empty input line the count of all
+ messages (or threads) in the database will be output. This
+ option is not compatible with specifying search terms on the
+ command line.
+
+ <b>--input=<filename></b>
+ Read input from given file, instead of from stdin. Implies
+ <b>--batch</b>.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not‐</a>
<a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
therefore the only critical thing to backup (and much more friendly to
incremental backup than the native database files.)
- <b>--gzip</b>
-
- Compress the output in a format compatible with <b>gzip</b>(1).
+ <b>--gzip</b> Compress the output in a format compatible with <b>gzip</b>(1).
<b>--format=(sup|batch-tag)</b>
-
Notmuch restore supports two plain text dump formats, both with
one message-id per line, followed by a list of tags.
<b>batch-tag</b>
-
The default <b>batch-tag</b> dump format is intended to more
robust against malformed message-ids and tags containing
whitespace or non-<b>ascii</b>(7) characters. Each line has the
form
-
- +<<u>encoded-tag</u>> +<<u>encoded-tag</u>> ... -- id:<<u>quoted-mes-</u>
- <u>sage-id</u>>
+ +<<u>encoded-tag</u>> +<<u>encoded-tag</u>> ... -- id:<<u>quoted-mes‐</u>
+ <u>sage-id</u>>
Tags are hex-encoded by replacing every byte not matching
the regex <b>[A-Za-z0-9@=.,</b>_<b>+-]</b> with <b>%nn</b> where nn is the two
with a double quote, it must be enclosed in double quotes
and double quotes inside the ID must be doubled. The
astute reader will notice this is a special case of the
- batch input format for <a href='../notmuch-tag-1/'>notmuch-tag</a>(1); note that the sin-
+ batch input format for <a href='../notmuch-tag-1/'>notmuch-tag</a>(1); note that the sin‐
gle message-id query is mandatory for <a href='../notmuch-restore-1/'>notmuch-restore</a>(1).
- <b>sup</b>
-
- The <b>sup</b> dump file format is specifically chosen to be
+ <b>sup</b> The <b>sup</b> dump file format is specifically chosen to be
compatible with the format of files produced by sup-dump.
So if you've previously been using sup for mail, then the
- <b>notmuch</b> <b>restore</b> command provides you a way to import all
+ <b>notmuch</b> <b>restore</b> command provides you a way to import all
of your tags (or labels as sup calls them). Each line has
the following form
-
- <<u>message-id</u>> <b>(</b> <<u>tag</u>> ... <b>)</b>
+ <<u>message-id</u>> <b>(</b> <<u>tag</u>> ... <b>)</b>
with zero or more tags are separated by spaces. Note that
- (malformed) message-ids may contain arbitrary non-null
- characters. Note also that tags with spaces will not be
+ (malformed) message-ids may contain arbitrary non-null
+ characters. Note also that tags with spaces will not be
correctly restored with this format.
- With no search terms, a dump of all messages in the database
- will be generated. A "--" argument instructs notmuch that the
+ With no search terms, a dump of all messages in the database
+ will be generated. A "--" argument instructs notmuch that the
remaining arguments are search terms.
- See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax
+ See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax
for <search-terms>.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not-</a>
- <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5), <a href='../notmuch-insert-1/'>not‐</a>
+ <a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
<h2>SYNOPSIS</h2>
<pre>
- $DATABASEDIR/.notmuch/hooks/*
+ $DATABASEDIR/.notmuch/hooks/*
</pre>
<h2>DESCRIPTION</h2>
The currently available hooks are described below.
- <b>pre-new</b>
+ <b>pre-new</b>
+ This hook is invoked by the <b>new</b> command before scanning or
+ importing new messages into the database. If this hook exits
+ with a non-zero status, notmuch will abort further processing
+ of the <b>new</b> command.
- This hook is invoked by the <b>new</b> command before scanning or
- importing new messages into the database. If this hook exits
- with a non-zero status, notmuch will abort further process-
- ing of the <b>new</b> command.
+ Typically this hook is used for fetching or delivering new
+ mail to be imported into the database.
- Typically this hook is used for fetching or delivering new
- mail to be imported into the database.
+ <b>post-new</b>
+ This hook is invoked by the <b>new</b> command after new messages
+ have been imported into the database and initial tags have
+ been applied. The hook will not be run if there have been any
+ errors during the scan or import.
- <b>post-new</b>
-
- This hook is invoked by the <b>new</b> command after new messages
- have been imported into the database and initial tags have
- been applied. The hook will not be run if there have been
- any errors during the scan or import.
-
- Typically this hook is used to perform additional
- query-based tagging on the imported messages.
+ Typically this hook is used to perform additional query-based
+ tagging on the imported messages.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-insert-1/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-insert-1/'>not‐</a>
<a href='../notmuch-insert-1/'>much-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
<pre>
<b>notmuch</b> <b>insert</b> reads a message from standard input and delivers it into
the maildir directory given by configuration option <b>database.path</b>, then
- incorporates the message into the notmuch database. It is an alterna-
+ incorporates the message into the notmuch database. It is an alterna‐
tive to using a separate tool to deliver the message then running <b>not-</b>
<b>much</b> <b>new</b> afterwards.
configuration option, then by operations specified on the command-line:
tags prefixed by '+' are added while those prefixed by '-' are removed.
- If the new message is a duplicate of an existing message in the
- database (it has same Message-ID), it will be added to the maildir
- folder and notmuch database, but the tags will not be changed.
+ If the new message is a duplicate of an existing message in the data‐
+ base (it has same Message-ID), it will be added to the maildir folder
+ and notmuch database, but the tags will not be changed.
- Option arguments must appear before any tag operation arguments. Sup-
+ Option arguments must appear before any tag operation arguments. Sup‐
ported options for <b>insert</b> include
- <b>--folder=<folder></b>
+ <b>--folder=<folder></b>
+ Deliver the message to the specified folder, relative to the
+ top-level directory given by the value of <b>database.path</b>. The
+ default is to deliver to the top-level directory.
- Deliver the message to the specified folder, relative to the
- top-level directory given by the value of <b>database.path</b>. The
- default is to deliver to the top-level directory.
-
- <b>--create-folder</b>
-
- Try to create the folder named by the --folder option, if it
- does not exist. Otherwise the folder must already exist for
- mail delivery to succeed.
+ <b>--create-folder</b>
+ Try to create the folder named by the <b>--folder</b> option, if it
+ does not exist. Otherwise the folder must already exist for
+ mail delivery to succeed.
</pre>
<h2>EXIT STATUS</h2>
<pre>
- This command returns exit status 0 if the message was successfully
- added to the mail directory, even if the message could not be indexed
- and added to the notmuch database. In the latter case, a warning will
+ This command returns exit status 0 if the message was successfully
+ added to the mail directory, even if the message could not be indexed
+ and added to the notmuch database. In the latter case, a warning will
be printed to standard error but the message file will be left on disk.
If the message could not be written to disk then a non-zero exit status
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
<a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1),
<a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
create the initial database. The first run may take a long time if you
have a significant amount of mail (several hundred thousand messages or
more). Subsequently, you should run <b>notmuch</b> <b>new</b> whenever new mail is
- delivered and you wish to incorporate it into the database. These sub-
+ delivered and you wish to incorporate it into the database. These sub‐
sequent runs will be much quicker than the initial run.
- Invoking notmuch with no command argument will run <b>new</b> if <b>notmuch</b> <b>setup</b>
+ Invoking <b>notmuch</b> with no command argument will run <b>new</b> if <b>notmuch</b> <b>setup</b>
has previously been completed, but <b>notmuch</b> <b>new</b> has not previously been
run.
<b>notmuch</b> <b>new</b> updates tags according to maildir flag changes if the
- <b>maildir.synchronize</b>_<b>flags</b> configuration option is enabled. See <a href='../notmuch-config-1/'>not-</a>
+ <b>maildir.synchronize</b>_<b>flags</b> configuration option is enabled. See <a href='../notmuch-config-1/'>not‐</a>
<a href='../notmuch-config-1/'>much-config</a>(1) for details.
The <b>new</b> command supports hooks. See <a href='../notmuch-hooks-5/'>notmuch-hooks</a>(5) for more details
Supported options for <b>new</b> include
- <b>--no-hooks</b>
+ <b>--no-hooks</b>
+ Prevents hooks from being run.
- Prevents hooks from being run.
-
- <b>--quiet</b>
-
- Do not print progress or results.
+ <b>--quiet</b>
+ Do not print progress or results.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
<a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
To make replying to email easier, <b>notmuch</b> <b>reply</b> takes an existing set
of messages and constructs a suitable mail template. The Reply-to:
header (if any, otherwise From:) is used for the To: address. Unless
- --reply-to=sender is specified, values from the To: and Cc: headers are
+ <b>--reply-to=sender</b> is specified, values from the To: and Cc: headers are
copied, but not including any of the current user's email addresses (as
configured in primary_mail or other_email in the .notmuch-config file)
in the recipient list.
The resulting message template is output to stdout.
Supported options for <b>reply</b> include
-
- --format=(<b>default</b>|<b>json</b>|<b>sexp</b>|<b>headers-only</b>)
+ <b>--format=</b>(<b>default</b>|<b>json</b>|<b>sexp</b>|<b>headers-only</b>)
<b>default</b>
-
Includes subject and quoted message body as an RFC 2822
message.
- <b>json</b>
-
- Produces JSON output containing headers for a reply mes-
- sage and the contents of the original message. This out-
+ <b>json</b> Produces JSON output containing headers for a reply mes‐
+ sage and the contents of the original message. This out‐
put can be used by a client to create a reply message
intelligently.
- <b>sexp</b>
-
- Produces S-Expression output containing headers for a
+ <b>sexp</b> Produces S-Expression output containing headers for a
reply message and the contents of the original message.
This output can be used by a client to create a reply
message intelligently.
<b>headers-only</b>
-
Only produces In-Reply-To, References, To, Cc, and Bcc
headers.
- <b>--format-version=N</b>
-
- Use the specified structured output format version. This is
- intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
- omitted, the latest supported version will be used.
+ <b>--format-version=N</b>
+ Use the specified structured output format version. This is
+ intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
+ omitted, the latest supported version will be used.
- --reply-to=(<b>all</b>|<b>sender</b>)
+ <b>--reply-to=</b>(<b>all</b>|<b>sender</b>)
<b>all</b> <b>(default)</b>
-
Replies to all addresses.
- <b>sender</b>
-
- Replies only to the sender. If replying to user's own
+ <b>sender</b> Replies only to the sender. If replying to user's own
message (Reply-to: or From: header is one of the user's
- configured email addresses), try To:, Cc:, and Bcc: head-
+ configured email addresses), try To:, Cc:, and Bcc: head‐
ers in this order, and copy values from the first that
- contains something other than only the user's addresses.
-
- <b>--decrypt</b>
+ contains something other than only the user's addresses.
- Decrypt any MIME encrypted parts found in the selected con-
- tent (ie. "multipart/encrypted" parts). Status of the
- decryption will be reported (currently only supported with
- --format=json and --format=sexp) and on successful decryp-
- tion the multipart/encrypted part will be replaced by the
- decrypted content.
+ <b>--decrypt</b>
+ Decrypt any MIME encrypted parts found in the selected con‐
+ tent (ie. "multipart/encrypted" parts). Status of the decryp‐
+ tion will be reported (currently only supported with --for‐
+ mat=json and --format=sexp) and on successful decryption the
+ multipart/encrypted part will be replaced by the decrypted
+ content.
- Decryption expects a functioning <b>gpg-agent</b>(1) to provide any
- needed credentials. Without one, the decryption will fail.
+ Decryption expects a functioning <b>gpg-agent</b>(1) to provide any
+ needed credentials. Without one, the decryption will fail.
- See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax for
+ See <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7) for details of the supported syntax for
<search-terms>.
- Note: It is most common to use <b>notmuch</b> <b>reply</b> with a search string
- matching a single message, (such as id:<message-id>), but it can be
+ Note: It is most common to use <b>notmuch</b> <b>reply</b> with a search string
+ matching a single message, (such as id:<message-id>), but it can be
useful to reply to several messages at once. For example, when a series
- of patches are sent in a single thread, replying to the entire thread
- allows for the reply to comment on issues found in multiple patches.
- The default format supports replying to multiple messages at once, but
+ of patches are sent in a single thread, replying to the entire thread
+ allows for the reply to comment on issues found in multiple patches.
+ The default format supports replying to multiple messages at once, but
the JSON and S-Expression formats do not.
</pre>
<pre>
This command supports the following special exit status codes
- <b>20</b>
-
- The requested format version is too old.
-
- <b>21</b>
+ <b>20</b> The requested format version is too old.
- The requested format version is too new.
+ <b>21</b> The requested format version is too new.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
- <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-restore-1/'>notmuch-restore</a>(1),
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
Supported options for <b>restore</b> include
- <b>--accumulate</b>
-
- The union of the existing and new tags is applied, instead
- of replacing each message's tags as they are read in from
- the dump file.
-
- <b>--format=(sup|batch-tag|auto)</b>
-
- Notmuch restore supports two plain text dump formats, with
- each line specifying a message-id and a set of tags. For
- details of the actual formats, see <a href='../notmuch-dump-1/'>notmuch-dump</a>(1).
-
- <b>sup</b>
-
- The <b>sup</b> dump file format is specifically chosen to be
- compatible with the format of files produced by
- sup-dump. So if you've previously been using sup for
- mail, then the <b>notmuch</b> <b>restore</b> command provides you a
- way to import all of your tags (or labels as sup
- calls them).
-
- <b>batch-tag</b>
-
- The <b>batch-tag</b> dump format is intended to more robust
- against malformed message-ids and tags containing
- whitespace or non-<b>ascii</b>(7) characters. See <a href='../notmuch-dump-1/'>not-</a>
- <a href='../notmuch-dump-1/'>much-dump</a>(1) for details on this format.
-
- <b>notmuch</b> <b>restore</b> updates the maildir flags according
- to tag changes if the <b>maildir.synchronize</b>_<b>flags</b> con-
- figuration option is enabled. See <a href='../notmuch-config-1/'>notmuch-config</a>(1)
- for details.
-
- <b>auto</b>
-
- This option (the default) tries to guess the format
- from the input. For correctly formed input in either
- supported format, this heuristic, based the fact that
- batch-tag format contains no parentheses, should be
- accurate.
+ <b>--accumulate</b>
+ The union of the existing and new tags is applied, instead of
+ replacing each message's tags as they are read in from the
+ dump file.
+
+ <b>--format=(sup|batch-tag|auto)</b>
+ Notmuch restore supports two plain text dump formats, with
+ each line specifying a message-id and a set of tags. For
+ details of the actual formats, see <a href='../notmuch-dump-1/'>notmuch-dump</a>(1).
+
+ <b>sup</b> The <b>sup</b> dump file format is specifically chosen to be
+ compatible with the format of files produced by
+ sup-dump. So if you've previously been using sup for
+ mail, then the <b>notmuch</b> <b>restore</b> command provides you a
+ way to import all of your tags (or labels as sup calls
+ them).
+
+ <b>batch-tag</b>
+ The <b>batch-tag</b> dump format is intended to more robust
+ against malformed message-ids and tags containing
+ whitespace or non-<b>ascii</b>(7) characters. See <a href='../notmuch-dump-1/'>not‐</a>
+ <a href='../notmuch-dump-1/'>much-dump</a>(1) for details on this format.
+
+ <b>notmuch</b> <b>restore</b> updates the maildir flags according to
+ tag changes if the <b>maildir.synchronize</b>_<b>flags</b> configu‐
+ ration option is enabled. See <a href='../notmuch-config-1/'>notmuch-config</a>(1) for
+ details.
+
+ <b>auto</b> This option (the default) tries to guess the format
+ from the input. For correctly formed input in either
+ supported format, this heuristic, based the fact that
+ batch-tag format contains no parentheses, should be
+ accurate.
</pre>
<h2>GZIPPED INPUT</h2>
<pre>
- <b>notmuch</b> <b>restore</b> will detect if the input is compressed in <b>gzip</b>(1) for-
+ <b>notmuch</b> <b>restore</b> will detect if the input is compressed in <b>gzip</b>(1) for‐
mat and automatically decompress it while reading. This detection does
not depend on file naming and in particular works for standard input.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
<a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
- <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
The output consists of one line per thread, giving a thread ID, the
date of the newest (or oldest, depending on the sort option) matched
- message in the thread, the number of matched messages and total mes-
+ message in the thread, the number of matched messages and total mes‐
sages in the thread, the names of all participants in the thread, and
the subject of the newest (or oldest) message.
Supported options for <b>search</b> include
- <b>--format=(json|sexp|text|text0)</b>
+ <b>--format=(json|sexp|text|text0)</b>
+ Presents the results in either JSON, S-Expressions, newline
+ character separated plain-text (default), or null character
+ separated plain-text (compatible with <b>xargs</b>(1) -0 option
+ where available).
- Presents the results in either JSON, S-Expressions, newline
- character separated plain-text (default), or null character
- separated plain-text (compatible with <b>xargs</b>(1) -0 option
- where available).
+ <b>--format-version=N</b>
+ Use the specified structured output format version. This is
+ intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
+ omitted, the latest supported version will be used.
- <b>--format-version=N</b>
-
- Use the specified structured output format version. This is
- intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
- omitted, the latest supported version will be used.
-
- --output=(summary|threads|messages|files|tags)
+ <b>--output=(summary|threads|messages|files|tags)</b>
<b>summary</b>
-
Output a summary of each thread with any message matching
the search terms. The summary includes the thread ID,
- date, the number of messages in the thread (both the num-
+ date, the number of messages in the thread (both the num‐
ber matched and the total number), the authors of the
thread and the subject.
<b>threads</b>
-
Output the thread IDs of all threads with any message
- matching the search terms, either one per line (--for-
+ matching the search terms, either one per line (--for‐
mat=text), separated by null characters (--format=text0),
as a JSON array (--format=json), or an S-Expression list
(--format=sexp).
<b>messages</b>
-
Output the message IDs of all messages matching the
- search terms, either one per line (--format=text), sepa-
+ search terms, either one per line (--format=text), sepa‐
rated by null characters (--format=text0), as a JSON
- array (--format=json), or as an S-Expression list (--for-
+ array (--format=json), or as an S-Expression list (--for‐
mat=sexp).
- <b>files</b>
-
- Output the filenames of all messages matching the search
+ <b>files</b> Output the filenames of all messages matching the search
terms, either one per line (--format=text), separated by
- null characters (--format=text0), as a JSON array (--for-
+ null characters (--format=text0), as a JSON array (--for‐
mat=json), or as an S-Expression list (--format=sexp).
- Note that each message may have multiple filenames asso-
+ Note that each message may have multiple filenames asso‐
ciated with it. All of them are included in the output
(unless limited with the --duplicate=N option). This may
be particularly confusing for <b>folder:</b> or <b>path:</b> searches
- in a specified directory, as the messages may have dupli-
- cates in other directories that are included in the out-
+ in a specified directory, as the messages may have dupli‐
+ cates in other directories that are included in the out‐
put, although these files alone would not match the
search.
- <b>tags</b>
-
- Output all tags that appear on any message matching the
- search terms, either one per line (--format=text), sepa-
+ <b>tags</b> Output all tags that appear on any message matching the
+ search terms, either one per line (--format=text), sepa‐
rated by null characters (--format=text0), as a JSON
- array (--format=json), or as an S-Expression list (--for-
+ array (--format=json), or as an S-Expression list (--for‐
mat=sexp).
- <b>--sort=(newest-first|oldest-first)</b>
-
- This option can be used to present results in either chrono-
- logical order (<b>oldest-first</b>) or reverse chronological order
- (<b>newest-first</b>).
-
- Note: The thread order will be distinct between these two
- options (beyond being simply reversed). When sorting by <b>old-</b>
- <b>est-first</b> the threads will be sorted by the oldest message
- in each thread, but when sorting by <b>newest-first</b> the threads
- will be sorted by the newest message in each thread.
-
- By default, results will be displayed in reverse chronologi-
- cal order, (that is, the newest results will be displayed
- first).
-
- <b>--offset=[-]N</b>
-
- Skip displaying the first N results. With the leading '-',
- start at the Nth result from the end.
-
- <b>--limit=N</b>
-
- Limit the number of displayed results to N.
-
- <b>--exclude=(true|false|all|flag)</b>
-
- A message is called "excluded" if it matches at least one
- tag in search.tag_exclude that does not appear explicitly in
- the search terms. This option specifies whether to omit
- excluded messages in the search process.
-
- The default value, <b>true</b>, prevents excluded messages from
- matching the search terms.
-
- <b>all</b> additionally prevents excluded messages from appearing
- in displayed results, in effect behaving as though the
- excluded messages do not exist.
-
- <b>false</b> allows excluded messages to match search terms and
- appear in displayed results. Excluded messages are still
- marked in the relevant outputs.
-
- <b>flag</b> only has an effect when --output=summary. The output is
- almost identical to <b>false</b>, but the "match count" is the num-
- ber of matching non-excluded messages in the thread, rather
- than the number of matching messages.
-
- <b>--duplicate=N</b>
-
- Effective with --output=files, output the Nth filename asso-
- ciated with each message matching the query (N is 1-based).
- If N is greater than the number of files associated with the
- message, don't print anything.
-
- Note that this option is orthogonal with the <b>folder:</b> search
- prefix. The prefix matches messages based on filenames. This
- option filters filenames of the matching messages.
+ <b>--sort=(newest-first|oldest-first)</b>
+ This option can be used to present results in either chrono‐
+ logical order (<b>oldest-first</b>) or reverse chronological order
+ (<b>newest-first</b>).
+
+ Note: The thread order will be distinct between these two
+ options (beyond being simply reversed). When sorting by <b>old-</b>
+ <b>est-first</b> the threads will be sorted by the oldest message in
+ each thread, but when sorting by <b>newest-first</b> the threads
+ will be sorted by the newest message in each thread.
+
+ By default, results will be displayed in reverse chronologi‐
+ cal order, (that is, the newest results will be displayed
+ first).
+
+ <b>--offset=[-]N</b>
+ Skip displaying the first N results. With the leading '-',
+ start at the Nth result from the end.
+
+ <b>--limit=N</b>
+ Limit the number of displayed results to N.
+
+ <b>--exclude=(true|false|all|flag)</b>
+ A message is called "excluded" if it matches at least one tag
+ in search.tag_exclude that does not appear explicitly in the
+ search terms. This option specifies whether to omit excluded
+ messages in the search process.
+
+ The default value, <b>true</b>, prevents excluded messages from
+ matching the search terms.
+
+ <b>all</b> additionally prevents excluded messages from appearing in
+ displayed results, in effect behaving as though the excluded
+ messages do not exist.
+
+ <b>false</b> allows excluded messages to match search terms and
+ appear in displayed results. Excluded messages are still
+ marked in the relevant outputs.
+
+ <b>flag</b> only has an effect when <b>--output=summary</b>. The output is
+ almost identical to <b>false</b>, but the "match count" is the num‐
+ ber of matching non-excluded messages in the thread, rather
+ than the number of matching messages.
+
+ <b>--duplicate=N</b>
+ Effective with <b>--output=files</b>, output the Nth filename asso‐
+ ciated with each message matching the query (N is 1-based).
+ If N is greater than the number of files associated with the
+ message, don't print anything.
+
+ Note that this option is orthogonal with the <b>folder:</b> search
+ prefix. The prefix matches messages based on filenames. This
+ option filters filenames of the matching messages.
</pre>
<h2>EXIT STATUS</h2>
<pre>
This command supports the following special exit status codes
- <b>20</b>
-
- The requested format version is too old.
-
- <b>21</b>
+ <b>20</b> The requested format version is too old.
- The requested format version is too new.
+ <b>21</b> The requested format version is too new.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
<a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
- <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
The search terms can consist of free-form text (and quoted phrases)
which will match all messages that contain all of the given
- terms/phrases in the body, the subject, or any of the sender or recipi-
+ terms/phrases in the body, the subject, or any of the sender or recipi‐
ent headers.
As a special case, a search string consisting of exactly a single
For <b>id:</b>, message ID values are the literal contents of the Message-ID:
header of email messages, but without the '<', '>' delimiters.
- The <b>thread:</b> prefix can be used with the thread ID values that are gen-
+ The <b>thread:</b> prefix can be used with the thread ID values that are gen‐
erated internally by notmuch (and do not appear in email messages).
These thread ID values can be seen in the first column of output from
<b>notmuch</b> <b>search</b>
The <b>path:</b> prefix searches for email messages that are in particular
- directories within the mail store. The directory must be specified rel-
+ directories within the mail store. The directory must be specified rel‐
ative to the top-level maildir (and without the leading slash). By
default, <b>path:</b> matches messages in the specified directory only. The
"/**" suffix can be used to match messages in the specified directory
the root of the mail store and, likewise, <b>path:**</b> matches all messages.
The <b>folder:</b> prefix searches for email messages by maildir or MH folder.
- For MH-style folders, this is equivalent to <b>path:</b>. For maildir, this
- includes messages in the "new" and "cur" subdirectories. The exact syn-
- tax for maildir folders depends on your mail configuration. For
- maildir++, <b>folder:""</b> matches the inbox folder (which is the root in
- maildir++), other folder names always start with ".", and nested fold-
- ers are separated by "."s, such as <b>folder:.classes.topology</b>. For "file
+ For MH-style folders, this is equivalent to <b>path:</b>. For maildir, this
+ includes messages in the "new" and "cur" subdirectories. The exact syn‐
+ tax for maildir folders depends on your mail configuration. For
+ maildir++, <b>folder:""</b> matches the inbox folder (which is the root in
+ maildir++), other folder names always start with ".", and nested fold‐
+ ers are separated by "."s, such as <b>folder:.classes.topology</b>. For "file
system" maildir, the inbox is typically <b>folder:INBOX</b> and nested folders
are separated by slashes, such as <b>folder:classes/topology</b>.
- Both <b>path:</b> and <b>folder:</b> will find a message if <u>any</u> copy of that message
+ Both <b>path:</b> and <b>folder:</b> will find a message if <u>any</u> copy of that message
is in the specific directory/folder.
- The <b>date:</b> prefix can be used to restrict the results to only messages
+ The <b>date:</b> prefix can be used to restrict the results to only messages
within a particular time range (based on the Date: header) with a range
syntax of:
<h2>DATE AND TIME SEARCH</h2>
<pre>
- notmuch understands a variety of standard and natural ways of express-
- ing dates and times, both in absolute terms ("2012-10-24") and in rela-
+ notmuch understands a variety of standard and natural ways of express‐
+ ing dates and times, both in absolute terms ("2012-10-24") and in rela‐
tive terms ("yesterday"). Any number of relative terms can be combined
("1 hour 25 minutes") and an absolute date/time can be combined with
relative terms to further adjust it. A non-exhaustive description of
<since> and <until> can describe imprecise times, such as "yesterday".
In this case, <since> is taken as the earliest time it could describe
(the beginning of yesterday) and <until> is taken as the latest time it
- could describe (the end of yesterday). Similarly, date:january..febru-
+ could describe (the end of yesterday). Similarly, date:january..febru‐
ary matches from the beginning of January to the end of February.
Currently, we do not support spaces in range expressions. You can
leave the spaces out altogether. Examples in this man page use spaces
for clarity.
- Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's possi-
+ Open-ended ranges are supported (since Xapian 1.2.1), i.e. it's possi‐
ble to specify date:..<until> or date:<since>.. to not limit the start
or end time, respectively. Pre-1.2.1 Xapian does not report an error on
open ended ranges, but it does not work as expected either.
<h3> Relative date and time</h3>
<pre>
- [N|number] (years|months|weeks|days|hours|hrs|minutes|mins|sec-
+ [N|number] (years|months|weeks|days|hours|hrs|minutes|mins|sec‐
onds|secs) [...]
All refer to past, can be repeated and will be accumulated.
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
<a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
<a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-show-1/'>notmuch-show</a>(1), <a href='../notmuch-tag-1/'>notmuch-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
<search-terms>.
The messages will be grouped and sorted based on the threading (all
- replies to a particular message will appear immediately after that mes-
+ replies to a particular message will appear immediately after that mes‐
sage in date order). The output is not indented by default, but depth
tags are printed so that proper indentation can be performed by a
post-processor (such as the emacs interface to notmuch).
Supported options for <b>show</b> include
- <b>--entire-thread=(true|false)</b>
+ <b>--entire-thread=(true|false)</b>
+ If true, <b>notmuch</b> <b>show</b> outputs all messages in the thread of
+ any message matching the search terms; if false, it outputs
+ only the matching messages. For <b>--format=json</b> and <b>--for-</b>
+ <b>mat=sexp</b> this defaults to true. For other formats, this
+ defaults to false.
- If true, <b>notmuch</b> <b>show</b> outputs all messages in the thread of
- any message matching the search terms; if false, it outputs
- only the matching messages. For --format=json and --for-
- mat=sexp this defaults to true. For other formats, this
- defaults to false.
-
- --format=(text|json|sexp|mbox|raw)
+ <b>--format=(text|json|sexp|mbox|raw)</b>
<b>text</b> <b>(default</b> <b>for</b> <b>messages)</b>
-
The default plain-text format has all text-content MIME
parts decoded. Various components in the output, (<b>mes-</b>
<b>sage</b>, <b>header</b>, <b>body</b>, <b>attachment</b>, and MIME <b>part</b>), will be
('{' or '}'), to either open or close the component. For
a multipart MIME message, these parts will be nested.
- <b>json</b>
-
- The output is formatted with Javascript Object Notation
+ <b>json</b> The output is formatted with Javascript Object Notation
(JSON). This format is more robust than the text format
- for automated processing. The nested structure of multi-
+ for automated processing. The nested structure of multi‐
part MIME messages is reflected in nested JSON output. By
default JSON output includes all messages in a matching
- thread; that is, by default, --format=json sets
- --entire-thread. The caller can disable this behaviour by
- setting --entire-thread=false. The JSON output is always
+ thread; that is, by default, <b>--format=json</b> sets
+ <b>--entire-thread</b>. The caller can disable this behaviour by
+ setting <b>--entire-thread=false</b>. The JSON output is always
encoded as UTF-8 and any message content included in the
output will be charset-converted to UTF-8.
- <b>sexp</b>
-
- The output is formatted as the Lisp s-expression (sexp)
- equivalent of the JSON format above. Objects are format-
+ <b>sexp</b> The output is formatted as the Lisp s-expression (sexp)
+ equivalent of the JSON format above. Objects are format‐
ted as property lists whose keys are keywords (symbols
- preceded by a colon). True is formatted as t and both
- false and null are formatted as nil. As for JSON, the
+ preceded by a colon). True is formatted as <b>t</b> and both
+ false and null are formatted as <b>nil</b>. As for JSON, the
s-expression output is always encoded as UTF-8.
- <b>mbox</b>
-
- All matching messages are output in the traditional, Unix
+ <b>mbox</b> All matching messages are output in the traditional, Unix
mbox format with each message being prefixed by a line
beginning with "From " and a blank line separating each
message. Lines in the message content beginning with
<u>http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html</u>
<b>raw</b> <b>(default</b> <b>if</b> <b>--part</b> <b>is</b> <b>given)</b>
-
Write the raw bytes of the given MIME part of a message
- to standard out. For this format, it is an error to spec-
+ to standard out. For this format, it is an error to spec‐
ify a query that matches more than one message.
If the specified part is a leaf part, this outputs the
- body of the part after performing content transfer decod-
+ body of the part after performing content transfer decod‐
ing (but no charset conversion). This is suitable for
saving attachments, for example.
encoding. Consumers of this may need to implement MIME
decoding and similar functions.
- <b>--format-version=N</b>
-
- Use the specified structured output format version. This is
- intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
- omitted, the latest supported version will be used.
-
- <b>--part=N</b>
-
- Output the single decoded MIME part N of a single message.
- The search terms must match only a single message. Message
- parts are numbered in a depth-first walk of the message MIME
- structure, and are identified in the 'json', 'sexp' or
- 'text' output formats.
-
- Note that even a message with no MIME structure or a single
- body part still has two MIME parts: part 0 is the whole mes-
- sage (headers and body) and part 1 is just the body.
-
- <b>--verify</b>
-
- Compute and report the validity of any MIME cryptographic
- signatures found in the selected content (ie. "multi-
- part/signed" parts). Status of the signature will be
- reported (currently only supported with --format=json and
- --format=sexp), and the multipart/signed part will be
- replaced by the signed data.
-
- <b>--decrypt</b>
-
- Decrypt any MIME encrypted parts found in the selected con-
- tent (ie. "multipart/encrypted" parts). Status of the
- decryption will be reported (currently only supported with
- --format=json and --format=sexp) and on successful decryp-
- tion the multipart/encrypted part will be replaced by the
- decrypted content.
-
- Decryption expects a functioning <b>gpg-agent</b>(1) to provide any
- needed credentials. Without one, the decryption will fail.
-
- Implies --verify.
-
- <b>--exclude=(true|false)</b>
-
- Specify whether to omit threads only matching
- search.tag_exclude from the search results (the default) or
- not. In either case the excluded message will be marked with
- the exclude flag (except when output=mbox when there is
- nowhere to put the flag).
-
- If --entire-thread is specified then complete threads are
- returned regardless (with the excluded flag being set when
- appropriate) but threads that only match in an excluded mes-
- sage are not returned when --exclude=true.
-
- The default is --exclude=true.
-
- <b>--body=(true|false)</b>
-
- If true (the default) <b>notmuch</b> <b>show</b> includes the bodies of
- the messages in the output; if false, bodies are omitted.
- --body=false is only implemented for the json and sexp for-
- mats and it is incompatible with --part > 0.
-
- This is useful if the caller only needs the headers as
- body-less output is much faster and substantially smaller.
-
- <b>--include-html</b>
-
- Include "text/html" parts as part of the output (currently
- only supported with --format=json and --format=sexp). By
- default, unless --part=N is used to select a specific part
- or --include-html is used to include all "text/html" parts,
- no part with content type "text/html" is included in the
- output.
-
- A common use of <b>notmuch</b> <b>show</b> is to display a single thread of email
+ <b>--format-version=N</b>
+ Use the specified structured output format version. This is
+ intended for programs that invoke <a href='../notmuch-1/'>notmuch</a>(1) internally. If
+ omitted, the latest supported version will be used.
+
+ <b>--part=N</b>
+ Output the single decoded MIME part N of a single message.
+ The search terms must match only a single message. Message
+ parts are numbered in a depth-first walk of the message MIME
+ structure, and are identified in the 'json', 'sexp' or 'text'
+ output formats.
+
+ Note that even a message with no MIME structure or a single
+ body part still has two MIME parts: part 0 is the whole mes‐
+ sage (headers and body) and part 1 is just the body.
+
+ <b>--verify</b>
+ Compute and report the validity of any MIME cryptographic
+ signatures found in the selected content (ie. "multi‐
+ part/signed" parts). Status of the signature will be reported
+ (currently only supported with --format=json and --for‐
+ mat=sexp), and the multipart/signed part will be replaced by
+ the signed data.
+
+ <b>--decrypt</b>
+ Decrypt any MIME encrypted parts found in the selected con‐
+ tent (ie. "multipart/encrypted" parts). Status of the decryp‐
+ tion will be reported (currently only supported with --for‐
+ mat=json and --format=sexp) and on successful decryption the
+ multipart/encrypted part will be replaced by the decrypted
+ content.
+
+ Decryption expects a functioning <b>gpg-agent</b>(1) to provide any
+ needed credentials. Without one, the decryption will fail.
+
+ Implies --verify.
+
+ <b>--exclude=(true|false)</b>
+ Specify whether to omit threads only matching
+ search.tag_exclude from the search results (the default) or
+ not. In either case the excluded message will be marked with
+ the exclude flag (except when output=mbox when there is
+ nowhere to put the flag).
+
+ If --entire-thread is specified then complete threads are
+ returned regardless (with the excluded flag being set when
+ appropriate) but threads that only match in an excluded mes‐
+ sage are not returned when <b>--exclude=true.</b>
+
+ The default is <b>--exclude=true.</b>
+
+ <b>--body=(true|false)</b>
+ If true (the default) <b>notmuch</b> <b>show</b> includes the bodies of the
+ messages in the output; if false, bodies are omitted.
+ <b>--body=false</b> is only implemented for the json and sexp for‐
+ mats and it is incompatible with <b>--part</b> <b>></b> <b>0.</b>
+
+ This is useful if the caller only needs the headers as
+ body-less output is much faster and substantially smaller.
+
+ <b>--include-html</b>
+ Include "text/html" parts as part of the output (currently
+ only supported with --format=json and --format=sexp). By
+ default, unless <b>--part=N</b> is used to select a specific part or
+ <b>--include-html</b> is used to include all "text/html" parts, no
+ part with content type "text/html" is included in the output.
+
+ A common use of <b>notmuch</b> <b>show</b> is to display a single thread of email
messages. For this, use a search term of "thread:<thread-id>" as can be
seen in the first column of output from the <b>notmuch</b> <b>search</b> command.
</pre>
<pre>
This command supports the following special exit status codes
- <b>20</b>
-
- The requested format version is too old.
-
- <b>21</b>
+ <b>20</b> The requested format version is too old.
- The requested format version is too new.
+ <b>21</b> The requested format version is too new.
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
- <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
- <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-tag-1/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
+ <a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
+ <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-tag-1/'>not‐</a>
<a href='../notmuch-tag-1/'>much-tag</a>(1)
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>
specify a "--" argument to separate the tags from the search terms.
<b>notmuch</b> <b>tag</b> updates the maildir flags according to tag changes if the
- <b>maildir.synchronize</b>_<b>flags</b> configuration option is enabled. See <a href='../notmuch-config-1/'>not-</a>
+ <b>maildir.synchronize</b>_<b>flags</b> configuration option is enabled. See <a href='../notmuch-config-1/'>not‐</a>
<a href='../notmuch-config-1/'>much-config</a>(1) for details.
Supported options for <b>tag</b> include
- <b>--remove-all</b>
-
- Remove all tags from each message matching the search terms
- before applying the tag changes appearing on the command
- line. This means setting the tags of each message to the
- tags to be added. If there are no tags to be added, the mes-
- sages will have no tags.
-
- <b>--batch</b>
-
- Read batch tagging operations from a file (stdin by
- default). This is more efficient than repeated <b>notmuch</b> <b>tag</b>
- invocations. See <u>TAG</u> <u>FILE</u> <u>FORMAT</u> below for the input format.
- This option is not compatible with specifying tagging on the
- command line.
-
- <b>--input=<filename></b>
-
- Read input from given file, instead of from stdin. Implies
- --batch.
+ <b>--remove-all</b>
+ Remove all tags from each message matching the search terms
+ before applying the tag changes appearing on the command
+ line. This means setting the tags of each message to the
+ tags to be added. If there are no tags to be added, the mes‐
+ sages will have no tags.
+
+ <b>--batch</b>
+ Read batch tagging operations from a file (stdin by default).
+ This is more efficient than repeated <b>notmuch</b> <b>tag</b> invocations.
+ See <u>TAG</u> <u>FILE</u> <u>FORMAT</u> below for the input format. This option
+ is not compatible with specifying tagging on the command
+ line.
+
+ <b>--input=<filename></b>
+ Read input from given file, instead of from stdin. Implies
+ <b>--batch</b>.
</pre>
<h2>TAG FILE FORMAT</h2>
+<<u>tag</u>>|-<<u>tag</u>> [...] [--] <<u>query</u>>
- Each line is interpreted similarly to <b>notmuch</b> <b>tag</b> command line argu-
+ Each line is interpreted similarly to <b>notmuch</b> <b>tag</b> command line argu‐
ments. The delimiter is one or more spaces ' '. Any characters in <<u>tag</u>>
<b>may</b> be hex-encoded with %NN where NN is the hexadecimal value of the
character. To hex-encode a character with a multi-byte UTF-8 encoding,
The <<u>query</u>> should be quoted using Xapian boolean term quoting rules:
if a term contains whitespace or a close paren or starts with a double
quote, it must be enclosed in double quotes (not including any prefix)
- and double quotes inside the term must be doubled (see below for exam-
+ and double quotes inside the term must be doubled (see below for exam‐
ples).
- Leading and trailing space ' ' is ignored. Empty lines and lines begin-
+ Leading and trailing space ' ' is ignored. Empty lines and lines begin‐
ning with '#' are ignored.
</pre>
isolated '*' acts as a wildcard. Also note the two different quotings
of the tag <b>space</b> <b>in</b> <b>tags</b>
- +winner *
- +foo::bar%25 -- (One and Two) or (One and tag:winner)
- +found::it -- tag:foo::bar%
- # ignore this line and the next
+ +winner *
+ +foo::bar%25 -- (One and Two) or (One and tag:winner)
+ +found::it -- tag:foo::bar%
+ # ignore this line and the next
- +space%20in%20tags -- Two
- # add tag '(tags)', among other stunts.
- +crazy{ +(tags) +&are +#possible\ -- tag:"space in tags"
- +match*crazy -- tag:crazy{
- +some_tag -- id:"this is ""nauty)"""
+ +space%20in%20tags -- Two
+ # add tag '(tags)', among other stunts.
+ +crazy{ +(tags) +&are +#possible\ -- tag:"space in tags"
+ +match*crazy -- tag:crazy{
+ +some_tag -- id:"this is ""nauty)"""
</pre>
<h2>SEE ALSO</h2>
<pre>
- <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not-</a>
+ <a href='../notmuch-1/'>notmuch</a>(1), <a href='../notmuch-config-1/'>notmuch-config</a>(1), <a href='../notmuch-count-1/'>notmuch-count</a>(1), <a href='../notmuch-dump-1/'>notmuch-dump</a>(1), <a href='../notmuch-hooks-5/'>not‐</a>
<a href='../notmuch-hooks-5/'>much-hooks</a>(5), <a href='../notmuch-insert-1/'>notmuch-insert</a>(1), <a href='../notmuch-new-1/'>notmuch-new</a>(1), <a href='../notmuch-reply-1/'>notmuch-reply</a>(1),
- <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>not-</a>
+ <a href='../notmuch-restore-1/'>notmuch-restore</a>(1), <a href='../notmuch-search-1/'>notmuch-search</a>(1), <a href='../notmuch-search-terms-7/'>notmuch-search-terms</a>(7), <a href='../notmuch-show-1/'>not‐</a>
<a href='../notmuch-show-1/'>much-show</a>(1),
</pre>
2014, Carl Worth and many others
</pre>
-<h2>0.18</h2>
+<h2>0.18.1</h2>