[notmuch] [PATCH] Name thread based on matching msgs instead of first msg.
At the moment all threads are named based on the name of the first message in the thread. However, this can cause problems if people either start new threads by replying-all (as unfortunately, many out there do) or change the subject of their mails to reflect a shift in a thread on a list. This patch names threads based on matches for the query, and the search order. If the search order is oldest-first (as in the default inbox) it chooses the oldest matching message as the subject. If the search order is newest-first it chooses the newest one. Reply prefixes ("Re: ", "Aw: ", "Sv: ", "Vs: ") are ignored (case-insensitively) so a Re: won't change the subject. Note that this adds a "sort" argument to _notmuch_thread_create and _thread_add_matched_message, so that when constructing the thread we can be aware of the sort order. --- lib/notmuch-private.h |3 ++- lib/query.cc |3 ++- lib/thread.cc | 30 +++--- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index d52d84d..94cce1b 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -205,7 +205,8 @@ notmuch_thread_t * _notmuch_thread_create (void *ctx, notmuch_database_t *notmuch, const char *thread_id, - const char *query_string); + const char *query_string, + notmuch_sort_t sort); /* message.cc */ diff --git a/lib/query.cc b/lib/query.cc index 9266d35..946f367 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -297,7 +297,8 @@ notmuch_threads_get (notmuch_threads_t *threads) return _notmuch_thread_create (threads->query, threads->query->notmuch, threads->thread_id, - threads->query->query_string); + threads->query->query_string, + threads->query->sort); } void diff --git a/lib/thread.cc b/lib/thread.cc index ec80f85..9ba7b70 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -129,7 +129,8 @@ _thread_add_message (notmuch_thread_t *thread, static void _thread_add_matched_message (notmuch_thread_t *thread, -notmuch_message_t *message) +notmuch_message_t *message, +notmuch_sort_t sort) { time_t date; notmuch_message_t *hashed_message; @@ -142,6 +143,28 @@ _thread_add_matched_message (notmuch_thread_t *thread, if (date > thread->newest || ! thread->matched_messages) thread->newest = date; +const char *subject; +const char *cleaned_subject; + +subject = notmuch_message_get_header (message, "subject"); + +if ((strncasecmp (subject, "Re: ", 4) == 0) || + (strncasecmp (subject, "Aw: ", 4) == 0) || + (strncasecmp (subject, "Vs: ", 4) == 0) || + (strncasecmp (subject, "Sv: ", 4) == 0)) { + + cleaned_subject = talloc_strndup (thread, + subject + 4, + strlen(subject) - 4); +} else { + cleaned_subject = talloc_strdup (thread, subject); +} + +if ((sort == NOTMUCH_SORT_OLDEST_FIRST && date <= thread->newest) || + (sort != NOTMUCH_SORT_OLDEST_FIRST && date == thread->newest)) { + thread->subject = talloc_strdup (thread, cleaned_subject); +} + thread->matched_messages++; if (g_hash_table_lookup_extended (thread->message_hash, @@ -209,7 +232,8 @@ notmuch_thread_t * _notmuch_thread_create (void *ctx, notmuch_database_t *notmuch, const char *thread_id, - const char *query_string) + const char *query_string, + notmuch_sort_t sort) { notmuch_thread_t *thread; const char *thread_id_query_string, *matched_query_string; @@ -284,7 +308,7 @@ _notmuch_thread_create (void *ctx, notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); - _thread_add_matched_message (thread, message); + _thread_add_matched_message (thread, message, sort); _notmuch_message_close (message); } -- 1.6.3.3
[notmuch] [PATCH] notmuch-new: Parse some maildir flags for labels
On Thu, 18 Mar 2010, Emil Sit wrote: > Instead of blanket applying tag:inbox and tag:unread to > all messages, when parsing a Maildir file, attempt to > parse the flags encoded in the filename to determine whether > to mark something as unread (and inbox). Also, parse user > flagged messages and trash messages. > > Signed-off-by: Emil Sit > --- > I confess that I'm not actively following the mailing list or actively using > notmuch to read mail (the vim client seems not to work well for me on Ubuntu > Hardy and not a huge emacs fan and don't have emacs23; still using > mutt/mairix) > so I apologize if something like this has been discussed/rejected before. > I've > been playing with this patch locally and it definitely helped with the initial > import. It's a nice complement to notmuchsync. Hi, if I remember, there has been at least three different patches for this, so you are the fourth :-) You're right that it helps a lot with initial import. To promote my work a little bit, I use bidirectional synchronization between maildir flags and notmuch tags, which I sent in id:1268926780-20045-4-git-send-email-sojkam1 at fel.cvut.cz. I use IMAP clients from time to time and this helps me a lot because the IMAP server has almost never outdated status. Bye Michal
[notmuch] [PATCH] Name thread based on matching msgs instead of first msg.
At the moment all threads are named based on the name of the first message in the thread. However, this can cause problems if people either start new threads by replying-all (as unfortunately, many out there do) or change the subject of their mails to reflect a shift in a thread on a list. This patch names threads based on matches for the query, and the search order. If the search order is oldest-first (as in the default inbox) it chooses the oldest matching message as the subject. If the search order is newest-first it chooses the newest one. Reply prefixes ("Re: ", "Aw: ", "Sv: ", "Vs: ") are ignored (case-insensitively) so a Re: won't change the subject. Note that this adds a "sort" argument to _notmuch_thread_create and _thread_add_matched_message, so that when constructing the thread we can be aware of the sort order. --- lib/notmuch-private.h |3 ++- lib/query.cc |3 ++- lib/thread.cc | 30 +++--- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index d52d84d..94cce1b 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -205,7 +205,8 @@ notmuch_thread_t * _notmuch_thread_create (void *ctx, notmuch_database_t *notmuch, const char *thread_id, - const char *query_string); + const char *query_string, + notmuch_sort_t sort); /* message.cc */ diff --git a/lib/query.cc b/lib/query.cc index 9266d35..946f367 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -297,7 +297,8 @@ notmuch_threads_get (notmuch_threads_t *threads) return _notmuch_thread_create (threads->query, threads->query->notmuch, threads->thread_id, - threads->query->query_string); + threads->query->query_string, + threads->query->sort); } void diff --git a/lib/thread.cc b/lib/thread.cc index ec80f85..9ba7b70 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -129,7 +129,8 @@ _thread_add_message (notmuch_thread_t *thread, static void _thread_add_matched_message (notmuch_thread_t *thread, -notmuch_message_t *message) +notmuch_message_t *message, +notmuch_sort_t sort) { time_t date; notmuch_message_t *hashed_message; @@ -142,6 +143,28 @@ _thread_add_matched_message (notmuch_thread_t *thread, if (date > thread->newest || ! thread->matched_messages) thread->newest = date; +const char *subject; +const char *cleaned_subject; + +subject = notmuch_message_get_header (message, "subject"); + +if ((strncasecmp (subject, "Re: ", 4) == 0) || + (strncasecmp (subject, "Aw: ", 4) == 0) || + (strncasecmp (subject, "Vs: ", 4) == 0) || + (strncasecmp (subject, "Sv: ", 4) == 0)) { + + cleaned_subject = talloc_strndup (thread, + subject + 4, + strlen(subject) - 4); +} else { + cleaned_subject = talloc_strdup (thread, subject); +} + +if ((sort == NOTMUCH_SORT_OLDEST_FIRST && date <= thread->newest) || + (sort != NOTMUCH_SORT_OLDEST_FIRST && date == thread->newest)) { + thread->subject = talloc_strdup (thread, cleaned_subject); +} + thread->matched_messages++; if (g_hash_table_lookup_extended (thread->message_hash, @@ -209,7 +232,8 @@ notmuch_thread_t * _notmuch_thread_create (void *ctx, notmuch_database_t *notmuch, const char *thread_id, - const char *query_string) + const char *query_string, + notmuch_sort_t sort) { notmuch_thread_t *thread; const char *thread_id_query_string, *matched_query_string; @@ -284,7 +308,7 @@ _notmuch_thread_create (void *ctx, notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); - _thread_add_matched_message (thread, message); + _thread_add_matched_message (thread, message, sort); _notmuch_message_close (message); } -- 1.6.3.3 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[notmuch] JSON based emacs UI
On Mon, 22 Mar 2010 14:47:39 +, David Edmondson wrote: > This is lightly tested, but if anyone else wants to give it a try I > would be interested in feedback. There were a couple of places in the > current code where I wasn't completely sure of the intention, so I may > have inadvertently diverged (notmuch-show-rewind is a good example). Oops, it doesn't remove the "unread" tag. dme. -- David Edmondson, http://dme.org
Re: [notmuch] [PATCH] notmuch-new: Parse some maildir flags for labels
On Thu, 18 Mar 2010, Emil Sit wrote: > Instead of blanket applying tag:inbox and tag:unread to > all messages, when parsing a Maildir file, attempt to > parse the flags encoded in the filename to determine whether > to mark something as unread (and inbox). Also, parse user > flagged messages and trash messages. > > Signed-off-by: Emil Sit > --- > I confess that I'm not actively following the mailing list or actively using > notmuch to read mail (the vim client seems not to work well for me on Ubuntu > Hardy and not a huge emacs fan and don't have emacs23; still using > mutt/mairix) > so I apologize if something like this has been discussed/rejected before. > I've > been playing with this patch locally and it definitely helped with the initial > import. It's a nice complement to notmuchsync. Hi, if I remember, there has been at least three different patches for this, so you are the fourth :-) You're right that it helps a lot with initial import. To promote my work a little bit, I use bidirectional synchronization between maildir flags and notmuch tags, which I sent in id:1268926780-20045-4-git-send-email-sojk...@fel.cvut.cz. I use IMAP clients from time to time and this helps me a lot because the IMAP server has almost never outdated status. Bye Michal ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[notmuch] JSON based emacs UI
I'm pushed the first stage of a JSON based emacs UI to the repository at http://github.com/dme/notmuch (it's in the "master" branch). This is intended to be functionally equivalent to the current UI, though HTML display is not present (see below). This is lightly tested, but if anyone else wants to give it a try I would be interested in feedback. There were a couple of places in the current code where I wasn't completely sure of the intention, so I may have inadvertently diverged (notmuch-show-rewind is a good example). For HTML display and other improved MIME support my intention is to enhance notmuch to allow single parts to be output (something like: "notmuch show --part=2 id:k74hf87df.fsf at fish.org") and use that from the UI code. No idea when I'll get to it, though. Carl - the main changeset is large, but I couldn't see a sensible way to break it up into smaller pieces. I'm open to suggestions. Finally, if anyone else is working on something like this, please let me know - I'd be interested in collaborating. ps. Thanks to aep in #notmuch for encouraging me to just get on with it. dme. -- David Edmondson, http://dme.org
[notmuch] Using notmuch as an address book for tab-completion
On Mon, 22 Mar 2010 11:14:22 +0100, Ruben Pollan wrote: > Nice feature. I think it should be implemented in the library. There is > already > a function notmuch_database_get_all_tags, will be nice to have a function > notmuch_database_get_all_addresses. Actually, i don't think it's necessary to extend the library to get all addresses, it is really trivial to get them, using the current API. As to whether to extend the notmuch binary as to output all addresses, I think this will be taken care of the output filtering once implemented. e.g. get all addresses with: notmuch show --format=json --output:to,cc,bcc '' Sebastian
[notmuch] cnotmuch 0.1.1 release
Hey all, given that there is at least one user of cnotmuch out there now, I just put it up on the python package repository: http://pypi.python.org/pypi/cnotmuch This means you can do "easy_install cnotmuch" on your linux box and it will get installed into: /usr/local/lib/python2.x/dist-packages/ For uninstalling, you'll need to remove the "cnotmuch-0.1-py2.x.egg" directory and delete one entry in the "easy-install.pth" file in that directory. It needs to have a libnotmuch.so or libnotmuch.so.1 available in some library folder or will raise an exception when loading. "OSError: libnotmuch.so.1: cannot open shared object file: No such file or directory" Have fun, and file issues at the issue tracker at http://bitbucket.org/spaetz/cnotmuch/issues/ Sebastian
[notmuch] [PATCH] notmuch-new: Parse some maildir flags for labels
Instead of blanket applying tag:inbox and tag:unread to all messages, when parsing a Maildir file, attempt to parse the flags encoded in the filename to determine whether to mark something as unread (and inbox). Also, parse user flagged messages and trash messages. Signed-off-by: Emil Sit --- I confess that I'm not actively following the mailing list or actively using notmuch to read mail (the vim client seems not to work well for me on Ubuntu Hardy and not a huge emacs fan and don't have emacs23; still using mutt/mairix) so I apologize if something like this has been discussed/rejected before. I've been playing with this patch locally and it definitely helped with the initial import. It's a nice complement to notmuchsync. Hope someone finds it useful. notmuch-new.c | 32 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/notmuch-new.c b/notmuch-new.c index 44b50aa..f937e85 100644 --- a/notmuch-new.c +++ b/notmuch-new.c @@ -94,10 +94,34 @@ _filename_list_add (_filename_list_t *list, } static void -tag_inbox_and_unread (notmuch_message_t *message) +tag_maildir_message (const char *filename, notmuch_message_t *message) { -notmuch_message_add_tag (message, "inbox"); -notmuch_message_add_tag (message, "unread"); +notmuch_bool_t is_read = FALSE; + +const char *p = strrchr (filename, ':'); +if (p != NULL && strncmp(p + 1, "2,", 2) == 0) { +/* This appears to be a valid Maildir filename. + * Interpret some basic semantics */ +while (*p) { +switch (*p) { +case 'S': /* seen */ +is_read = TRUE; +break; +case 'T': /* trashed */ +notmuch_message_add_tag (message, "trash"); +break; +case 'F': /* flagged */ +notmuch_message_add_tag (message, "flagged"); +break; +} +p++; +} +} + +if (!is_read) { +notmuch_message_add_tag (message, "inbox"); +notmuch_message_add_tag (message, "unread"); +} } static void @@ -412,7 +436,7 @@ add_files_recursive (notmuch_database_t *notmuch, /* success */ case NOTMUCH_STATUS_SUCCESS: state->added_messages++; - tag_inbox_and_unread (message); + tag_maildir_message (next, message); break; /* Non-fatal issues (go on to next file) */ case NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID: -- 1.6.3.3 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[notmuch] reverse iterators
On 21:07, Sun 21 Mar 10, Sebastian Spaeth wrote: > On Sat, 20 Mar 2010 11:23:20 +0100, Ruben Pollan > wrote: > > > > Adds support to reverse iteration on messages, threads and tags. To revew > > and > > think if makes sense to include them on notmuch or wait until they have a > > real > > use. > > /me raises arm. Real use case here! Personally, I don't need the > backwards operator (and I don't see the case where I would need to go > back very often). For me is pretty useful because I use the iterator as a cursor on an ncurses notmuch interface. So the selected thread is where the iterator is and the user can to go forward or backwards. > But a _move_to_first() for threads, messages (and > probably tags), would be really useful to me now: :) Happy to see there is someone else needing it. -- Rub?n Poll?n | jabber:meskio at jabber.org -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Lo hago para no volverme loco cuando noto que solo me queda un demonio en un hombro por que se ha cortado las venas el ?ngel que hab?a en el otro. -- next part -- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20100322/71079a1a/attachment.pgp>
[notmuch] Using notmuch as an address book for tab-completion
On 22:35, Sat 20 Mar 10, Jesse Rosenthal wrote: > There was some talk on IRC ages ago about using notmuch as an > address-book for tab-completion in emacs message mode. Thanks to some > great recent work (Ingmar Vanhassel's shared lib and Sebastians's > cnotmuch python lib) I have been able to take a first step in that > direction. I've written a python script (with some help and suggestions > from spaetz) which can perform the address-book functionality, and a > backend for emacs's EUDC address-lookup functionality to access the > script. Nice feature. I think it should be implemented in the library. There is already a function notmuch_database_get_all_tags, will be nice to have a function notmuch_database_get_all_addresses. And make it somehow accessible from the notmuch cli. -- Rub?n Poll?n | jabber:meskio at jabber.org -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Sed realistas, exigid lo imposible. -- next part -- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20100322/2e64ff55/attachment.pgp>
[notmuch] Using notmuch as an address book for tab-completion
On Mon, 22 Mar 2010 00:13:57 +0100, Michal Sojka wrote: > On Sun, 21 Mar 2010, Sebastian Spaeth wrote: > > That reminds me that there is still no installation tool for cnotmuch at > > all. I'll have to have a look into that. > > Hi, I have also a silly question :) Why did you call it cnotmuch? I'd > expect such a thing to be called pynotmuch or similar. When I saw > cnotmuch here I had to search other emails to find what it really is. > Fortunately, with notmuch, I found it very quickly :-D. Hi Michal, no silly question at all ;). I found pynotmuch a bit predictive and boring, and as this is the notmuch bindings to the C-library notmuch, I just called it 'cnotmuch'. A "pynotmuch" would be a pure python re-implementation in my mindset... Just like the c-version of the StringIO module is called cStringIO. etc, so I am not completely off the track here. Having that said, I am not particularly attached to that name and can easily change it. I am in the process of uploading it to pypi.python.org though, so it will soon be available for a simple local install with "easy_install cnotmuch". Next to finding it, the only reference a user will usually only need is "from cnotmuch import notmuch", the rest is just "notmuch" stuff. Sebastian
Re: [notmuch] JSON based emacs UI
On Mon, 22 Mar 2010 14:47:39 +, David Edmondson wrote: > This is lightly tested, but if anyone else wants to give it a try I > would be interested in feedback. There were a couple of places in the > current code where I wasn't completely sure of the intention, so I may > have inadvertently diverged (notmuch-show-rewind is a good example). Oops, it doesn't remove the "unread" tag. dme. -- David Edmondson, http://dme.org ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[notmuch] JSON based emacs UI
I'm pushed the first stage of a JSON based emacs UI to the repository at http://github.com/dme/notmuch (it's in the "master" branch). This is intended to be functionally equivalent to the current UI, though HTML display is not present (see below). This is lightly tested, but if anyone else wants to give it a try I would be interested in feedback. There were a couple of places in the current code where I wasn't completely sure of the intention, so I may have inadvertently diverged (notmuch-show-rewind is a good example). For HTML display and other improved MIME support my intention is to enhance notmuch to allow single parts to be output (something like: "notmuch show --part=2 id:k74hf87df@fish.org") and use that from the UI code. No idea when I'll get to it, though. Carl - the main changeset is large, but I couldn't see a sensible way to break it up into smaller pieces. I'm open to suggestions. Finally, if anyone else is working on something like this, please let me know - I'd be interested in collaborating. ps. Thanks to aep in #notmuch for encouraging me to just get on with it. dme. -- David Edmondson, http://dme.org ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [notmuch] Using notmuch as an address book for tab-completion
On Mon, 22 Mar 2010 11:14:22 +0100, Ruben Pollan wrote: > Nice feature. I think it should be implemented in the library. There is > already > a function notmuch_database_get_all_tags, will be nice to have a function > notmuch_database_get_all_addresses. Actually, i don't think it's necessary to extend the library to get all addresses, it is really trivial to get them, using the current API. As to whether to extend the notmuch binary as to output all addresses, I think this will be taken care of the output filtering once implemented. e.g. get all addresses with: notmuch show --format=json --output:to,cc,bcc '' Sebastian ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[notmuch] cnotmuch 0.1.1 release
Hey all, given that there is at least one user of cnotmuch out there now, I just put it up on the python package repository: http://pypi.python.org/pypi/cnotmuch This means you can do "easy_install cnotmuch" on your linux box and it will get installed into: /usr/local/lib/python2.x/dist-packages/ For uninstalling, you'll need to remove the "cnotmuch-0.1-py2.x.egg" directory and delete one entry in the "easy-install.pth" file in that directory. It needs to have a libnotmuch.so or libnotmuch.so.1 available in some library folder or will raise an exception when loading. "OSError: libnotmuch.so.1: cannot open shared object file: No such file or directory" Have fun, and file issues at the issue tracker at http://bitbucket.org/spaetz/cnotmuch/issues/ Sebastian ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [notmuch] reverse iterators
On 21:07, Sun 21 Mar 10, Sebastian Spaeth wrote: > On Sat, 20 Mar 2010 11:23:20 +0100, Ruben Pollan > wrote: > > > > Adds support to reverse iteration on messages, threads and tags. To revew > > and > > think if makes sense to include them on notmuch or wait until they have a > > real > > use. > > /me raises arm. Real use case here! Personally, I don't need the > backwards operator (and I don't see the case where I would need to go > back very often). For me is pretty useful because I use the iterator as a cursor on an ncurses notmuch interface. So the selected thread is where the iterator is and the user can to go forward or backwards. > But a _move_to_first() for threads, messages (and > probably tags), would be really useful to me now: :) Happy to see there is someone else needing it. -- Rubén Pollán | jabber:mes...@jabber.org -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Lo hago para no volverme loco cuando noto que solo me queda un demonio en un hombro por que se ha cortado las venas el ángel que había en el otro. signature.asc Description: Digital signature ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [notmuch] Using notmuch as an address book for tab-completion
On 22:35, Sat 20 Mar 10, Jesse Rosenthal wrote: > There was some talk on IRC ages ago about using notmuch as an > address-book for tab-completion in emacs message mode. Thanks to some > great recent work (Ingmar Vanhassel's shared lib and Sebastians's > cnotmuch python lib) I have been able to take a first step in that > direction. I've written a python script (with some help and suggestions > from spaetz) which can perform the address-book functionality, and a > backend for emacs's EUDC address-lookup functionality to access the > script. Nice feature. I think it should be implemented in the library. There is already a function notmuch_database_get_all_tags, will be nice to have a function notmuch_database_get_all_addresses. And make it somehow accessible from the notmuch cli. -- Rubén Pollán | jabber:mes...@jabber.org -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Sed realistas, exigid lo imposible. signature.asc Description: Digital signature ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [notmuch] Using notmuch as an address book for tab-completion
On Mon, 22 Mar 2010 00:13:57 +0100, Michal Sojka wrote: > On Sun, 21 Mar 2010, Sebastian Spaeth wrote: > > That reminds me that there is still no installation tool for cnotmuch at > > all. I'll have to have a look into that. > > Hi, I have also a silly question :) Why did you call it cnotmuch? I'd > expect such a thing to be called pynotmuch or similar. When I saw > cnotmuch here I had to search other emails to find what it really is. > Fortunately, with notmuch, I found it very quickly :-D. Hi Michal, no silly question at all ;). I found pynotmuch a bit predictive and boring, and as this is the notmuch bindings to the C-library notmuch, I just called it 'cnotmuch'. A "pynotmuch" would be a pure python re-implementation in my mindset... Just like the c-version of the StringIO module is called cStringIO. etc, so I am not completely off the track here. Having that said, I am not particularly attached to that name and can easily change it. I am in the process of uploading it to pypi.python.org though, so it will soon be available for a simple local install with "easy_install cnotmuch". Next to finding it, the only reference a user will usually only need is "from cnotmuch import notmuch", the rest is just "notmuch" stuff. Sebastian ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[notmuch] Using notmuch as an address book for tab-completion
On Sun, 21 Mar 2010, Sebastian Spaeth wrote: > That reminds me that there is still no installation tool for cnotmuch at > all. I'll have to have a look into that. Hi, I have also a silly question :) Why did you call it cnotmuch? I'd expect such a thing to be called pynotmuch or similar. When I saw cnotmuch here I had to search other emails to find what it really is. Fortunately, with notmuch, I found it very quickly :-D. M.