notmuch clon
Find a file
Carl Worth bb61755afe emacs: Fix search refresh when on the last line of a search buffer.
We currently allow the cursor to be positioned on the "End of search
results" line after the last thread in a search buffer. When
refreshing on this line, there's no thread ID to be used as the
target.

Previously, a refresh from this case would result in a nil thread
target, but we were also using nil to indicate that the target thread
had been found. This caused the position to be lost during refresh,
(the cursor would move from the last line in the buffer to the first).

We fix this by using a magic string of "found" rather than nil to
clearly indicate whether the target thread has actually been found.
2010-03-10 11:07:58 -08:00
compat Makefile: Fix Makefiles to depend on all child Makefile fragments. 2010-03-10 10:59:57 -08:00
config configure: Move getlinetest.c down into config/have_getline.c. 2009-12-01 16:56:39 -08:00
contrib Checkin some command-only tcsh completions 2009-11-20 18:15:19 +01:00
emacs emacs: Fix search refresh when on the last line of a search buffer. 2010-03-10 11:07:58 -08:00
lib Makefile: Fix Makefiles to depend on all child Makefile fragments. 2010-03-10 10:59:57 -08:00
packaging/fedora notmuch build: add a RPM spec file 2009-11-20 10:37:38 +01:00
test Switch from random to sequential thread identifiers. 2010-02-09 11:14:11 -08:00
vim vim: preserve the 'show everything' flag when finding next/prev buffer 2009-12-03 13:30:21 -08:00
.gitignore Remove Makefile.config from the repository. 2009-12-01 08:34:09 -08:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
configure Add install target for notmuch.desktop file. 2010-01-24 07:29:54 +13:00
COPYING Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
COPYING-GPL-3 Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
debugger.c notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
gmime-filter-reply.c Filter out carriage-returns in show and reply output. 2009-11-18 23:34:43 +01:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
INSTALL INSTALL: Include Fedora command for installing dependencies of notmuch. 2010-03-09 12:13:32 -08:00
json.c json: Add copy of MIT license text from cJSON 2010-02-23 12:50:46 -08:00
Makefile Makefile: Fix Makefiles to depend on all child Makefile fragments. 2010-03-10 10:59:57 -08:00
Makefile.local Makefile: Conditionalize the "make install" message. 2010-03-10 10:48:47 -08:00
notmuch-client.h Add an "--format=(json|text)" command-line option to both notmuch-search and notmuch-show. 2010-02-23 12:01:12 -08:00
notmuch-config.c * notmuch-config: fix small leak from 'g_key_file_to_data' 2009-12-04 11:16:26 -08:00
notmuch-count.c Add 'notmuch count' command to show the count of matching messages 2009-11-23 06:33:54 +01:00
notmuch-dump.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-new.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-reply.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-restore.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-search-tags.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-search.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-setup.c notmuch setup: Exit if EOF is encountered at any prompt. 2009-12-01 08:06:09 -08:00
notmuch-show.c notmuch show: Don't show empty headers. 2010-03-09 10:12:58 -08:00
notmuch-tag.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.1 Add is:<tag> as a synonym for tag:<tag> in search terms. 2010-03-09 16:03:58 -08:00
notmuch.c Add is:<tag> as a synonym for tag:<tag> in search terms. 2010-03-09 16:03:58 -08:00
notmuch.desktop notmuch.desktop: Clarify that this is the emacs interface to notmuch. 2010-01-24 07:30:08 +13:00
query-string.c notmuch: Break notmuch.c up into several smaller files. 2009-11-10 12:03:05 -08:00
README README: Mention that notmuch only supports maildir or mh format. 2010-02-25 11:03:56 -08:00
show-message.c Add an "--format=(json|text)" command-line option to both notmuch-search and notmuch-show. 2010-02-23 12:01:12 -08:00
TODO TODO: Add proposal for a saved-search interface. 2010-03-09 10:09:40 -08:00

Notmuch - thread-based email index, search and tagging.

Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
the Xapian library to provide fast, full-text search with a convenient
search syntax.

Notmuch is free software, released under the GNU General Public
License version 3 (or later).

Building notmuch
----------------
See the INSTALL file for notes on compiling and installing notmuch.

Contacting users and developers
-------------------------------
The website for Notmuch is:

	http://notmuchmail.org

The mailing list address for the notmuch community is:

	notmuch@notmuchmail.org

We welcome any sort of questions, comments, kudos, or code there.

Subscription is not required, (but if you do subscribe you'll avoid
any delay due to moderation). See the website for subscription
information.

There is also an IRC channel dedicated to talk about using and
developing notmuch:

	IRC server:	irc.freenode.net
	Channel:	#notmuch

Interface options
-----------------
Notmuch includes a "notmuch" command-line interface to the system.
This is not a very convenient interface and it is not expected that
users will find it satisfying. Instead, there are two option for
obtaining a more sophisticated interface:

     1. Build on top of the "notmuch" command-line interface.

	This might be a reasonable option for a very text-oriented
	client environment. For example, an emacs-based interface for
	notmuch is already under development and is available in the
	notmuch.el file in this distribution.

	If someone were to write a curses-based interface, or similar,
	it might also be reasonable to build on the "notmuch"
	command-line interface.

     2. Build on top of the notmuch library interface.

	This is a better choice for developing an interface that has
	full control of the presentation of email threads and
	messages. It is expected that anyone integrating Notmuch into
	an existing, graphical email program use the notmuch library
	interface.

	The public interface to the notmuch library is contained in
	the notmuch.h header file. The "notmuch" command-line program
	in notmuch.c can be used as good example code, since it is a
	simple program that is written on top of the library
	interface.

As can be seen, alternate interfaces to the Notmuch mail system are
still in development. We would appreciate any contributions to these
efforts.