]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
Added nottoomuch-addresses.sh to address completion tools
[notmuch-wiki] / emacstips.mdwn
index 5cf885d64225601c7e9c590545de3511536187cf..e12036d58afda7ddfda09b4456cd14d103e355b7 100644 (file)
@@ -14,6 +14,10 @@ To use the Notmuch emacs mode, first add the following line to your
 
        (require 'notmuch)
 
+or you can load the package via autoload:
+
+       (autoload 'notmuch "notmuch" "notmuch mail" t)
+
 Then, either run "emacs -f notmuch", or execute the command `M-x
 notmuch` from within a running emacs.
 
@@ -92,6 +96,40 @@ mentioned as script arguments. (Note: The script expects that you have
 
 # Advanced tips and tweaks
 
+## Use separate emacs lisp file for notmuch configuration
+
+Instead of adding notmuch configuration code to `.emacs`, there
+is an option to collect those to a separate file (which is only
+loaded when `notmuch` is invoked). To do this, write, for example
+a file called `~/.emacs.d/my-notmuch.el`:
+
+         ;; my-notmuch.el -- my notmuch mail configuration
+         ;;
+         
+         ;; add here stuff required to be configured *before*
+         ;; notmuch is loaded;
+
+         ; uncomment and modify in case some elisp files are not found in load-path
+         ; (add-to-list 'load-path "~/vc/ext/notmuch/emacs")
+
+         ;; load notmuch 
+         (require 'notmuch)
+
+         ;; add here stuff required to be configured *after*
+         ;; notmuch is loaded;
+               
+         ;(setq user-mail-address (notmuch-user-primary-email)
+         ;      user-full-name (notmuch-user-name))
+
+         ; uncomment & modify if you want to use external smtp server to send mail
+         ; (setq smtpmail-smtp-server "smtp.server.tld"
+         ;       message-send-mail-function 'message-smtpmail-send-it)
+
+Then, add to `.emacs`:
+
+         (autoload 'notmuch "~/.emacs.d/my-notmuch" "notmuch mail" t)
+
+
 ## Add a key binding to add/remove/toggle a tag
 
 The `notmuch-{search,show}-{add,remove}-tag` functions are very useful
@@ -253,8 +291,8 @@ the rest will go to the default account.
 If you have a hard time getting the above to work for you, as I did,
 it's also possible to add a message-send-mail-hook in your .emacs to
 send the from header explicitly as an argument to msmtp as described
-[here on the
-emacswiki](http://www.emacswiki.org/cgi-bin/wiki/GnusMSMTP#toc2)
+[here](http://www.emacswiki.org/cgi-bin/wiki/GnusMSMTP#toc2) on the
+emacswiki.
 
 
 ## <span id="address_completion">Address completion when composing</span>
@@ -267,7 +305,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 two
+candidates based on a search string.  There are currently three
 available:
 
   * The python tool `notmuch_address.py` (`git clone
@@ -283,7 +321,11 @@ available:
 
                     cc -o addrlookup addrlookup.c `pkg-config --cflags --libs gobject-2.0` -lnotmuch
 
-You can perform tab-completion using either of these programs. Just add the following to your .emacs:
+  * Shell/fgrep/perl combination [nottoomuch-addresses.sh](http://www.iki.fi/too/nottoomuch/nottoomuch-addresses/). 
+    This tools maintains it's own address "database" gathered from email
+    files notmuch knows and search from that "database" is done by fgrep(1).
+
+You can perform tab-completion using any of these programs. Just add the following to your .emacs:
 
     (require 'notmuch-address)
     (setq notmuch-address-command "/path/to/address_fetching_program")
@@ -310,3 +352,11 @@ is not required).
 Alternatively, you may prefer to use `mml-secure-message-sign-pgpmime` instead
 of `mml-secure-sign-pgpmime` to sign the whole message instead of just one
 part.
+
+### Troubleshooting message-mode gpg support
+
+- If you have trouble with expired subkeys, you may have encounted
+  emacs bug #7931.  This is fixed in git commit 301ea744c on
+  2011-02-02.  Note that if you have the Debian package easypg
+  installed, it will shadow the fixed version of easypg included with
+  emacs.