]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
point to the new subscribe/unsubscribe page
[notmuch-wiki] / emacstips.mdwn
index 083746e5029b8eb9c91dc6e24f1185a13a19c9f1..79df754dc1476639fd9209aface7a72720965412 100644 (file)
@@ -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
@@ -832,3 +867,9 @@ attachment. This is currently work in progress, but you can already
 add the hook to your `~/.emacs.d/notmuch-config.el` file to test
 it. Details available (and feedback welcome) in the [relevant
 discussion](https://notmuchmail.org/pipermail/notmuch/2018/026414.html).
+
+## Applying patches to git repositories
+
+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.