Re: [PATCH] doc: Allow rst2man.py as an alternative to rst2man
[notmuch-archives.git] / c7 / 1a03e3800c528ec35394d4ae0fa42ec95347cb
1 Return-Path: <prvs=jrosenthal=6892ac58a@jhu.edu>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 4C1AE4196F0\r
6         for <notmuch@notmuchmail.org>; Sat, 20 Mar 2010 19:35:39 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -1.5\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-1.5 tagged_above=-999 required=5\r
12         tests=[BAYES_50=0.8, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham\r
13 Received: from olra.theworths.org ([127.0.0.1])\r
14         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
15         with ESMTP id zAsnS5vhaDHF for <notmuch@notmuchmail.org>;\r
16         Sat, 20 Mar 2010 19:35:38 -0700 (PDT)\r
17 Received: from ipex3.johnshopkins.edu (ipex3.johnshopkins.edu\r
18         [128.220.161.140])\r
19         by olra.theworths.org (Postfix) with ESMTP id 04C17431FC1\r
20         for <notmuch@notmuchmail.org>; Sat, 20 Mar 2010 19:35:37 -0700 (PDT)\r
21 X-IronPort-AV: E=Sophos;i="4.51,281,1267419600"; d="scan'208";a="364693379"\r
22 Received: from c-69-255-36-229.hsd1.md.comcast.net (HELO lucky)\r
23         ([69.255.36.229])\r
24         by ipex3.johnshopkins.edu with ESMTP/TLS/AES256-SHA;\r
25         20 Mar 2010 22:35:37 -0400\r
26 Received: from jkr by lucky with local (Exim 4.69)\r
27         (envelope-from <jrosenthal@jhu.edu>)\r
28         id 1NtB0w-0007M9-Vj; Sat, 20 Mar 2010 22:35:42 -0400\r
29 From: Jesse Rosenthal <jrosenthal@jhu.edu>\r
30 To: notmuch@notmuchmail.org\r
31 Date: Sat, 20 Mar 2010 22:35:42 -0400\r
32 Message-ID: <87fx3uflkx.fsf@jhu.edu>\r
33 MIME-Version: 1.0\r
34 Content-Type: text/plain; charset=us-ascii\r
35 Subject: [notmuch] Using notmuch as an address book for tab-completion\r
36 X-BeenThere: notmuch@notmuchmail.org\r
37 X-Mailman-Version: 2.1.13\r
38 Precedence: list\r
39 List-Id: "Use and development of the notmuch mail system."\r
40         <notmuch.notmuchmail.org>\r
41 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
42         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
43 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
44 List-Post: <mailto:notmuch@notmuchmail.org>\r
45 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
46 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
47         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
48 X-List-Received-Date: Sun, 21 Mar 2010 02:35:39 -0000\r
49 \r
50 Dear All,\r
51 \r
52 There was some talk on IRC ages ago about using notmuch as an\r
53 address-book for tab-completion in emacs message mode. Thanks to some\r
54 great recent work (Ingmar Vanhassel's shared lib and Sebastians's\r
55 cnotmuch python lib) I have been able to take a first step in that\r
56 direction. I've written a python script (with some help and suggestions\r
57 from spaetz) which can perform the address-book functionality, and a\r
58 backend for emacs's EUDC address-lookup functionality to access the\r
59 script.\r
60 \r
61 They are available by the following commands:\r
62 \r
63 git clone http://jkr.acm.jhu.edu/git/notmuch_addresses.git\r
64 git clone http://jkr.acm.jhu.edu/git/notmuch_eudc.git\r
65 \r
66 Remember, neither of these will do you much good with the shared lib and\r
67 cnotmuch installed.\r
68 \r
69 At the moment, the script works by search addresses that you have\r
70 written to (or CC'd or BCC'd) in the past. This seems like a good\r
71 utility-speed tradeoff, but it would be easy to hack the script to\r
72 search a different set of messages. Give three letters (it looks through\r
73 first names, last names, and email addresses) it returns results from my\r
74 12K messages in well under a second. \r
75 \r
76 The responses are sorted by frequency, and each email address is\r
77 associated with the most frequently used real name (null real-names are\r
78 avoided, unless they're the only option).\r
79 \r
80 The script can be run from the command line by:\r
81 $ python notmuch_addresses.py query\r
82 \r
83 To get tab completion from emacs, you have to install the script into\r
84 your path, make it executable, and then put my eudcb-notmuch.el file\r
85 into your load path (you should byte-compile it too). DON'T CHANGE THE\r
86 TITLE OF THE .EL FILE! EUDC looks for a specific title based on\r
87 protocol.\r
88 \r
89 Then add the following to your .emacs:\r
90 \r
91 (eudc-set-server "localhost" 'notmuch t)\r
92 (setq eudc-server-hotlist '(("localhost" . notmuch)))\r
93 (setq eudc-inline-expansion-servers 'hotlist)\r
94 \r
95 if you wish to use BBDB too (likely before you use notmuch), then\r
96 you should use something like this:\r
97 \r
98 (eudc-set-server "localhost" 'bbdb t)\r
99 (eudc-protocol-set 'eudc-inline-expansion-format \r
100                    '("%s %s <%s>" firstname lastname net)\r
101                    'bbdb)\r
102 (eudc-set-server "localhost" 'notmuch t)\r
103 (setq eudc-server-hotlist '(("localhost" . bbdb)\r
104                             ("localhost" . notmuch)))\r
105 (setq eudc-inline-expansion-servers 'hotlist)\r
106 \r
107 That should do it. Please let me know if it works for you.\r
108 \r
109 (For those of you who care, eudcb-notmuch.el has a few hacky bits to\r
110 hide the fact that notmuch really isn't an address book. That is, it\r
111 doesn't know the difference between names and email addresses. So\r
112 everything you enter just goes in as one string, which I call "name."\r
113 Back-end stuff, but if you're looking through the code, that might make\r
114 a few things clearer.)\r
115 \r
116 Best,\r
117 Jesse\r