X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacstips.mdwn;h=f20b325208683388132fe4f60ba8e6e52fffef07;hb=fc555c57dce98da6ab3bc92a4831a14c91807b6e;hp=083746e5029b8eb9c91dc6e24f1185a13a19c9f1;hpb=2e54b3e9e9faac1e0a7b3a10596a2ed8dc663bb1;p=notmuch-wiki diff --git a/emacstips.mdwn b/emacstips.mdwn index 083746e..f20b325 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -18,7 +18,7 @@ or to your .emacs file. -## Controlling external handlers for attachements +## Controlling external handlers for attachments You can choose e.g. which pdf viewer to invoke from notmuch-show mode by adding a .mailcap file in your home directory. Here is an example: @@ -94,7 +94,7 @@ above. To get this behaviour on 0.17+ do the following: (define-key notmuch-search-mode-map "S" (lambda (&optional beg end) "mark thread as spam" - (interactive (notmuch-search-interactive-region)) + (interactive (notmuch-interactive-region)) (notmuch-search-tag (list "+spam" "-inbox") beg end))) The analogous functionality in notmuch-tree is currently missing. @@ -156,11 +156,15 @@ reply-to-all. Here's how to swap the reply to sender/all bindings in show mode: (define-key notmuch-show-mode-map "r" 'notmuch-show-reply) (define-key notmuch-show-mode-map "R" 'notmuch-show-reply-sender) -And in search mode: +In search mode: (define-key notmuch-search-mode-map "r" 'notmuch-search-reply-to-thread) (define-key notmuch-search-mode-map "R" 'notmuch-search-reply-to-thread-sender) +And in tree mode: + + (define-key notmuch-tree-mode-map "r" (notmuch-tree-close-message-pane-and #'notmuch-show-reply)) + (define-key notmuch-tree-mode-map "R" (notmuch-tree-close-message-pane-and #'notmuch-show-reply-sender)) ## How to do FCC/BCC... @@ -245,6 +249,21 @@ Sometimes it may be necessary to display the message, or a single MIME part, in an external browser. This can be done by `(notmuch-show-view-part)`, bound to `. v` by default. +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. + +The configuration for this is kept in so called `mailcap` +files. (typically the file is `~/.mailcap` or `/etc/mailcap`) If the +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 +files so the configured viewer can access them. + + ## msmtp, message mode and multiple accounts As an alternative to running a mail server such as sendmail or postfix @@ -508,11 +527,17 @@ Encrypted and signed mime messages can be read and verified with: (setq notmuch-crypto-process-mime t) -Decrypting or verifying inline pgp messages can be done by selecting -an the inline pgp area and and using: +Decrypting inline pgp messages can be done by selecting an the inline pgp area +and using: M-x epa-decrypt-region RET +Verifying of inline pgp messages is not supported directly ([reasons +here](https://dkg.fifthhorseman.net/notes/inline-pgp-harmful/)). You can still +verify a part using + + M-x notmuch-show-pipe-part RET gpg --verify RET + ## Multiple identities using gnus-alias [gnus-alias](http://www.emacswiki.org/emacs/GnusAlias) allows you to @@ -558,8 +583,8 @@ Here is an example configuration. ;; Use "home" identity by default (setq gnus-alias-default-identity "home") ;; Define rules to match work identity - (setq gnus-alias-identity-rules) - '(("work" ("any" "john.doe@\\(example\\.com\\|help\\.example.com\\)" both) "work")) + (setq gnus-alias-identity-rules + '(("work" ("any" "john.doe@\\(example\\.com\\|help\\.example.com\\)" both) "work"))) ;; Determine identity when message-mode loads (add-hook 'message-setup-hook 'gnus-alias-determine-identity) @@ -718,6 +743,13 @@ In Debian and derivatives, (add-to-list 'load-path "/usr/share/org-mode/lisp") +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$"))) + (if m (add-to-list 'load-path (file-name-directory (car m))))))) + Then (require 'org-notmuch) @@ -726,6 +758,9 @@ In general it is nice to have a key for org-links (not just for notmuch). For ex (define-key global-map "\C-cl" '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. + ## Viewing diffs in notmuch The following code allows you to view an inline patch in diff-mode @@ -794,7 +829,7 @@ Add a new entry with "Function returning the URL:" set to: "-f" "%{id}")))) Replacing `http://patchwork.example.com/patch/`, `/path/to/pwclient`, and -`the-project` appropiately. You should now be able to stash the Patchwork URL +`the-project` appropriately. You should now be able to stash the Patchwork URL using `c l`. Going further, if the patch has been committed, you can get the commit hash with