X-Git-Url: https://git.cworth.org/git?p=notmuch-wiki;a=blobdiff_plain;f=emacstips.mdwn;h=b158c6d042498eec9d2bbb39015e016c239e871b;hp=24ed641be39b9b0375a2957b5f7c14ba27349799;hb=c996da49e1351eccfbe655c8461c80fb217ae5be;hpb=d8ec2b443ec10acda34c096650317947e2de65c1 diff --git a/emacstips.mdwn b/emacstips.mdwn index 24ed641..b158c6d 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -218,7 +218,7 @@ displaying the count for the saved-search. For example (setq notmuch-saved-searches '((:name "inbox" :query "tag:inbox" :count-query "tag:inbox and tag:unread" - :sort-order 'oldest-first))) + :sort-order oldest-first))) specifies a single saved search for inbox, but the number displayed by the search will be the number of unread messages in the inbox, and the @@ -300,7 +300,7 @@ available: git clone https://github.com/aperezdc/notmuch-addrlookup-c cd notmuch-addrlookup-c make - + * The vala-based [addrlookup](http://github.com/spaetz/vala-notmuch) The addrlookup binary needs to be compiled. Grab @@ -401,6 +401,9 @@ part. installed, it will shadow the fixed version of easypg included with emacs. +- If you wish `mml-secure-encrypt` to encrypt also for the sender, then + `M-x customize-variable mml2015-encrypt-to-self` might suit your need. + ## Reading and verifying encrypted and signed messages Encrypted and signed mime messages can be read and verified with: @@ -643,3 +646,65 @@ refine, next hunk etc all work. and then this function needs to bound into the keymap with something like (define-key 'notmuch-show-mode-map "D" 'my-notmuch-show-view-as-patch) + +## Interfacing with Patchwork + +[Patchwork](http://jk.ozlabs.org/projects/patchwork/) is a web-based system for +tracking patches sent to a mailing list. While the Notmuch project doesn't use +it, many other open source projects do. Having an easy way to get from a patch +email in your favorite mail client to the web page of the patch in the Patchwork +instance is a cool thing to have. Here's how to abuse the notmuch stash feature +to achieve this. (Don't know stash? See `notmuch-show-stash-mlarchive-link`, +bound to `c l` in `notmuch-show`.) + +The trick needed is turning the email Message-ID into a unique Patchwork ID +assigned by Patchwork. We'll use the `pwclient` command-line tool to achieve +this. You'll first need to get that working and configured for the Patchwork +instance you're using. That part is beyond this tip here; please refer to +Patchwork documentation. + +Check your configuration on the command-line, for example: + + /path/to/pwclient -p -n 5 -f "%{id}" + +Note that the -f format argument may require a reasonably new version of the +client. Once you have the above working, you can `M-x customize-variable RET +notmuch-show-stash-mlarchive-link-alist RET`. + +Add a new entry with "Function returning the URL:" set to: + + (lambda (message-id) + (concat "http://patchwork.example.com/patch/" + (nth 0 + (process-lines "/path/to/pwclient" "search" + "-p" "the-project" + "-m" (concat "<" message-id ">") + "-n" "1" + "-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 +using `c l`. + +Going further, if the patch has been committed, you can get the commit hash with +this: + + (lambda (message-id) + (nth 0 + (process-lines "/path/to/pwclient" "search" + "-p" "the-project" + "-m" (concat "<" message-id ">") + "-n" "1" + "-f" "%{commit_ref}"))) + +And finally, if the project has a web interface to its source repository, you +can turn the commit hash into a URL pointing there, for example: + + (lambda (message-id) + (concat "http://cgit.example.com/the-project/commit/?id=" + (nth 0 + (process-lines "/path/to/pwclient" "search" + "-p" "the-project" + "-m" (concat "<" message-id ">") + "-n" "1" + "-f" "%{commit_ref}"))))