[[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
#Tips and Tricks for using notmuch with Emacs
+[[!toc levels=2]]
+
The main Notmuch message reading client is **notmuch.el**, which is an
[emacs](http://www.gnu.org/software/emacs/) major mode, and is
included in the notmuch package.
## Viewing HTML messages with an external viewer
-The emacs client can often display an HTML message inline, but it
-sometimes fails for one reason or another, (or is perhaps inadequate
-if you really need to see the graphical presentation of the HTML
-message).
+The emacs client can display an HTML message inline using either the
+`html2text` library or some text browser, like w3m or lynx. This is
+controlled by the `mm-text-html-renderer` variable.
+
+The first option is theorically better, because it can generate
+strings formatted for emacs and do whatever you want, e.g., substitute
+text inside <b> tags for bold text in the buffer. The library, however
+is still in a very early development phase and cannot yet process
+properly many elements, like tables and <style> directives, and even
+the generated text is often poorly formatted.
+
+Among the available browsers, w3m seems to do a better job converting
+the html, and if you have the w3m emacs package, you can use it,
+instead of the w3m-standalone, and thus preserve the text formatting.
-In this case, it can be useful to display the message in an external
-viewer, such as a web browser. Here's a little script that Keith
-Packard wrote, which he calls `view-html`:
+But if the rendering fails for one reason or another, or if you really
+need to see the graphical presentation of the HTML message, it can be
+useful to display the message in an external viewer, such as a web
+browser. Here's a little script that Keith Packard wrote, which he
+calls `view-html`:
#!/bin/sh
dir=`mktemp -d`
available:
* The python tool `notmuch_address.py` (`git clone
- http://jkr.acm.jhu.edu/git/notmuch_addresses.git`) (slower, but
+ http://commonmeasure.org/~jkr/git/notmuch_addresses.git`) (slower, but
no compilation required so good for testing the setup)
* The vala-based
cc -o addrlookup addrlookup.c `pkg-config --cflags --libs gobject-2.0` -lnotmuch
-EUDC is integrated into emacs and is needed for tab completion of
-email addresses. See [this
-mail](http://mid.gmane.org/87fx3uflkx.fsf@jhu.edu)
-(id:87fx3uflkx.fsf@jhu.edu) for more information.
+You can perform tab-completion using either of these programs. Just add the following to your .emacs:
+
+ (require 'notmuch-address)
+ (setq notmuch-address-command "/path/to/address_fetching_program")
+ (notmuch-address-message-insinuate)
+
## How to sign/encrypt messages with gpg