X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=emacstips.mdwn;h=298017c8ea7dd9199374b5854728cc61d6ad2425;hb=3170f66a82f30efc3f2009e03b9e680ee258ca7b;hp=952a62c21d28202d8f39298f74e3e9b0c5ea3ec4;hpb=134b7f3a1b82828456c4a42c8140573f5b8ff892;p=notmuch-wiki diff --git a/emacstips.mdwn b/emacstips.mdwn index 952a62c..298017c 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -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 @@ -728,8 +716,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 +926,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.