X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=manpages%2Fnotmuch-show-1.mdwn;h=11278cb479c055c146ccbf6493cce649e7188616;hb=219490b75a85ca18d449168575a0c7538e71612e;hp=b00206630b30d6bc732c067e088438173dbf401c;hpb=aeb851d55ecf79d2e8a8c9a1a99fd73ef1a7ac06;p=notmuch-wiki diff --git a/manpages/notmuch-show-1.mdwn b/manpages/notmuch-show-1.mdwn index b002066..11278cb 100644 --- a/manpages/notmuch-show-1.mdwn +++ b/manpages/notmuch-show-1.mdwn @@ -2,12 +2,12 @@

NAME

-       notmuch-show - Show messages matching the given search terms.
+       notmuch-show - show messages matching the given search terms
 

SYNOPSIS

-       notmuch show [options...] <search-term>...
+       notmuch show [option ...] <search-term> ...
 

DESCRIPTION

@@ -18,121 +18,229 @@ <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). + tags are printed so that proper indentation can be performed by a + post-processor (such as the emacs interface to notmuch). Supported options for show include - --entire-thread + --entire-thread=(true|false) + If true, notmuch show 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 --format=sexp this de‐ + faults to true. For other formats, this defaults to false. + + --format=(text|json|sexp|mbox|raw) + + text (default for messages) + The default plain-text format has all text-content MIME + parts decoded. Various components in the output, (mes- + sage, 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. For + a multipart MIME message, these parts will be nested. + + 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 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 --en- + tire-thread. The caller can disable this behaviour by + setting --entire-thread=false. The JSON output is always + encoded as UTF-8 and any message content included in the + output will be charset-converted to UTF-8. + + sexp 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 + s-expression output is always encoded as UTF-8. + + 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: + http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html + + raw (default if --part is given) + Write the raw bytes of the given MIME part of a message + 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‐ + ing (but no charset conversion). This is suitable for + saving attachments, for example. + + For a multipart or message part, the output includes the + part headers as well as the body (including all child + parts). No decoding is performed because multipart and + message parts cannot have non-trivial content transfer + encoding. Consumers of this may need to implement MIME + decoding and similar functions. + + --format-version=N + Use the specified structured output format version. This is in‐ + tended for programs that invoke notmuch(1) internally. If omit‐ + ted, the latest supported version will be used. + + --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', 'sexp' or 'text' output for‐ + mats. + + Note that even a message with no MIME structure or a single body + part still has two MIME parts: part 0 is the whole message + (headers and body) and part 1 is just the body. + + --sort=(newest-first|oldest-first) + This option can be used to present results in either chronologi‐ + cal order (oldest-first) or reverse chronological order (new- + est-first). + + Only threads as a whole are reordered. Ordering of messages + within each thread will not be affected by this flag, since that + order is always determined by the thread's replies. + + By default, results will be displayed in reverse chronological + order, (that is, the newest results will be displayed first). + + --verify + Compute and report the validity of any MIME cryptographic signa‐ + tures found in the selected content (e.g., "multipart/signed" + parts). Status of the signature will be reported (currently only + supported with --format=json and --format=sexp), and the multi‐ + part/signed part will be replaced by the signed data. + + --decrypt=(false|auto|true|stash) + If true, decrypt any MIME encrypted parts found in the selected + content (e.g., "multipart/encrypted" parts). Status of the de‐ + cryption 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 con‐ + tent. + + stash behaves like true, but upon successful decryption it will + also stash the message's session key in the database, and index + the cleartext of the message, enabling automatic decryption in + the future. + + If auto, and a session key is already known for the message, + then it will be decrypted, but notmuch will not try to access + the user's keys. + + Use false to avoid even automatic decryption. + + Non-automatic decryption (stash or true, in the absence of a + stashed session key) expects a functioning gpg-agent(1) to pro‐ + vide any needed credentials. Without one, the decryption will + fail. + + Note: setting either true or stash here implies --verify. + + Here is a table that summarizes each of these policies: + + ┌──────────────┬───────┬──────┬──────┬───────┐ + │ │ false │ auto │ true │ stash │ + ├──────────────┼───────┼──────┼──────┼───────┤ + │Show cleart‐ │ │ X │ X │ X │ + │ext if ses‐ │ │ │ │ │ + │sion key is │ │ │ │ │ + │already known │ │ │ │ │ + ├──────────────┼───────┼──────┼──────┼───────┤ + │Use secret │ │ │ X │ X │ + │keys to show │ │ │ │ │ + │cleartext │ │ │ │ │ + ├──────────────┼───────┼──────┼──────┼───────┤ + │Stash any │ │ │ │ X │ + │newly recov‐ │ │ │ │ │ + │ered session │ │ │ │ │ + │keys, rein‐ │ │ │ │ │ + │dexing mes‐ │ │ │ │ │ + │sage if found │ │ │ │ │ + └──────────────┴───────┴──────┴──────┴───────┘ + + Note: --decrypt=stash requires write access to the database. + Otherwise, notmuch show operates entirely in read-only mode. + + Default: auto + + --exclude=(true|false) + Specify whether to omit threads only matching search.ex‐ + clude_tags from the search results (the default) or not. In ei‐ + ther 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 re‐ + turned regardless (with the excluded flag being set when appro‐ + priate) but threads that only match in an excluded message are + not returned when --exclude=true. + + The default is --exclude=true. + + --body=(true|false) + If true (the default) notmuch show includes the bodies of the + messages in the output; if false, bodies are omitted. + --body=false is only implemented for the text, json and sexp + formats 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. + + --include-html + Include "text/html" parts as part of the output (currently only + supported with --format=text, --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. - By default only those messages that match the search terms will - be displayed. With this option, all messages in the same thread - as any matched message will be displayed. - - --format=(text|json|mbox|raw) - - text (default for messages) - - The default plain-text format has all text-content MIME - parts decoded. Various components in the output, (message, - header, body, attachment, and MIME part), will be delimited - by easily-parsed markers. Each marker consists of a Con- - trol-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. For a mul- - tipart MIME message, these parts will be nested. - - 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 out- - put always includes all messages in a matching thread; in - effect --format=json implies --entire-thread - - 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 addi- - tional '>' character added. This reversible escaping is - termed "mboxrd" format and described in detail here: - - http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html - - raw (default for a single part, see --part) - - For a message or an attached message part, 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. Note that - messages with a simple body still have two parts: part 0 is - the whole message and part 1 is the body. - - For a multipart part, the part headers and body (including - all child parts) is output. - - The raw format must only be used with search terms matching - single message. - - --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 struc- - ture, and are identified in the 'json' or 'text' output for- - mats. - - --verify - - Compute and report the validity of any MIME cryptographic sig- - natures found in the selected content (ie. "multipart/signed" - parts). Status of the signature will be reported (currently on- - ly supported with --format=json), and the multipart/signed part - will be replaced by the signed data. - - --decrypt + A common use of notmuch show 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 notmuch-search(1) command. + - 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 de- - crypted content. Implies --verify. +

CONFIGURATION

+
+       Structured  output (json / sexp) is influenced by the configuration op‐
+       tion show.extra_headers. See notmuch-config(1) for details.
+
- --exclude=(true|false) +

EXIT STATUS

+
+       This command supports the following special exit status codes
 
-               Specify whether to omit threads  only  matching  search.tag_ex-
-               clude  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).
+       20     The requested format version is too old.
 
-               If --entire-thread is specified then complete threads  are  re-
-               turned regardless (with the excluded flag being set when appro-
-               priate) but threads that only match in an excluded message  are
-               not returned when --exclude=true.
+       21     The requested format version is too new.
+
- The default is --exclude=true. +

SEE ALSO

+
+       notmuch(1), notmuch-config(1), notmuch-count(1), notmuch-dump(1),  not‐
+       much-hooks(5),   notmuch-insert(1),  notmuch-new(1),  notmuch-reply(1),
+       notmuch-restore(1),  notmuch-search(1),  notmuch-search-terms(7),  not‐
+       much-tag(1)
+
- A common use of notmuch show 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 notmuch search command. +

AUTHOR

+
+       Carl Worth and many others
 
-

SEE ALSO

+

COPYRIGHT

-       notmuch(1),  notmuch-config(1), notmuch-count(1), notmuch-dump(1), not-
-       much-hooks(5)
-,  notmuch-new(1),  notmuch-reply(1),  notmuch-restore(1),
-       notmuch-search(1), notmuch-search-terms(7), notmuch-tag(1)
+       2009-2022, Carl Worth and many others
 
-

Notmuch 0.13.2

+

0.35