]> git.cworth.org Git - notmuch/blobdiff - doc/notmuch-emacs.rst
doc/emacs: replace emacscmd with el:define-key
[notmuch] / doc / notmuch-emacs.rst
index 49111d2896881e5d207a48427d6444e991fc30ac..92a04d607b2e7fa966e1cf7b3a161cae89b3ee8d 100644 (file)
@@ -253,6 +253,9 @@ variables.
                                            ("subject" . "%s ")
                                            ("tags" . "(%s)")))
 
+   See also :emacsvar:`notmuch-tree-result-format` and
+   :emacsvar:`notmuch-unthreaded-result-format`.
+
 .. emacsvar:: notmuch-search-oldest-first
 
     Display the oldest threads at the top of the buffer
@@ -428,6 +431,28 @@ in :ref:`notmuch-search`.
 ``c ?``
     Show all available copying commands
 
+.. _emacs-show-duplicates:
+
+Dealing with duplicates
+-----------------------
+
+If there are are multiple files with the same :mailheader:`Message-ID`
+(see :any:`duplicate-files`), then :any:`notmuch-show` displays the
+number of duplicates and identifies the current duplicate. In the
+following example duplicate 3 of 5 is displayed.
+
+.. code-block::
+   :emphasize-lines: 1
+
+    M. Mustermann <max@example.com> (Sat, 30 Jul 2022 10:33:10 -0300) (inbox signed)      3/5
+    Subject: Re: Multiple files per message in emacs
+    To: notmuch@notmuchmail.org
+
+.. el:define-key:: %
+   M-x notmuch-show-choose-duplicate
+
+   |docstring::notmuch-show-choose-duplicate|
+
 .. _notmuch-tree:
 
 notmuch-tree
@@ -475,6 +500,41 @@ tags.
 As is the case with :ref:`notmuch-search`, the presentation of results
 can be controlled by the variable ``notmuch-search-oldest-first``.
 
+.. emacsvar:: notmuch-tree-result-format
+
+   |docstring::notmuch-tree-result-format|
+
+   The following example shows how to optionally display recipients instead
+   of authors for sent mail (assuming the user is named Mustermann).
+
+   .. code:: lisp
+
+      (defun -notmuch-authors-or-to (format-string result)
+        (let* ((headers (plist-get result :headers))
+               (to (plist-get headers :To))
+               (author (plist-get headers :From))
+               (face (if (plist-get result :match)
+                         'notmuch-tree-match-author-face
+                       'notmuch-tree-no-match-author-face)))
+          (propertize
+           (format format-string
+                   (if (string-match "Mustermann" author)
+                       (concat "To:" (notmuch-tree-clean-address to))
+                     author))
+           'face face)))
+
+      (setq notmuch-tree-result-format
+            '(("date" . "%12s  ")
+              (-notmuch-authors-or-to . "%-20.20s")
+              ((("tree" . "%s")
+                ("subject" . "%s"))
+               . " %-54s ")
+              ("tags" . "(%s)")))
+
+   See also :emacsvar:`notmuch-search-result-format` and
+   :emacsvar:`notmuch-unthreaded-result-format`.
+
+
 .. _notmuch-unthreaded:
 
 notmuch-unthreaded
@@ -486,6 +546,13 @@ is presented.
 
 Keybindings are the same as :any:`notmuch-tree`.
 
+.. emacsvar:: notmuch-unthreaded-result-format
+
+   |docstring::notmuch-unthreaded-result-format|
+
+   See also :emacsvar:`notmuch-search-result-format` and
+   :emacsvar:`notmuch-tree-result-format`.
+
 Global key bindings
 ===================
 
@@ -498,7 +565,7 @@ following key bindings:
 ``k``
     Tagging operations using :ref:`notmuch-tag-jump`
 
-``C-_`` ``C-/`` ``C-x u``: Undo previous tagging operation using :ref:`notmuch-tag-undo`
+``C-_`` ``C-/`` ``C-x u``: Undo previous tagging operation using :any:`notmuch-tag-undo`
 
 .. _notmuch-jump:
 
@@ -529,7 +596,6 @@ operations specified in ``notmuch-tagging-keys``; i.e. each
 
   |docstring::notmuch-tagging-keys|
 
-.. _notmuch-tag-undo:
 
 notmuch-tag-undo
 ----------------
@@ -537,17 +603,20 @@ notmuch-tag-undo
 Each notmuch buffer supporting tagging operations (i.e buffers in
 :any:`notmuch-show`, :any:`notmuch-search`, :any:`notmuch-tree`, and
 :any:`notmuch-unthreaded` mode) keeps a local stack of tagging
-operations. These can be undone via :emacscmd:`notmuch-tag-undo`. By default
+operations. These can be undone via :any:`notmuch-tag-undo`. By default
 this is bound to the usual Emacs keys for undo.
 
-.. emacscmd:: notmuch-tag-undo
+.. el:define-key::  C-_
+   C-/
+   C-x u
+   M-x notmuch-tag-undo
 
    |docstring::notmuch-tag-undo|
 
 Buffer navigation
 =================
 
-.. emacscmd:: notmuch-cycle-notmuch-buffers
+.. el:define-key:: M-x notmuch-cycle-notmuch-buffers
 
    |docstring::notmuch-cycle-notmuch-buffers|
 
@@ -559,7 +628,7 @@ Configuration
 Importing Mail
 --------------
 
-.. emacscmd:: notmuch-poll
+.. el:define-key:: M-x notmuch-poll
 
    |docstring::notmuch-poll|