]> git.notmuchmail.org Git - notmuch/blob - doc/notmuch-emacs.rst
test: add another known broken test for uncaught DatabaseModifiedError
[notmuch] / doc / notmuch-emacs.rst
1 .. _notmuch-emacs:
2
3 ==========================
4 Emacs Frontend for Notmuch
5 ==========================
6
7 About this Manual
8 =================
9
10 This manual covers only the Emacs interface to Notmuch. For information
11 on the command line interface, see section “Description” in the Notmuch
12 Manual Pages. To save typing, we will sometimes use *notmuch* in this
13 manual to refer to the Emacs interface to Notmuch. When this distinction
14 is important, we’ll refer to the Emacs interface as
15 *notmuch-emacs*.
16
17 Notmuch-emacs is highly customizable via the Emacs customization
18 framework (or just by setting the appropriate variables). We try to
19 point out relevant variables in this manual, but in order to avoid
20 duplication of information, you can usually find the most detailed
21 description in the variables' docstring.
22
23 notmuch-hello
24 =============
25
26 .. index::
27    single: notmuch-hello
28    single: notmuch
29
30 ``notmuch-hello`` is the main entry point for Notmuch. You can start it
31 with ``M-x notmuch`` or ``M-x notmuch-hello``. The startup screen looks
32 something like the following. There are some hints at the bottom of the
33 screen. There are three main parts to the notmuch-hello screen,
34 discussed below. The **bold** text indicates buttons you can click with
35 a mouse or by positioning the cursor and pressing ``<return>``
36
37 |   Welcome to **notmuch** You have 52 messages.
38 |
39 | Saved searches: **[edit]**
40 |
41 |         52 **inbox**           52 **unread**
42 |
43 | Search: ____________________________________
44 |
45 | All tags: **[show]**
46 |
47 |        Hit \`?' for context-sensitive help in any Notmuch screen.
48 |                     Customize Notmuch or this page.
49
50 You can change the overall appearance of the notmuch-hello screen by
51 customizing the variables
52
53 .. el:defcustom:: notmuch-hello-sections
54
55        |docstring::notmuch-hello-sections|
56
57 .. el:defcustom:: notmuch-hello-thousands-separator
58
59        |docstring::notmuch-hello-thousands-separator|
60
61 .. el:defcustom:: notmuch-show-logo
62
63        |docstring::notmuch-show-logo|
64
65 .. el:defcustom:: notmuch-column-control
66
67     Controls the number of columns for saved searches/tags in notmuch view.
68
69     This variable has three potential types of values:
70
71     .. describe:: t
72
73        Automatically calculate the number of columns possible based
74        on the tags to be shown and the window width.
75
76     .. describe:: integer <n>
77
78        A lower bound on the number of characters that will
79        be used to display each column.
80
81     .. describe:: float <f>
82
83        A fraction of the window width that is the lower bound on the
84        number of characters that should be used for each column.
85
86     So:
87
88     - if you would like two columns of tags, set this to 0.5.
89
90     - if you would like a single column of tags, set this to 1.0.
91
92     - if you would like tags to be 30 characters wide, set this to 30.
93
94     - if you don't want to worry about all of this nonsense, leave
95       this set to `t`.
96
97 .. el:defcustom:: notmuch-show-empty-saved-searches
98
99    |docstring::notmuch-show-empty-saved-searches|
100
101 notmuch-hello key bindings
102 --------------------------
103
104 .. el:define-key:: <tab>
105
106     Move to the next widget (button or text entry field)
107
108 .. el:define-key:: <backtab>
109
110     Move to the previous widget.
111
112 .. el:define-key:: <return>
113
114     Activate the current widget.
115
116 .. el:define-key:: g
117                    =
118
119     Refresh the buffer; mainly update the counts of messages for various
120     saved searches.
121
122 .. el:define-key:: G
123
124     Import mail, See :ref:`importing`
125
126 .. el:define-key:: m
127
128     Compose a message
129
130 .. el:define-key:: s
131
132     Search the notmuch database using :ref:`notmuch-search`
133
134 .. el:define-key:: v
135
136     Print notmuch version
137
138 .. el:define-key:: q
139
140     Quit
141
142 .. _saved-searches:
143
144 Saved Searches
145 --------------
146
147 Since notmuch is entirely search-based, it's often useful to organize
148 mail around common searches.  To facilitate this, the first section of
149 notmuch-hello presents a customizable set of saved searches.  Saved
150 searches can also be accessed from anywhere in notmuch by pressing
151 ``j`` to access :ref:`notmuch-jump`.
152
153 The saved searches default to various common searches such as
154 ``tag:inbox`` to access the inbox and ``tag:unread`` to access all
155 unread mail, but there are several options for customization:
156
157 .. el:defcustom:: notmuch-saved-searches
158
159     The list of saved searches, including names, queries, and
160     additional per-query options.
161
162 .. el:defcustom:: notmuch-saved-search-sort-function
163
164     This variable controls how saved searches should be sorted. A value
165     of ``nil`` displays the saved searches in the order they are stored
166     in ‘notmuch-saved-searches’.
167
168 Search Box
169 ----------
170
171 The search box lets the user enter a Notmuch query. See section
172 “Description” in Notmuch Query Syntax, for more info on Notmuch query
173 syntax. A history of recent searches is also displayed by default. The
174 latter is controlled by the variable `notmuch-hello-recent-searches-max`.
175
176 .. el:defcustom:: notmuch-hello-recent-searches-max
177
178               |docstring::notmuch-hello-recent-searches-max|
179
180 Known Tags
181 ----------
182
183 One special kind of saved search provided by default is for each
184 individual tag defined in the database. This can be controlled via the
185 following variables.
186
187 .. el:defcustom:: notmuch-hello-tag-list-make-query
188
189     Control how to construct a search (“virtual folder”) from a given
190     tag.
191
192 .. el:defcustom:: notmuch-hello-hide-tags
193
194     Which tags not to display at all.
195
196 .. _notmuch-search:
197
198 notmuch-search
199 ==============
200
201 ``notmuch-search-mode`` is used to display the results from executing
202 a query via ``notmuch-search``. The syntax for these queries is the
203 the same as :ref:`saved-searches`. For details of this syntax see
204 info:notmuch-search-terms
205
206 By default the output approximates that of the command line See section
207 “Description” in notmuch search command.
208
209 The main purpose of the ``notmuch-search-mode`` buffer is to act as a
210 menu of results that the user can explore further by pressing
211 ``<return>`` on the appropriate line.
212
213 .. el:define-key:: n
214    C-n
215    <down>
216
217     Move to next line
218
219 .. el:define-key::
220    p
221    C-p
222    <up>
223
224     Move to previous line
225
226 .. el:define-key:: <return>
227
228     Open thread on current line in :ref:`notmuch-show` mode
229
230 .. el:define-key:: g
231    =
232
233     Refresh the buffer
234
235 .. el:define-key:: i
236
237     Toggle whether to show messages with excluded tags in search results.
238
239 .. el:define-key:: ?
240
241     Display full set of key bindings
242
243 The presentation of results can be controlled by the following
244 variables.
245
246 .. el:defcustom:: notmuch-search-result-format
247
248    |docstring::notmuch-search-result-format|
249
250    If the car of an element in notmuch-search-result-format is a
251    function, insert the result of calling the function into the buffer.
252
253    This allows a user to generate custom fields in the output of a
254    search result. For example, with the following settings, the first
255    few characters on each line of the search result are used to show
256    information about some significant tags associated with the thread.
257
258    .. code:: lisp
259
260       (defun -notmuch-result-flags (format-string result)
261         (let ((tags-to-letters '(("flagged" . "!")
262                                  ("unread" . "u")
263                                  ("mine" . "m")
264                                  ("sent" . "s")
265                                  ("replied" . "r")))
266               (tags (plist-get result :tags)))
267           (format format-string
268                   (mapconcat (lambda (t2l)
269                                (if (member (car t2l) tags)
270                                    (cdr t2l)
271                                  " "))
272                              tags-to-letters ""))))
273
274       (setq notmuch-search-result-format '((-notmuch-result-flags . "%s ")
275                                            ("date" . "%12s ")
276                                            ("count" . "%9s ")
277                                            ("authors" . "%-30s ")
278                                            ("subject" . "%s ")
279                                            ("tags" . "(%s)")))
280
281    See also :el:defcustom:`notmuch-tree-result-format` and
282    :el:defcustom:`notmuch-unthreaded-result-format`.
283
284 .. el:defcustom:: notmuch-search-oldest-first
285
286     Display the oldest threads at the top of the buffer
287
288 It is also possible to customize how the name of buffers containing
289 search results is formatted using the following variables:
290
291 .. el:defcustom:: notmuch-search-buffer-name-format
292
293        |docstring::notmuch-search-buffer-name-format|
294
295 .. el:defcustom:: notmuch-saved-search-buffer-name-format
296
297        |docstring::notmuch-saved-search-buffer-name-format|
298
299
300 .. _notmuch-show:
301
302 notmuch-show
303 ============
304
305 ``notmuch-show-mode`` is used to display a single thread of email from
306 your email archives.
307
308 By default, various components of email messages, (citations,
309 signatures, already-read messages), are hidden. You can make
310 these parts visible by clicking with the mouse button or by
311 pressing RET after positioning the cursor on a hidden part.
312
313 .. el:define-key:: <space>
314
315     Scroll the current message (if necessary),
316     advance to the next message, or advance to the next thread (if
317     already on the last message of a thread).
318
319 .. el:define-key:: c
320
321     :ref:`show-copy`
322
323 .. el:define-key:: +
324                    -
325
326     Add or remove arbitrary tags from the current message.
327
328 .. el:define-key:: !
329
330     |docstring::notmuch-show-toggle-elide-non-matching|
331
332 .. el:define-key:: ?
333
334     Display full set of key bindings
335
336 .. _show-navigation:
337
338 Navigation
339 ----------
340
341 The following motion/navigation bindings are also available in
342 :ref:`notmuch-tree` and :ref:`notmuch-unthreaded`.
343
344 .. el:define-key:: N
345
346     Move to next message
347
348 .. el:define-key:: P
349
350     Move to previous message (or start of current message)
351
352 .. el:define-key:: n
353
354     Move to next matching message
355
356 .. el:define-key:: p
357
358     Move to previous matching message
359
360 Actions
361 -------
362
363 The following actions on messages are also available in
364 :ref:`notmuch-tree` and :ref:`notmuch-unthreaded`.
365
366 .. el:define-key:: b
367                    M-x notmuch-show-resend-message
368
369    Resend (*bounce*) message.
370
371 .. el:define-key:: e
372
373    Resume *editing* a message in :ref:`notmuch-message`. This is
374    particularly useful for :ref:`notmuch-emacs-drafts`, but can be
375    used for other messages as well.
376
377 .. el:define-key:: f
378                    M-x notmuch-show-forward-message
379
380    Forward (as a MIME attachment) message
381
382 .. el:define-key:: r
383                    M-x notmuch-show-reply-to-sender
384
385    Reply to sender (only) using :ref:`notmuch-message`
386
387 .. el:define-key:: w
388                    M-x notmuch-show-save-attachments
389
390    |docstring::notmuch-show-save-attachments|
391
392 .. el:define-key:: R
393                    M-x notmuch-show-reply
394
395    |docstring::notmuch-show-reply|
396
397 Configuration
398 -------------
399
400 Display of messages can be controlled by the following variables; see also :ref:`show-large`.
401
402 .. el:defcustom:: notmuch-message-headers
403
404        |docstring::notmuch-message-headers|
405
406 .. el:defcustom:: notmuch-message-headers-visible
407
408        |docstring::notmuch-message-headers-visible|
409
410 .. el:defcustom:: notmuch-show-header-line
411
412        |docstring::notmuch-show-header-line|
413
414 .. el:defcustom:: notmuch-multipart/alternative-discouraged
415
416    Which mime types to hide by default for multipart messages.
417
418    Can either be a list of mime types (as strings) or a function
419    mapping a plist representing the current message to such a list.
420    The following example function would discourage `text/html` and
421    `multipart/related` generally, but discourage `text/plain` should
422    the message be sent from `whatever@example.com`.
423
424    .. code:: lisp
425
426       (defun my--determine-discouraged (msg)
427         (let* ((headers (plist-get msg :headers))
428                (from (or (plist-get headers :From) "")))
429           (cond
430            ((string-match "whatever@example.com" from)
431             (list "text/plain"))
432            (t
433             (list "text/html" "multipart/related")))))
434
435 .. _show-large:
436
437 Dealing with large messages and threads
438 ---------------------------------------
439
440 If you are finding :ref:`notmuch-show` is annoyingly slow displaying
441 large messages, you can customize
442 :el:defcustom:`notmuch-show-max-text-part-size`.  If you want to speed up the
443 display of large threads (with or without large messages), there are
444 several options.  First, you can display the same query in one of the
445 other modes. :ref:`notmuch-unthreaded` is the most robust for
446 extremely large queries, but :ref:`notmuch-tree` is also be faster
447 than :ref:`notmuch-show` in general, since it only renders a single
448 message a time. If you prefer to stay with the rendered thread
449 ("conversation") view of :ref:`notmuch-show`, you can customize the
450 variables :el:defcustom:`notmuch-show-depth-limit`,
451 :el:defcustom:`notmuch-show-height-limit` and
452 :el:defcustom:`notmuch-show-max-text-part-size` to limit the amount of
453 rendering done initially. Note that these limits are implicitly
454 *OR*-ed together, and combinations might have surprising effects.
455
456 .. el:defcustom:: notmuch-show-depth-limit
457
458        |docstring::notmuch-show-depth-limit|
459
460 .. el:defcustom:: notmuch-show-height-limit
461
462        |docstring::notmuch-show-height-limit|
463
464 .. el:defcustom:: notmuch-show-max-text-part-size
465
466        |docstring::notmuch-show-max-text-part-size|
467
468 .. _show-copy:
469
470 Copy to kill-ring
471 -----------------
472
473 You can use the usually Emacs ways of copying text to the kill-ring,
474 but notmuch also provides some shortcuts. These keys are available in
475 :ref:`notmuch-show`, and :ref:`notmuch-tree`. A subset are available
476 in :ref:`notmuch-search`.
477
478 .. el:define-key:: c F
479    M-x notmuch-show-stash-filename
480
481    |docstring::notmuch-show-stash-filename|
482
483 .. el:define-key:: c G
484    M-x notmuch-show-stash-git-send-email
485
486    |docstring::notmuch-show-stash-git-send-email|
487
488 .. el:define-key:: c I
489    M-x notmuch-show-stash-message-id-stripped
490
491    |docstring::notmuch-show-stash-message-id-stripped|
492
493 .. el:define-key:: c L
494    M-x notmuch-show-stash-mlarchive-link-and-go
495
496    |docstring::notmuch-show-stash-mlarchive-link-and-go|
497
498 .. el:define-key:: c T
499    M-x notmuch-show-stash-tags
500
501    |docstring::notmuch-show-stash-tags|
502
503 .. el:define-key:: c c
504    M-x notmuch-show-stash-cc
505
506    |docstring::notmuch-show-stash-cc|
507
508 .. el:define-key:: c d
509    M-x notmuch-show-stash-date
510
511    |docstring::notmuch-show-stash-date|
512
513 .. el:define-key:: c f
514    M-x notmuch-show-stash-from
515
516    |docstring::notmuch-show-stash-from|
517
518 .. el:define-key:: c i
519    M-x notmuch-show-stash-message-id
520
521    |docstring::notmuch-show-stash-message-id|
522
523 .. el:define-key:: c l
524    M-x notmuch-show-stash-mlarchive-link
525
526    |docstring::notmuch-show-stash-mlarchive-link|
527
528 .. el:define-key:: c s
529    M-x notmuch-show-stash-subject
530
531    |docstring::notmuch-show-stash-subject|
532
533 .. el:define-key:: c t
534    M-x notmuch-show-stash-to
535
536    |docstring::notmuch-show-stash-to|
537
538 .. el:define-key:: c ?
539    M-x notmuch-subkeymap-help
540
541    Show all available copying commands
542
543 .. _emacs-show-duplicates:
544
545 Dealing with duplicates
546 -----------------------
547
548 If there are multiple files with the same :mailheader:`Message-ID`
549 (see :any:`duplicate-files`), then :any:`notmuch-show` displays the
550 number of duplicates and identifies the current duplicate. In the
551 following example duplicate 3 of 5 is displayed.
552
553 .. code-block::
554    :emphasize-lines: 1
555
556     M. Mustermann <max@example.com> (Sat, 30 Jul 2022 10:33:10 -0300) (inbox signed)      3/5
557     Subject: Re: Multiple files per message in emacs
558     To: notmuch@notmuchmail.org
559
560 .. el:define-key:: %
561    M-x notmuch-show-choose-duplicate
562
563    |docstring::notmuch-show-choose-duplicate|
564
565 .. _notmuch-tree:
566
567 notmuch-tree
568 ============
569
570 ``notmuch-tree-mode`` displays the results of a "notmuch tree" of your
571 email archives. Each line in the buffer represents a single
572 message giving the relative date, the author, subject, and any
573 tags. For common navigation commands see :ref:`show-navigation`.
574
575 .. el:define-key:: c
576
577     :ref:`show-copy`
578
579 .. el:define-key:: <return>
580
581    Displays that message.
582
583 .. el:define-key:: o
584    M-x notmuch-tree-toggle-order
585
586    |docstring::notmuch-tree-toggle-order|
587
588 .. el:define-key:: l
589    M-x notmuch-tree-filter
590
591    Filter or LIMIT the current search results based on an additional query string
592
593 .. el:define-key:: t
594    M-x notmuch-tree-filter-by-tag
595
596    Filter the current search results based on an additional tag
597
598 .. el:define-key:: i
599
600     Toggle whether to show messages with excluded tags in search results.
601
602 .. el:define-key:: g
603    =
604
605     Refresh the buffer
606
607 .. el:define-key:: ?
608
609     Display full set of key bindings
610
611 As is the case with :ref:`notmuch-search`, the presentation of results
612 can be controlled by the variable ``notmuch-search-oldest-first``.
613
614 .. el:defcustom:: notmuch-tree-result-format
615
616    |docstring::notmuch-tree-result-format|
617
618    The following example shows how to optionally display recipients instead
619    of authors for sent mail (assuming the user is named Mustermann).
620
621    .. code:: lisp
622
623       (defun -notmuch-authors-or-to (format-string result)
624         (let* ((headers (plist-get result :headers))
625                (to (plist-get headers :To))
626                (author (plist-get headers :From))
627                (face (if (plist-get result :match)
628                          'notmuch-tree-match-author-face
629                        'notmuch-tree-no-match-author-face)))
630           (propertize
631            (format format-string
632                    (if (string-match "Mustermann" author)
633                        (concat "To:" (notmuch-tree-clean-address to))
634                      author))
635            'face face)))
636
637       (setq notmuch-tree-result-format
638             '(("date" . "%12s  ")
639               (-notmuch-authors-or-to . "%-20.20s")
640               ((("tree" . "%s")
641                 ("subject" . "%s"))
642                . " %-54s ")
643               ("tags" . "(%s)")))
644
645    See also :el:defcustom:`notmuch-search-result-format` and
646    :el:defcustom:`notmuch-unthreaded-result-format`.
647
648 .. _notmuch-tree-outline:
649
650 notmuch-tree-outline
651 --------------------
652
653 When this mode is set, each thread and subthread in the results
654 list is treated as a foldable section, with its first message as
655 its header.
656
657 The mode just makes available in the tree buffer all the
658 keybindings in info:emacs#Outline_Mode, and binds the following
659 additional keys:
660
661 .. el:define-key:: <tab>
662
663    Cycle visibility state of the current message's tree.
664
665 .. el:define-key:: <M-tab>
666
667    Cycle visibility state of all trees in the buffer.
668
669 The behaviour of this minor mode is affected by the following
670 customizable variables:
671
672 .. el:defcustom:: notmuch-tree-outline-enabled
673
674    |docstring::notmuch-tree-outline-enabled|
675
676 .. el:defcustom:: notmuch-tree-outline-visibility
677
678    |docstring::notmuch-tree-outline-visibility|
679
680 .. el:defcustom:: notmuch-tree-outline-auto-close
681
682    |docstring::notmuch-tree-outline-auto-close|
683
684 .. el:defcustom:: notmuch-tree-outline-open-on-next
685
686    |docstring::notmuch-tree-outline-open-on-next|
687
688 .. _notmuch-unthreaded:
689
690 notmuch-unthreaded
691 ------------------
692
693 ``notmuch-unthreaded-mode`` is similar to :any:`notmuch-tree` in that
694 each line corresponds to a single message, but no thread information
695 is presented.
696
697 Keybindings are the same as :any:`notmuch-tree`.
698
699 .. el:defcustom:: notmuch-unthreaded-result-format
700
701    |docstring::notmuch-unthreaded-result-format|
702
703    See also :el:defcustom:`notmuch-search-result-format` and
704    :el:defcustom:`notmuch-tree-result-format`.
705
706 .. _notmuch-message:
707
708 notmuch-message
709 ===============
710
711 Notmuch uses a slighly customized version of the standard emacs email
712 composition mode info:message.
713
714 .. _notmuch-emacs-drafts:
715
716 Drafts
717 ------
718
719 .. el:define-key:: C-x C-p
720                    M-x notmuch-draft-postpone
721
722    Postpone (save and bury) a draft.
723
724 .. el:define-key:: C-x C-s
725                    M-x notmuch-draft-save
726
727    Save a draft and continue editing.
728
729 .. _notmuch-emacs-replies:
730
731 .. _notmuch-emacs-fcc:
732
733 Fcc
734 ---
735
736 .. el:defcustom:: notmuch-fcc-dirs
737
738    |docstring::notmuch-fcc-dirs|
739
740 .. el:defcustom:: notmuch-maildir-use-notmuch-insert
741
742    |docstring::notmuch-maildir-use-notmuch-insert|
743
744 Replies
745 -------
746
747 .. el:defcustom:: message-dont-reply-to-names
748
749        When composing mail replies, Emacs's message mode uses the
750        variable :code:`message-dont-reply-to-names` to exclude
751        recipients matching a given collection of regular expressions
752        or satisfying an arbitrary predicate.  Notmuch's MUA inherits
753        this standard mechanism and will honour your customization of
754        this variable.
755
756 Global key bindings
757 ===================
758
759 Several features are accessible from most places in notmuch through the
760 following key bindings:
761
762 .. el:define-key:: j
763
764     Jump to saved searches using :ref:`notmuch-jump`.
765
766 .. el:define-key:: k
767
768     Tagging operations using :ref:`notmuch-tag-jump`
769
770 .. el:define-key:: C-_
771    C-/
772    C-x u
773
774    Undo previous tagging operation using :any:`notmuch-tag-undo`
775
776 .. _notmuch-jump:
777
778 notmuch-jump
779 ------------
780
781 Saved searches configured through :ref:`saved-searches` can
782 include a "shortcut key" that's accessible through notmuch-jump.
783 Pressing ``j`` anywhere in notmuch followed by the configured shortcut
784 key of a saved search will immediately jump to that saved search.  For
785 example, in the default configuration ``j i`` jumps immediately to the
786 inbox search.  When you press ``j``, notmuch-jump shows the saved
787 searches and their shortcut keys in the mini-buffer.
788
789 .. _notmuch-tag-jump:
790
791 notmuch-tag-jump
792 ----------------
793
794 Tagging operations configured through ``notmuch-tagging-keys`` can
795 be accessed via :kbd:`k` in :ref:`notmuch-show`,
796 :ref:`notmuch-search` and :ref:`notmuch-tree`.  With a
797 prefix (:kbd:`C-u k`), notmuch displays a menu of the reverses of the
798 operations specified in ``notmuch-tagging-keys``; i.e. each
799 ``+tag`` is replaced by ``-tag`` and vice versa.
800
801 .. el:defcustom:: notmuch-tagging-keys
802
803   |docstring::notmuch-tagging-keys|
804
805
806 notmuch-tag-undo
807 ----------------
808
809 Each notmuch buffer supporting tagging operations (i.e. buffers in
810 :any:`notmuch-show`, :any:`notmuch-search`, :any:`notmuch-tree`, and
811 :any:`notmuch-unthreaded` mode) keeps a local stack of tagging
812 operations. These can be undone via :any:`notmuch-tag-undo`. By default
813 this is bound to the usual Emacs keys for undo.
814
815 .. el:define-key::  C-_
816    C-/
817    C-x u
818    M-x notmuch-tag-undo
819
820    |docstring::notmuch-tag-undo|
821
822 Buffer navigation
823 =================
824
825 .. el:define-key:: M-x notmuch-cycle-notmuch-buffers
826
827    |docstring::notmuch-cycle-notmuch-buffers|
828
829 Configuration
830 =============
831
832 .. _importing:
833
834 Importing Mail
835 --------------
836
837 .. el:define-key:: M-x notmuch-poll
838
839    |docstring::notmuch-poll|
840
841 .. el:defcustom:: notmuch-poll-script
842
843    |docstring::notmuch-poll-script|
844
845 Sending Mail
846 ------------
847
848 .. el:defcustom:: mail-user-agent
849
850        Emacs consults the variable :code:`mail-user-agent` to choose a mail
851        sending package for commands like :code:`report-emacs-bug` and
852        :code:`compose-mail`.  To use ``notmuch`` for this, customize this
853        variable to the symbol :code:`notmuch-user-agent`.
854
855 Init File
856 ---------
857
858 When Notmuch is loaded, it will read the ``notmuch-init-file``
859 (``~/.emacs.d/notmuch-config`` by default) file. This is normal Emacs Lisp
860 file and can be used to avoid cluttering your ``~/.emacs`` with Notmuch
861 stuff. If the file with ``.elc``, ``.elc.gz``, ``.el`` or ``.el.gz``
862 suffix exist it will be read instead (just one of these, chosen in this
863 order). Most often users create ``~/.emacs.d/notmuch-config.el`` and just
864 work with it. If Emacs was invoked with the ``-q`` or ``--no-init-file``
865 options, ``notmuch-init-file`` is not read.