annotate doc/misc/mairix-el.texi @ 109125:12b02558bf51

* lib-src/fakemail.c (action): Convert function definitions to standard C. (add_a_stream): * lib-src/test-distrib.c (cool_read): (main): Likewise.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sat, 03 Jul 2010 23:05:43 -0700
parents 1d1d5d9bd884
children a91e94388547
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
97101
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
1 \input texinfo.tex
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
2
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
3 @setfilename ../../info/mairix-el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
4 @settitle Emacs Interface for Mairix
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
5
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
6 @documentencoding ISO-8859-1
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
7
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
8 @copying
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 102821
diff changeset
9 Copyright @copyright{} 2008, 2009, 2010 Free Software Foundation, Inc.
97101
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
10
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
11 @quotation
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
12 Permission is granted to copy, distribute and/or modify this document
99709
6de181810d0f Relicense all texi files under FDL 1.3 or later.
Glenn Morris <rgm@gnu.org>
parents: 97106
diff changeset
13 under the terms of the GNU Free Documentation License, Version 1.3 or
97101
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
14 any later version published by the Free Software Foundation; with no
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
15 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
16 and with the Back-Cover Texts as in (a) below. A copy of the license
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
17 is included in the section entitled ``GNU Free Documentation License''.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
18
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
19 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
20 modify this GNU manual. Buying copies from the FSF supports it in
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
21 developing GNU and promoting software freedom.''
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
22 @end quotation
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
23 @end copying
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
24
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
25 @dircategory Emacs
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
26 @direntry
102821
cb72ed698ad6 Copy the direntry from ../../info/dir, and avoid using a period in the
Glenn Morris <rgm@gnu.org>
parents: 102059
diff changeset
27 * Mairix: (mairix-el). Emacs interface to the Mairix mail indexer.
97101
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
28 @end direntry
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
29
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
30 @titlepage
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
31 @title mairix.el - Mairix interface for Emacs
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
32
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
33 @author David Engster
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
34 @page
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
35 @vskip 0pt plus 1filll
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
36 @insertcopying
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
37 @end titlepage
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
38
102059
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
39 @contents
97101
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
40
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
41 @node Top
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
42 @top mairix.el - Mairix interface for Emacs
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
43
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
44 Mairix is a tool for indexing and searching words in locally stored
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
45 mail. It was written by Richard Curnow and is licensed under the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
46 GPL.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
47
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
48 @code{mairix.el} is an interface to the mairix search engine. It allows you to
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
49 call mairix with a search term, easily create searches based on the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
50 currently displayed mail, save regularly used searches in your
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
51 @file{.emacs} for future use and lets you call mairix for updating the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
52 database.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
53
102059
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
54 @ifnottex
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
55 @insertcopying
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
56 @end ifnottex
9bcea07061a8 consistently use @insertcopying, @direntry, @contents
Karl Berry <karl@gnu.org>
parents: 100974
diff changeset
57
97101
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
58 @menu
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
59 * About mairix and mairix.el:: About the mairix search engine and mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
60 * Configuring mairix:: How to configure mairix
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
61 * Setting up mairix.el:: Set up mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
62 * Using mairix.el:: List of interactive functions
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
63 * Extending mairix.el:: Support your favorite mail reader!
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
64 @end menu
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
65
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
66 @node About mairix and mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
67 @chapter About mairix and mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
68
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
69 Mairix is a tool for indexing and searching words in locally stored
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
70 mail. It was written by Richard Curnow and is licensed under the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
71 GPL. Mairix comes with most popular GNU/Linux distributions, but it also
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
72 runs under Windows (with cygwin), Mac OS X and Solaris. The homepage can
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
73 be found at
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
74 @uref{http://www.rpcurnow.force9.co.uk/mairix/index.html}
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
75
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
76 Though mairix might not be as flexible as other search tools like
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
77 swish++ or namazu, it has the prime advantage of being incredibly fast.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
78 On current systems, it can easily search through headers and message
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
79 bodies of thousands and thousands of mails in well under a second.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
80 Building the database necessary for searching might take a minute or
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
81 two, but only has to be done once fully. Afterwards, the updates are
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
82 done incrementally and therefore are really fast, too. Additionally,
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
83 mairix is very easy to set up.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
84
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
85 Mairix presents the search results by either populating a @emph{virtual}
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
86 maildir/MH folder with symlinks which point to the ``real'' message
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
87 files, or if mbox is used, it creates a new mbox file which contains
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
88 copies of the found messages.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
89
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
90 @code{mairix.el} is an interface to the mairix search engine. It allows
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
91 you to call mairix with a search term, easily create searches based on
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
92 the currently displayed mail, save regularly used searches in your
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
93 @file{.emacs} for future use and lets you call mairix for updating the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
94 database. It also lets you easily create search queries using graphical
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
95 widgets, similar to a customization buffer.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
96
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
97 Currently, @code{mairix.el} is only tested with mbox output together
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
98 with RMail, Gnus, or VM as the Emacs mail program. However, it should
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
99 also work with Maildir or MH, and it should be very easy to integrate
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
100 other Emacs mail programs into @code{mairix.el}
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
101 (@pxref{Extending mairix.el}).
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
102
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
103 If you use Gnus with maildir or MH, you should really use the native
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
104 Gnus back end @code{nnmairix} instead, since it is more tightly
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
105 integrated into Gnus and has more features.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
106
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
107 @node Configuring mairix
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
108 @chapter Configuring mairix
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
109
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
110 Setting up mairix is easy: simply create a @file{.mairixrc} file with
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
111 (at least) the following entries:
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
112
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
113 @example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
114 # Your mail base folder
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
115 base=~/Mail
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
116 @end example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
117
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
118 This is the base folder for your mails. All the following directories,
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
119 except the one for the database, are relative to this base folder.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
120
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
121 @example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
122 mbox = ... your mbox files which should be indexed ...
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
123 maildir= ... your maildir folders which should be indexed ...
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
124 mh= ... your nnml/mh folders which should be indexed ...
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
125 @end example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
126
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
127 Specify all your maildir/nnml folders and mbox files (relative to the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
128 base directory!) you want to index with mairix. Use colons to separate
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
129 different files. See the man-page for @code{mairixrc} for details.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
130
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
131 @example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
132 mformat = mbox
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
133 database = ... location of database file ...
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
134 @end example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
135
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
136 This chooses @code{mbox} as the output format for the mairix search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
137 results. Currently, this is the supported format by mairix.el, but
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
138 technically it should be possible to also use maildir or mh; it's just
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
139 not tested (yet).
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
140
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
141 You should make sure that you don't accidentally index the search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
142 results produced by mairix. This can be done by pointing
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
143 `mairix-file-path' to a directory which is surely not indexed by mairix.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
144 Another possibility is to use something like
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
145
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
146 @example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
147 omit = mairix*
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
148 @end example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
149
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
150 in the @file{.mairixrc} file, and prefix every search file you use with
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
151 ``mairix''.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
152
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
153 @example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
154 database = /home/user/.mairixdatabase
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
155 @end example
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
156
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
157 This specifies the name of the database file. Note that this is not
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
158 relative to the @code{base} folder.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
159
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
160 See the man page for @code{mairixrc} for details and further options,
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
161 especially regarding wildcard usage, which may be a little different
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
162 than you are used to.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
163
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
164 Now simply call @code{mairix} to create the index for the first time.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
165 Note that this may take a few minutes, but every following index will do
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
166 the updates incrementally and hence is very fast.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
167
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
168 @node Setting up mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
169 @chapter Setting up mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
170
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
171 First, put @code{mairix.el} in your Emacs search path and put
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
172 @code{(require 'mairix)} into your @file{.emacs} file. Then, use
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
173 @kbd{M-x customize-group mairix RET} to set your preferences for
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
174 mairix.el. The most important items are @emph{Mairix File Path},
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
175 @emph{Mairix Search File} and @emph{Mairix Mail Program}. The latter
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
176 specifies which mail program should be used to display the mairix search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
177 results. Currently, RMail, Gnus with mbox files, and VM are supported.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
178 If you use Gnus with maildir or mh, use the native Gnus back end
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
179 nnmairix instead.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
180
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
181 If you use another Emacs mail program which is not yet supported by
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
182 mairix.el, it is pretty easy to integrate it. @xref{Extending
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
183 mairix.el}, on how to integrate it into mairix.el.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
184
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
185 Now you should be ready to go. @xref{Using mairix.el}, for the available
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
186 commands.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
187
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
188 @node Using mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
189 @chapter Using mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
190
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
191 There are currently no default key bindings for mairix.el, since those
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
192 should depend on the used mail program and I personally do not use
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
193 RMail, so I wouldn't know which key bindings are reasonable. I hope some
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
194 day this will change and @code{mairix.el} will come with some good
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
195 key bindings for the different mail programs. Feel free to send me your
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
196 suggestions. Until then, define some bindings yourself. Here's a quick
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
197 and dirty solution with global key definitions I currently use, which
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
198 might or might not collide with some other modes. Simply include them
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
199 in your @file{.emacs} and adapt to your needs:
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
200
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
201 @lisp
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
202 (global-set-key (kbd "C-c C-o m") 'mairix-search)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
203 (global-set-key (kbd "C-c C-o w") 'mairix-widget-search)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
204 (global-set-key (kbd "C-c C-o u") 'mairix-update-database)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
205 (global-set-key (kbd "C-c C-o f") 'mairix-search-from-this-article)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
206 (global-set-key (kbd "C-c C-o t") 'mairix-search-thread-this-article)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
207 (global-set-key (kbd "C-c C-o b") 'mairix-widget-search-based-on-article)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
208 (global-set-key (kbd "C-c C-o s") 'mairix-save-search)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
209 (global-set-key (kbd "C-c C-o i") 'mairix-use-saved-search)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
210 (global-set-key (kbd "C-c C-o e") 'mairix-edit-saved-searches)
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
211 @end lisp
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
212
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
213 Here's a description of the available interactive functions:
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
214
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
215 @table @code
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
216
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
217 @item mairix-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
218 @kindex M-x mairix-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
219 @findex mairix-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
220 @vindex mairix-search-file
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
221 @vindex mairix-file-path
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
222 @vindex mairix-command
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
223 @vindex mairix-search-options
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
224 Call mairix with a search query. You will also be asked if you want to
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
225 include whole threads. The results are saved by mairix in the default
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
226 mail file, which is set through the variable `mairix-search-file', which
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
227 again is prefixed by `mairix-file-path'. The results will then be
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
228 displayed with the chosen mail program. The command used to call mairix
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
229 is specified by the variable `mairix-command', together with the options
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
230 `mairix-search-options'. The latter has the default ``-F'' for making
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
231 searching faster.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
232
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
233 @item mairix-widget-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
234 @kindex M-x mairix-widget-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
235 @findex mairix-widget-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
236 @vindex mairix-widget-fields-list
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
237 Creates a mairix query using graphical widgets. Very handy if you're
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
238 not (yet) familiar with the mairix search syntax. Just call it to see
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
239 how it works. You can then directly call mairix with the search term or
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
240 save it for future use. Since mairix allows almost arbitrary
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
241 combinations of search commands (like ``tc'' for ``to or cc''), you
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
242 might want to include some other fields. This can be easily done by
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
243 modifying `mairix-widget-fields-list'.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
244
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
245 @item mairix-widget-search-based-on-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
246 @kindex M-x mairix-widget-search-based-on-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
247 @findex mairix-widget-search-based-on-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
248 Create a mairix query using graphical widgets, but based on the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
249 currently displayed article, i.e. the available fields will be filled
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
250 with the current header values.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
251
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
252 @item mairix-search-from-this-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
253 @kindex M-x mairix-search-from-this-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
254 @findex mairix-search-from-this-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
255 Search messages from sender of the current article. This is effectively
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
256 a shortcut for calling @code{mairix-search} with @code{f:current_from}.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
257 If used with a prefix, include whole threads of the found messages.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
258
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
259 @item mairix-search-thread-this-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
260 @kindex M-x mairix-search-thread-this-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
261 @findex mairix-search-thread-this-article
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
262 Search thread for the current article. This is effectively a shortcut
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
263 for calling @code{mairix-search} with @code{m:msgid} of the current article and
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
264 enabled threads.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
265
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
266 @item mairix-save-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
267 @kindex M-x mairix-save-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
268 @findex mairix-save-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
269 Save the last search for future use. You will have to specify a name
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
270 for the search and will then be asked if you want to save your saved
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
271 searches in your @file{.emacs}. If you answer with yes, the variable
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
272 @code{mairix-saved-searches} will be saved in the customize section of
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
273 your @file{.emacs}. You can also do this later by using
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
274 `mairix-edit-saved-searches'.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
275
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
276 @item mairix-use-saved-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
277 @kindex M-x mairix-use-saved-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
278 @findex mairix-use-saved-search
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
279 Call mairix with a previously saved search. You will be asked for the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
280 name of the saved search (use @kbd{TAB} for completion).
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
281
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
282 @item mairix-edit-saved-searches
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
283 @kindex M-x mairix-edit-saved-searches
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
284 @findex mairix-edit-saved-searches
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
285 Edit your current mairix searches. This is a simple major mode for
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
286 editing the contents of the variable @code{mairix-saved-searches}. You
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
287 can edit and delete searches and save them in your @file{.emacs}. You
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
288 can also use this mode to call mairix with one of the saved searches.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
289 Additionally, you can specify a file name for mairix to use for a
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
290 certain search instead of the default one. This is useful if you want
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
291 to open different searches at the same time, or if you want to regularly
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
292 access certain searches without the need to call mairix.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
293
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
294 @item mairix-edit-saved-searches-customize
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
295 @kindex M-x mairix-edit-saved-searches-customize
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
296 @findex mairix-edit-saved-searches-customize
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
297 Edit the variable @code{mairix-saved-searches} in a normal customization
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
298 buffer. This function exists more or less for historic reasons, but
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
299 maybe you like it.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
300
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
301 @item mairix-update-database
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
302 @kindex M-x mairix-update-database
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
303 @findex mairix-update-database
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
304 @vindex mairix-update-options
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
305 @vindex mairix-synchronous-update
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
306 Call mairix to update the database. Mairix will be called with the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
307 options `mairix-update-options'; the default is ``-F'' and ``-Q'' to
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
308 make updates as fast as possible. Note that by using these options,
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
309 absolutely no integrity checking is done. If your database somehow gets
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
310 corrupted, simply delete it and update. If `mairix-synchronous-update'
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
311 is nil (the default), mairix will be called in a subprocess so Emacs
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
312 will still be usable while the update is done.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
313
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
314 @end table
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
315
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
316
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
317 @node Extending mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
318 @chapter Extending mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
319
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
320 Your favorite Emacs mail program is not supported? Shame on me. But
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
321 it is really easy to integrate other mail programs into mairix.el. Just
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
322 do the following:
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
323
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
324 @table @strong
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
325 @item Write a display function
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
326 Write a function that displays the mairix search results. This function
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
327 will be called from @code{mairix.el} with the mail file/folder as the
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
328 single argument. For example, the function @code{mairix-rmail-display}
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
329 is currently used for RMail and @code{mairix-gnus-ephemeral-nndoc} is
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
330 used for Gnus.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
331
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
332 @item Write a get-header function
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
333 Write a function that retrieves a header from the currently active mail.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
334 The single argument for this function is a string with the header name.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
335 For examples, see @code{mairix-rmail-fetch-field} and
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
336 @code{mairix-gnus-fetch-field} for RMail and Gnus, respectively.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
337
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
338 @item Integrate the functions into mairix.el
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
339 Add your mail program to the defcustom of @code{mairix-mail-program}.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
340 Then add the functions to @code{mairix-display-functions} and
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
341 @code{mairix-get-mail-header-functions}.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
342
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
343 @item Let me know...
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
344 ...so that I can eventually integrate it into future versions of mairix.el.
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
345 @end table
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
346
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
347 And that's it!
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
348
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
349
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
350
17ffb4cfad01 New file.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff changeset
351 @bye
97106
2abff4e5c97f Add arch tagline
Miles Bader <miles@gnu.org>
parents: 97101
diff changeset
352
2abff4e5c97f Add arch tagline
Miles Bader <miles@gnu.org>
parents: 97101
diff changeset
353 @ignore
2abff4e5c97f Add arch tagline
Miles Bader <miles@gnu.org>
parents: 97101
diff changeset
354 arch-tag: cb81470f-e080-489d-bb67-0d11516b63b9
2abff4e5c97f Add arch tagline
Miles Bader <miles@gnu.org>
parents: 97101
diff changeset
355 @end ignore