X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=emacstips.mdwn;h=5f1ad2c007cd1df09c6193b3a3b279bd2c8be5d7;hb=c9d0de64bbdfb8994fe2dbdcdcb6ac382eb0f064;hp=fa0810470387b9a5a6effcbe269413c69635e5f0;hpb=280418df96c602eaafdd462eeb90d116f52699fe;p=notmuch-wiki diff --git a/emacstips.mdwn b/emacstips.mdwn index fa08104..5f1ad2c 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -103,11 +103,11 @@ mentioned as script arguments. (Note: The script expects that you have If notmuch-show-mode behaves badly for you in emacs 24.x try adding one of - (setq gnus-inhibit-images nil) + (setq gnus-inhibit-images nil) or - (require 'gnus-art) + (require 'gnus-art) to your .emacs file. @@ -147,6 +147,29 @@ Then, add to `.emacs`: (autoload 'notmuch "~/.emacs.d/my-notmuch" "notmuch mail" t) +## Initial cursor position in notmuch 0.15 hello window + +In notmuch version 0.15 emacs client the handling of cursor position in +notmuch hello window has been simplified to a version which suits best +most cases. + +Initially the cursor is positioned at the beginning of buffer. + +Some users liked the "ancient" version where cursor was moved to the +first `Saved searches` button. + +Add the following code to your notmuch emacs configuration file in +case you want this behaviour: + + (add-hook 'notmuch-hello-refresh-hook + (lambda () + (if (and (eq (point) (point-min)) + (search-forward "Saved searches:" nil t)) + (progn + (forward-line) + (widget-forward 1)) + (if (eq (widget-type (widget-at)) 'editable-field) + (beginning-of-line))))) ## Add a key binding to add/remove/toggle a tag @@ -418,7 +441,7 @@ address autocompletion. You can also use the notmuch database as a mail address book itself. To do this you need a command line tool that outputs likely address -candidates based on a search string. There are currently three +candidates based on a search string. There are currently four available: * The python tool `notmuch_address.py` (`git clone @@ -434,10 +457,14 @@ available: cc -o addrlookup addrlookup.c `pkg-config --cflags --libs gobject-2.0` -lnotmuch - * Shell/fgrep/perl combination [nottoomuch-addresses.sh](http://www.iki.fi/too/nottoomuch/nottoomuch-addresses/). + * Shell/fgrep/perl combination [nottoomuch-addresses.sh](https://github.com/domo141/nottoomuch/blob/master/nottoomuch-addresses.rst). This tools maintains it's own address "database" gathered from email files notmuch knows and search from that "database" is done by `fgrep(1)`. + * python/sqlite combination [notmuch-abook](https://github.com/guyzmo/notmuch-abook/) + This tools also maintains an address database in sqlite after harvesting + from notmuch. It also includes a vim plugin. + You can perform tab-completion using any of these programs. Just add the following to your .emacs: @@ -459,6 +486,32 @@ programs above. You can add the sender of a message to Google Contacts by piping the message (`notmuch-show-pipe-message`) to `goobook add`. +### Akonadi + + git clone https://github.com/mmehnert/akonadimailsearch + +Install the development packages for kdepim on your system. +Enter the cloned repository and create a build directory: + + mkdir build + cd build + cmake ..; make; + +You will find the akonadimailsearch binary in the build/src directory. +Create a ~/bin/akonadimailsearch.sh file with the following content and make it executable: +(Adjust the path for the akonadimailsearch binary.) + + #!/bin/sh + akonadimailsearch "$@" 2>/dev/null + +As described above, you can now add the following settings to your ~/.emacs file: + + (require 'notmuch-address) + (setq notmuch-address-command "~/bin/akonadimailsearch.sh") + (notmuch-address-message-insinuate) + + + ## How to sign/encrypt messages with gpg Messages can by signed using gpg by invoking @@ -601,25 +654,25 @@ a way that causes TABs to appear in the middle of the subject and header lines. Add this to your `.emacs` to replace tabs with spaces in subject lines: - (defun notmuch-show-subject-tabs-to-spaces () - "Replace tabs with spaces in subject line." - (goto-char (point-min)) - (when (re-search-forward "^Subject:" nil t) - (while (re-search-forward "\t" (line-end-position) t) - (replace-match " " nil nil)))) + (defun notmuch-show-subject-tabs-to-spaces () + "Replace tabs with spaces in subject line." + (goto-char (point-min)) + (when (re-search-forward "^Subject:" nil t) + (while (re-search-forward "\t" (line-end-position) t) + (replace-match " " nil nil)))) - (add-hook 'notmuch-show-markup-headers-hook 'notmuch-show-subject-tabs-to-spaces) + (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): - (defun notmuch-show-header-tabs-to-spaces () - "Replace tabs with spaces in header line." - (setq header-line-format - (notmuch-show-strip-re - (replace-regexp-in-string "\t" " " (notmuch-show-get-subject))))) + (defun notmuch-show-header-tabs-to-spaces () + "Replace tabs with spaces in header line." + (setq header-line-format + (notmuch-show-strip-re + (replace-regexp-in-string "\t" " " (notmuch-show-get-subject))))) - (add-hook 'notmuch-show-hook 'notmuch-show-header-tabs-to-spaces) + (add-hook 'notmuch-show-hook 'notmuch-show-header-tabs-to-spaces) ## Hiding unread messages in notmuch-show @@ -671,3 +724,20 @@ To have clickable buttons for notmuch messages and threads, add the following to ("\\(?:id\\|mid\\|thread\\):[0-9A-Za-z][0-9A-Za-z.@-]*" 0 notmuch-show 0) If you have notmuch-pick installed, it works fine for this as well. + +## Linking to notmuch messages from org-mode + +Support for linking to notmuch messages is distributed with org-mode, +but as a contrib file, so you might have to work a bit to load it. + +In Debian and derivatives, + + (add-to-list 'load-path "/usr/share/org-mode/lisp") + +Then + + (require 'org-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)