]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
Add link to the notmuch-email-client web browser extension
[notmuch-wiki] / emacstips.mdwn
index 952a62c21d28202d8f39298f74e3e9b0c5ea3ec4..8d04395e7a351382bf2592b99e49cac80d75db77 100644 (file)
@@ -6,18 +6,6 @@ Emacs Interface|notmuch-emacs]] page for basics.
 
 [[!toc levels=2]]
 
-## Issues with Emacs 24 (unsupported since notmuch 0.31 (2020-09-05))
-
-If notmuch-show-mode behaves badly for you in emacs 24.x try adding one of
-
-        (setq gnus-inhibit-images nil)
-
-or
-
-        (require 'gnus-art)
-
-to your .emacs file.
-
 ## Controlling external handlers for attachments
 
 You can choose e.g. which pdf viewer to invoke from notmuch-show mode by
@@ -240,6 +228,11 @@ address. Please see the documentation for the variable
 `notmuch-fcc-dirs` in the customization window for how to arrange
 this.
 
+The `notmuch-fcc-dirs` variable is only taken into account when mails
+are composed using `notmuch-mua-mail`. If you want to use the notmuch
+mail user agent by default, the `mail-user-agent` needs to be
+customized to use the `notmuch-user-agent`.
+
 ## How to customize `notmuch-saved-searches`
 
 When starting notmuch, a list of saved searches and message counts is
@@ -307,7 +300,7 @@ wrong viewer is started or something else goes wrong, there's a good
 chance something needs to be adapted in the mailcap configuration.
 
 For Example: The `copiousoutput` setting in mailcap files needs to be
-removed for some mime-types to prevent immediate removal of tempory
+removed for some mime-types to prevent immediate removal of temporary
 files so the configured viewer can access them.
 
 
@@ -728,8 +721,7 @@ tabs with spaces in subject lines:
 
         (add-hook 'notmuch-show-markup-headers-hook 'notmuch-show-subject-tabs-to-spaces)
 
-And in header lines (this will only work with the yet to be released
-notmuch version 0.15):
+And in header lines:
 
         (defun notmuch-show-header-tabs-to-spaces ()
           "Replace tabs with spaces in header line."
@@ -939,3 +931,73 @@ discussion](https://notmuchmail.org/pipermail/notmuch/2018/026414.html).
 The `notmuch-extract-thread-patches` and
 `notmuch-extract-message-patches` commands from the `elpa-mailscripts`
 package in Debian (and its derivatives) can do this for you.
+
+## Allow content preference based on message context
+
+The preference for which sub-part of a multipart/alternative part is shown is
+globally set. For example, if you prefer showing the html version over the text
+based, you can set:
+
+    (setq notmuch-multipart/alternative-discouraged '("text/plain" "text/html"))
+
+However, sometimes you might want to adapt your preference depending on the
+context. You can override the default settings on a per-message basis by
+providing a function that has access to the message and which returns the
+discouraged type list. For example:
+
+    (defun my/determine-discouraged (msg)
+      (let* ((headers (plist-get msg :headers))
+             (from (or (plist-get headers :From) "")))
+        (cond
+         ((string-match "whatever@mail.address.com" from)
+          '("text/plain"))
+         (t
+          '("text/html" "multipart/related")))))
+
+    (setq notmuch-multipart/alternative-discouraged
+          'my/determine-discouraged)
+
+This would discourage text/html and multipart/related generally, but discourage
+text/plain should the message be sent from whatever@mail.address.com.
+
+## See the recipient address instead of your address when listing sent messages
+
+If you like to see your sent messages in unthreaded view, by default you will
+see your address in the authors column, which is maybe not what you want. The
+following code allows for showing the recipients if your email address (an
+arbitrary address, whatever@mail.address.com in the example) is included in the
+From field.
+
+    (defun my/notmuch-unthreaded-show-recipient-if-sent (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 "whatever@mail.address.com" author)
+                   (concat "↦ " (notmuch-tree-clean-address to))
+                   (notmuch-tree-clean-address to)
+                 author))
+       'face face)))
+
+    (setq notmuch-unthreaded-result-format
+          '(("date" . "%12s  ")
+            (my/notmuch-unthreaded-show-recipient-if-sent . "%-20.20s")
+            ((("subject" . "%s"))
+             . " %-54s ")
+            ("tags" . "(%s)")))
+
+## Issues with Emacs 24 (unsupported since notmuch 0.31 (2020-09-05))
+
+If notmuch-show-mode behaves badly for you in emacs 24.x try adding one of
+
+        (setq gnus-inhibit-images nil)
+
+or
+
+        (require 'gnus-art)
+
+to your .emacs file.