X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.1;h=c1aa4e329c43f0e377539b6ed454b95c1555b2ea;hp=aeebdd1dce187276f355e9789ee4af882d83c181;hb=59a9c36316293b161528097a73c72d5f5ed58781;hpb=a696119756fb13ef875d01134a84a25ac846a7bb diff --git a/notmuch.1 b/notmuch.1 index aeebdd1d..c1aa4e32 100644 --- a/notmuch.1 +++ b/notmuch.1 @@ -126,7 +126,7 @@ syntax. See the section below for more details on the supported syntax. The -.BR search " and "show +.BR search ", " show " and " count commands are used to query the email database. .RS 4 .TP 4 @@ -144,6 +144,59 @@ and the subject of the newest (or oldest) message. Supported options for .B search include +.RS 4 +.TP 4 +.BR \-\-format= ( json | text ) + +Presents the results in either JSON or plain-text (default). +.RE + +.RS 4 +.TP 4 +.B \-\-output=(summary|threads|messages|files|tags) + +.RS 4 +.TP 4 +.B summary + +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 number matched and the total number), +the authors of the thread and the subject. +.RE +.RS 4 +.TP 4 +.B threads + +Output the thread IDs of all threads with any message matching the +search terms, either one per line (\-\-format=text) or as a JSON array +(\-\-format=json). +.RE +.RS 4 +.TP 4 +.B messages + +Output the message IDs of all messages matching the search terms, +either one per line (\-\-format=text) or as a JSON array +(\-\-format=json). +.RE +.RS 4 +.TP 4 +.B files + +Output the filenames of all messages matching the search terms, either +one per line (\-\-format=text) or as a JSON array (\-\-format=json). +.RE +.RS 4 +.TP 4 +.B tags + +Output all tags that appear on any message matching the search terms, +either one per line (\-\-format=text) or as a JSON array +(\-\-format=json). +.RE +.RE + .RS 4 .TP 4 .BR \-\-sort= ( newest\-first | oldest\-first ) @@ -194,13 +247,101 @@ matched message will be displayed. .RE .RS 4 -The output format is plain-text, with all text-content MIME parts +.TP 4 +.B \-\-format=(text|json|mbox|raw) + +.RS 4 +.TP 4 +.BR text " (default for messages)" + +The default plain-text format has all text-content MIME parts decoded. Various components in the output, .RB ( message ", " header ", " body ", " attachment ", and MIME " part ), will be delimited by easily-parsed markers. Each marker consists of a Control-L character (ASCII decimal 12), the name of the marker, and then either an opening or closing brace, ('{' or '}'), to either open -or close the component. +or close the component. For a multipart MIME message, these parts will +be nested. +.RE +.RS 4 +.TP 4 +.B json + +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 multipart MIME messages is +reflected in nested JSON output. JSON output always includes all +messages in a matching thread; in effect +.B \-\-format=json +implies +.B \-\-entire\-thread + +.RE +.RS 4 +.TP 4 +.B mbox + +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 "From " (preceded by zero or more '>' characters) have +an additional '>' character added. This reversible escaping +is termed "mboxrd" format and described in detail here: + +.nf +.nh +http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html +.hy +.fi +. +.RE +.RS 4 +.TP 4 +.BR raw " (default for a single part, see \-\-part)" + +For a message, the original, raw content of the email message is +output. Consumers of this format should expect to implement MIME +decoding and similar functions. + +For a single part (\-\-part) the raw part content is output after +performing any necessary MIME decoding. + +The raw format must only be used with search terms matching single +message. +.RE +.RE + +.RS 4 +.TP 4 +.B \-\-part=N + +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' or 'text' output formats. +.RE + +.RS 4 +.TP 4 +.B \-\-verify + +Compute and report the validity of any MIME cryptographic signatures +found in the selected content (ie. "multipart/signed" parts). Status +of the signature will be reported (currently only supported with +--format=json), and the multipart/signed part will be replaced by the +signed data. +.RE + +.RS 4 +.TP 4 +.B \-\-decrypt + +Decrypt any MIME encrypted parts found in the selected content +(ie. "multipart/encrypted" parts). Status of the decryption will be +reported (currently only supported with --format=json) and the +multipart/encrypted part will be replaced by the decrypted +content. +.RE A common use of .B notmuch show @@ -214,6 +355,17 @@ See the .B "SEARCH SYNTAX" section below for details of the supported syntax for . .RE +.RS 4 +.TP 4 +.BR count " ..." + +Count messages matching the search terms. + +The number of matching messages is output to stdout. + +With no search terms, a count of all messages in the database will be +displayed. +.RE .RE The @@ -231,12 +383,12 @@ 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. Vales 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 +in primary_mail or other_email in the .notmuch\-config file) in the recipient list It also builds a suitable new subject, including Re: at the front (if not already present), and adding the message IDs of the messages being -replied to to the References list and setting the In-Reply-To: field +replied to to the References list and setting the In\-Reply\-To: field correctly. Finally, the original contents of the emails are quoted by prefixing @@ -255,8 +407,8 @@ include .BR default Includes subject and quoted message body. .TP -.BR headers-only -Only produces In-Reply-To, References, To, Cc, and Bcc headers. +.BR headers\-only +Only produces In\-Reply\-To, References, To, Cc, and Bcc headers. .RE See the @@ -280,18 +432,18 @@ contents. .RS 4 .TP 4 -.BR tag " +|- [...] [--] ..." +.BR tag " +|\- [...] [\-\-] ..." Add/remove tags for all messages matching the search terms. -Tags prefixed by '+' are added while those prefixed by '-' are +Tags prefixed by '+' are added while those prefixed by '\-' are removed. For each message, tag removal is performed before tag addition. The beginning of is recognized by the first -argument that begins with neither '+' nor '-'. Support for -an initial search term beginning with '+' or '-' is provided -by allowing the user to specify a "--" argument to separate +argument that begins with neither '+' nor '\-'. Support for +an initial search term beginning with '+' or '\-' is provided +by allowing the user to specify a "\-\-" argument to separate the tags from the search terms. See the @@ -328,6 +480,70 @@ So if you've previously been using sup for mail, then the .B "notmuch restore" command provides you a way to import all of your tags (or labels as sup calls them). +.RE + +The +.B part +command can used to output a single part of a multi-part MIME message. + +.RS 4 +.TP 4 +.BR part " \-\-part= ..." + +Output a single MIME part of a message. + +A single decoded MIME part, with no encoding or framing, is output to +stdout. The search terms must match only a single message, otherwise +this command will fail. + +The part number should match the part "id" field output by the +"\-\-format=json" option of "notmuch show". If the message specified by +the search terms does not include a part with the specified "id" there +will be no output. + +See the +.B "SEARCH SYNTAX" +section below for details of the supported syntax for . +.RE + +The +.B config +command can be used to get or set settings int the notmuch +configuration file. + +.RS 4 +.TP 4 +.BR "config get "
. + +The value of the specified configuration item is printed to stdout. If +the item has multiple values, each value is separated by a newline +character. + +Available configuration items include at least + + database.path + + user.name + + user.primary_email + + user.other_email + + new.tags +.RE + +.RS 4 +.TP 4 +.BR "config set "
. " [values ...]" + +The specified configuration item is set to the given value. To +specify a multiple-value item, provide each value as a separate +command-line argument. + +If no values are provided, the specified configuration item will be +removed from the configuration file. +.RE + .SH SEARCH SYNTAX Several notmuch commands accept a common syntax for search terms. @@ -336,6 +552,9 @@ which will match all messages that contain all of the given terms/phrases in the body, the subject, or any of the sender or recipient headers. +As a special case, a search string consisting of exactly a single +asterisk ("*") will match all messages. + In addition to free text, the following prefixes can be used to force terms to match against specific portions of an email, (where indicate user-supplied values): @@ -348,12 +567,14 @@ terms to match against specific portions of an email, (where attachment: - tag: + tag: (or is:) id: thread: + folder: + The .B from: prefix is used to match the name or address of the sender of an email @@ -377,7 +598,7 @@ prefix can be used to search for specific filenames (or extensions) of attachments to email messages. For -.BR tag: , +.BR tag: " and " is: valid tag values include .BR inbox " and " unread by default for new messages added by @@ -387,7 +608,7 @@ as well as any other tag values added manually with For .BR id: , -message ID values are the literal contents of the Message-ID: header +message ID values are the literal contents of the Message\-ID: header of email messages, but without the '<', '>' delimiters. The @@ -397,6 +618,13 @@ 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 search" +The +.B folder: +prefix can be used to search for email message files that are +contained within particular directories within the mail store. Only +the directory components below the top-level mail database path are +available to be searched. + In addition to individual terms, multiple terms can be combined with Boolean operators ( .BR and ", " or ", " not @@ -416,18 +644,21 @@ particular time range, (based on the Date: header) with a syntax of: .. Each timestamp is a number representing the number of seconds since -1970-01-01 00:00:00 UTC. This is not the most convenient means of +1970\-01\-01 00:00:00 UTC. This is not the most convenient means of expressing date ranges, but until notmuch is fixed to accept a more convenient form, one can use the date program to construct timestamps. For example, with the bash shell the folowing syntax would -specify a date range to return messages from 2009-10-01 until the +specify a date range to return messages from 2009\-10\-01 until the current time: - $(date +%s -d 2009-10-01)..$(date +%s) -.SH ENVIRONMENT VARIABLES -.IP NOTMUCH_CONFIG -Specifies the location of the configuration file to override the default of -.IR ~/.notmuch-config . + $(date +%s \-d 2009\-10\-01)..$(date +%s) +.SH ENVIRONMENT +The following environment variables can be used to control the +behavior of notmuch. +.TP +.B NOTMUCH_CONFIG +Specifies the location of the notmuch configuration file. Notmuch will +use ${HOME}/.notmuch\-config if this variable is not set. .SH SEE ALSO The emacs-based interface to notmuch (available as .B notmuch.el