]> git.cworth.org Git - obsolete/notmuch-wiki/commitdiff
emacstips: how to add a user-agent header
authorSebastian Spaeth <Sebastian@SSpaeth.de>
Mon, 12 Apr 2010 09:20:58 +0000 (11:20 +0200)
committerSebastian Spaeth <Sebastian@SSpaeth.de>
Mon, 12 Apr 2010 09:20:58 +0000 (11:20 +0200)
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
emacstips.mdwn

index 572baf1bb9ca8e6d01d5b9a309aff47b431b7bc3..c0f7617c47ac6acf500fb93951902322b7723d98 100644 (file)
@@ -197,7 +197,15 @@ As its name implies, notmuch isn't really doing that much (which is part of its
 * <span id="address_completion">**how to get email address completion**</span>
   There are 2 solutions. Use "bbdb" which allows you to maintain a mail database and gives you mail address completion with the tab key.
 
-  Alternatively, you use the notmuch database as a mail address book itself. This is how you compile the (3rd party) tool "addrlookup" to give you address completion:
+  Alternatively, you use the notmuch database as a mail address book
+  itself. You need a command line tool that outputs likely address
+  candidates based on a search string. There is a python tool
+  [notmuch_address.py](which can be fetched with `git clone
+  http://jkr.acm.jhu.edu/git/notmuch_addresses.git`) (slower, but no
+  compilation required so good for testing the setup) or the
+  vala-based addrlookup (faster, but needs compiling).  This is how
+  you compile the (3rd party) tool "addrlookup" to give you address
+  completion:
 
   - you need the addrlookup binary, first of all. Grab http://github.com/spaetz/vala-notmuch/raw/static-sources/src/addrlookup.c and build it with *cc -o addrlookup addrlookup.c `pkg-config --cflags --libs gobject-2.0` -lnotmuch*. That should give you the binary that you can test already.
 
@@ -206,4 +214,29 @@ As its name implies, notmuch isn't really doing that much (which is part of its
     http://gist.github.com/359425. It was announce in [this
     mail](http://mid.gmane.org/87fx3uflkx.fsf@jhu.edu)
     (id:87fx3uflkx.fsf@jhu.edu) which contains links to the git
-    repositories which contain the files.
\ No newline at end of file
+    repositories which contain the files.
+
+* <span id="insert_user_agent">**how to insert a user agent header**</span>
+
+  Sometimes it is good to let the world know which email client you use, so others know which quirks to expect. And it is no shame to let others know that you are way ahead of mail2.0. Notmuch is mail3.0 (at least)!
+
+  [This mail](http://mid.gmane.org/87y6gtnkch.fsf@SSpaeth.de) (id:87y6gtnkch.fsf@SSpaeth.de) posted some code, that -when inserted in your .emacs file- will add a User-Agent header (which is hidden during composing and in notmuch show, but which can be seen when viewing all headers of a mail):
+
+  If you insert this slab of code, you will get a User-Agent header for notmuch 
+          ;; set the User-Agent string whenever we invoke message mode
+          (add-hook 'message-mode-hook '(lambda()
+              ;; check if User-Agent is a required header and set it if not
+              (if (not (memq 'User-Agent message-required-mail-headers))
+                  (setq message-required-mail-headers 
+                        (append message-required-mail-headers '(User-Agent))))
+              ;; hide the User-Agent header if not already hidden
+              (if (not (memq '"^User-Agent:" message-hidden-headers))
+                  (setq message-hidden-headers 
+                        (append message-hidden-headers '("^User-Agent:"))))
+              ;; create user agent string
+              (let ((notmuch-user-agent (concat 
+                                         (substring (shell-command-to-string (concat notmuch-command " --version")) 0 -1)
+                                         " (Emacs " emacs-version "/"
+                                          system-configuration ")")))
+                (setq message-newsreader notmuch-user-agent))
+          ))