* add support for using mu cfind as an external address book for 'mutt' + document

This commit is contained in:
Dirk-Jan C. Binnema 2011-03-06 12:40:08 +02:00
parent 66a839a742
commit f8fd420215
3 changed files with 35 additions and 14 deletions

View File

@ -51,14 +51,15 @@ The regular expressions are Perl-compatible (as per the PCRE-library).
set the output format to the given value. The following are available:
.nf
| --format= | description |
|-------------+-------------------------------|
| plain | default, simple list |
| mutt | mutt alias-format |
| wl | wanderlust addressbook format |
| org-contact | org-mode org-contact format |
| bbdb | BBDB format |
| csv | comma-separated values |
| --format= | description |
|-------------+-----------------------------------|
| plain | default, simple list |
| mutt-alias | mutt alias-format |
| mutt-ab | mutt external address book format |
| wl | wanderlust addressbook format |
| org-contact | org-mode org-contact format |
| bbdb | BBDB format |
| csv | comma-separated values |
.fi
.SH RETURN VALUE
@ -75,6 +76,19 @@ non-zero return value, for example:
| 2 | no matches (for 'mu cfind') |
.si
.SH INTEGRATION WITH MUTT
You can use \fBmu cfind\fR as an external address book server for
\fBmutt\fR. For this to work add the following to your \fImuttrc\fR:
.sh
set query_command = "mu cfind --format=mutt-ab '%s'"
.si
Now, in mutt, you can easily search for e-mail address using the
\fBquery\fR-command, which is by default accessible by pressing \fBQ\fR.
.SH BUGS
Please report bugs if you find them:

View File

@ -31,7 +31,8 @@
enum _OutputFormat {
FORMAT_PLAIN,
FORMAT_MUTT,
FORMAT_MUTT_ALIAS,
FORMAT_MUTT_AB, /* mutt external address book */
FORMAT_WL,
FORMAT_BBDB,
FORMAT_CSV,
@ -50,7 +51,8 @@ get_output_format (const char *formatstr)
OutputFormat format;
} formats [] = {
{MU_CONFIG_FORMAT_PLAIN, FORMAT_PLAIN},
{MU_CONFIG_FORMAT_MUTT, FORMAT_MUTT},
{MU_CONFIG_FORMAT_MUTT_ALIAS, FORMAT_MUTT_ALIAS},
{MU_CONFIG_FORMAT_MUTT_AB, FORMAT_MUTT_AB},
{MU_CONFIG_FORMAT_WL, FORMAT_WL},
{MU_CONFIG_FORMAT_BBDB, FORMAT_BBDB},
{MU_CONFIG_FORMAT_CSV, FORMAT_CSV},
@ -101,7 +103,7 @@ each_contact_bbdb (const char *email, const char *name, time_t tstamp)
static void
each_contact_mutt (const char *email, const char *name)
each_contact_mutt_alias (const char *email, const char *name)
{
if (name) {
gchar *nick;
@ -114,6 +116,7 @@ each_contact_mutt (const char *email, const char *name)
}
}
static void
each_contact_wl (const char *email, const char *name)
{
@ -141,12 +144,15 @@ each_contact (const char *email, const char *name, time_t tstamp,
OutputFormat format)
{
switch (format) {
case FORMAT_MUTT: each_contact_mutt (email, name); break;
case FORMAT_MUTT_ALIAS: each_contact_mutt_alias (email, name); break;
case FORMAT_MUTT_AB:
g_print ("%s\t%s\t\n", email, name ? name : ""); break;
case FORMAT_WL: each_contact_wl (email, name); break;
case FORMAT_ORG_CONTACT: each_contact_org_contact (email, name); break;
case FORMAT_BBDB: each_contact_bbdb (email, name, tstamp); break;
case FORMAT_CSV: /* FIXME */
case FORMAT_CSV:
g_print ("%s,%s\n", name ? name : "", email);
break;
default:
g_print ("%s%s%s\n", name ? name : "", name ? " " : "", email);

View File

@ -35,7 +35,8 @@ G_BEGIN_DECLS
#define MU_CONFIG_FORMAT_XQUERY "xquery" /* output the xapian query */
/* for cfind */
#define MU_CONFIG_FORMAT_MUTT "mutt" /* mutt alias style */
#define MU_CONFIG_FORMAT_MUTT_ALIAS "mutt-alias" /* mutt alias style */
#define MU_CONFIG_FORMAT_MUTT_AB "mutt-ab" /* mutt ext addr book */
#define MU_CONFIG_FORMAT_WL "wl" /* Wanderlust address-book */
#define MU_CONFIG_FORMAT_CSV "csv" /* comma-sep'd values */
#define MU_CONFIG_FORMAT_ORG_CONTACT "org-contact" /* org-contact */