X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=emacstips.mdwn;h=58641771798bd3f61bb34bd8b6bf7613f4f8fb77;hb=dfa734e8f566207b0cb73ec07511eb0ac0d5201e;hp=823cbd48753a5b3308689f8e29553468de1dce9b;hpb=50f17e824373831a86eb15735c72382512b0ee39;p=notmuch-wiki diff --git a/emacstips.mdwn b/emacstips.mdwn index 823cbd4..5864177 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -299,7 +299,7 @@ an external browser. This can be done by `(notmuch-show-view-part)`, bound to This command will try to view the message part the point is on with an external viewer. The mime-type of the part will determine what viewer will be used. Typically a 'text/html' part will be send to your -browser. +browser. The configuration for this is kept in so called `mailcap` files. (typically the file is `~/.mailcap` or `/etc/mailcap`) If the @@ -664,12 +664,12 @@ See also the **Usage:** section in `gnus-alias.el`. ## Multiple identities (and more) with message-templ Another option for multiple identities is -[message-templ](http://pivot.cs.unb.ca/git?p=message-templ.git;a=summary) +[message-templ](http://git.tethera.net/message-templ.git) (also a available in marmalade). This provides roughly the same facilities as wanderlust's template facility. See -[example.emacs.el](http://pivot.cs.unb.ca/git?p=message-templ.git;a=blob;f=example.emacs.el;hb=HEAD) +[example.emacs.el](https://git.tethera.net/message-templ.git/tree/example.emacs.el) for some simple examples of usage. ## Resending (or bouncing) messages @@ -803,19 +803,29 @@ In NixOS, using `emacsWithPackages (epkgs: [ epkgs.orgPackages.org-plus-contrib (loop for p in load-path do (if (file-accessible-directory-p p) - (let ((m (directory-files-recursively p "^org-notmuch.el$"))) + (let ((m (directory-files-recursively p "^ol-notmuch.el$"))) (if m (add-to-list 'load-path (file-name-directory (car m))))))) Then - (require 'org-notmuch) + (require 'ol-notmuch) In general it is nice to have a key for org-links (not just for notmuch). For example - (define-key global-map "\C-cl" 'org-store-link) + (define-key global-map "\C-c l" 'org-store-link) + +If you're using `use-package` the package can be loaded using the following: + +```emacs-lisp +(use-package ol-notmuch + :ensure t + :bind + ("C-c l" . org-store-link)) +``` Note the package was renamed from `org-notmuch` to `ol-notmuch` in recent -versions of org-mode, and you might want to `(require 'ol-notmuch)` instead. +versions of org-mode. If you're using an old version of notmuch you might want +to `(require 'org-notmuch)` instead. ## Viewing diffs in notmuch @@ -929,3 +939,31 @@ 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.