efd30a0213db5ec9c60db7c51eb2d4d1db5bd730
[notmuch] / man / man1 / notmuch-show.1
1 .TH NOTMUCH-SHOW 1 2012-06-01 "Notmuch 0.13.2"
2 .SH NAME
3 notmuch-show \- Show messages matching the given search terms.
4 .SH SYNOPSIS
5
6 .B notmuch show
7 .RI "[" options "...] <" search-term ">..."
8
9 .SH DESCRIPTION
10
11 Shows all messages matching the search terms.
12
13 See \fBnotmuch-search-terms\fR(7)
14 for details of the supported syntax for <search-terms>.
15
16 The messages will be grouped and sorted based on the threading (all
17 replies to a particular message will appear immediately after that
18 message in date order). The output is not indented by default, but
19 depth tags are printed so that proper indentation can be performed by
20 a post-processor (such as the emacs interface to notmuch).
21
22 Supported options for
23 .B show
24 include
25 .RS 4
26 .TP 4
27 .B \-\-entire\-thread
28
29 By default only those messages that match the search terms will be
30 displayed. With this option, all messages in the same thread as any
31 matched message will be displayed.
32 .RE
33
34 .RS 4
35 .TP 4
36 .B \-\-format=(text|json|mbox|raw)
37
38 .RS 4
39 .TP 4
40 .BR text " (default for messages)"
41
42 The default plain-text format has all text-content MIME parts
43 decoded. Various components in the output,
44 .RB ( message ", " header ", " body ", " attachment ", and MIME " part ),
45 will be delimited by easily-parsed markers. Each marker consists of a
46 Control-L character (ASCII decimal 12), the name of the marker, and
47 then either an opening or closing brace, ('{' or '}'), to either open
48 or close the component. For a multipart MIME message, these parts will
49 be nested.
50 .RE
51 .RS 4
52 .TP 4
53 .B json
54
55 The output is formatted with Javascript Object Notation (JSON). This
56 format is more robust than the text format for automated
57 processing. The nested structure of multipart MIME messages is
58 reflected in nested JSON output. JSON output always includes all
59 messages in a matching thread; in effect
60 .B \-\-format=json
61 implies
62 .B \-\-entire\-thread
63
64 .RE
65 .RS 4
66 .TP 4
67 .B mbox
68
69 All matching messages are output in the traditional, Unix mbox format
70 with each message being prefixed by a line beginning with "From " and
71 a blank line separating each message. Lines in the message content
72 beginning with "From " (preceded by zero or more '>' characters) have
73 an additional '>' character added. This reversible escaping
74 is termed "mboxrd" format and described in detail here:
75
76 .nf
77 .nh
78 http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
79 .hy
80 .fi
81 .
82 .RE
83 .RS 4
84 .TP 4
85 .BR raw " (default for a single part, see \-\-part)"
86
87 For a message or an attached message part, the original, raw content
88 of the email message is output. Consumers of this format should expect
89 to implement MIME decoding and similar functions.
90
91 For a single part (\-\-part) the raw part content is output after
92 performing any necessary MIME decoding.  Note that messages with a
93 simple body still have two parts: part 0 is the whole message and part
94 1 is the body.
95
96 For a multipart part, the part headers and body (including all child
97 parts) is output.
98
99 The raw format must only be used with search terms matching single
100 message.
101 .RE
102 .RE
103
104 .RS 4
105 .TP 4
106 .B \-\-part=N
107
108 Output the single decoded MIME part N of a single message.  The search
109 terms must match only a single message.  Message parts are numbered in
110 a depth-first walk of the message MIME structure, and are identified
111 in the 'json' or 'text' output formats.
112 .RE
113
114 .RS 4
115 .TP 4
116 .B \-\-verify
117
118 Compute and report the validity of any MIME cryptographic signatures
119 found in the selected content (ie. "multipart/signed" parts). Status
120 of the signature will be reported (currently only supported with
121 --format=json), and the multipart/signed part will be replaced by the
122 signed data.
123 .RE
124
125 .RS 4
126 .TP 4
127 .B \-\-decrypt
128
129 Decrypt any MIME encrypted parts found in the selected content
130 (ie. "multipart/encrypted" parts). Status of the decryption will be
131 reported (currently only supported with --format=json) and the
132 multipart/encrypted part will be replaced by the decrypted
133 content.
134 .RE
135
136 .RS 4
137 .TP 4
138 .BR \-\-exclude=(true|false)
139
140 Specify whether to omit threads only matching search.tag_exclude from
141 the search results (the default) or not. In either case the excluded
142 message will be marked with the exclude flag (except when output=mbox
143 when there is nowhere to put the flag).
144
145 If --entire-thread is specified then complete threads are returned
146 regardless (with the excluded flag being set when appropriate) but
147 threads that only match in an excluded message are not returned when
148 .B --exclude=true.
149
150 The default is
151 .B --exclude=true.
152
153 .RE
154
155 A common use of
156 .B notmuch show
157 is to display a single thread of email messages. For this, use a
158 search term of "thread:<thread-id>" as can be seen in the first
159 column of output from the
160 .B notmuch search
161 command.
162
163 .SH SEE ALSO
164
165 \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1),
166 \fBnotmuch-dump\fR(1), \fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1),
167 \fBnotmuch-reply\fR(1), \fBnotmuch-restore\fR(1),
168 \fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7),
169 \fBnotmuch-tag\fR(1)