notmuch clon
Find a file
Austin Clements 567bcbc294 Store "from" and "subject" headers in the database.
This is a rebase and cleanup of Istvan Marko's patch from
id:m3pqnj2j7a.fsf@zsu.kismala.com

Search retrieves these headers for every message in the search
results.  Previously, this required opening and parsing every message
file.  Storing them directly in the database significantly reduces IO
and computation, speeding up search by between 50% and 10X.

Taking full advantage of this requires a database rebuild, but it will
fall back to the old behavior for messages that do not have headers
stored in the database.
2011-11-14 17:10:58 -04:00
bindings version: bump to 0.9 2011-10-11 21:50:56 -03:00
compat fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
completion fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
contrib contrib/nmbug: new script for sharing tags with a given prefix. 2011-11-12 21:24:25 -04:00
debian debian: update build dependency on dtach instead of screen 2011-11-11 18:31:44 -05:00
emacs emacs: add notmuch-show-worker function for specifying crypto processing directly 2011-11-13 15:22:16 -04:00
lib Store "from" and "subject" headers in the database. 2011-11-14 17:10:58 -04:00
packaging fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
test test/atomicity: change shebang to '#!/usr/bin/env bash' 2011-11-14 17:08:53 -04:00
util remove GCC visibility pragmas 2011-10-31 09:05:07 -03:00
vim vim: fix citation/signature fold lengths 2011-07-16 21:57:38 +03:00
.dir-locals.el Add dir-locals style variables for C++, Elisp, and shell code. 2011-06-23 16:34:57 -07:00
.gitignore python: add a .gitignore file and refine the toplevel one 2011-09-29 09:04:50 +02:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
configure Separate Emacs misc. files dir. from Emacs code dir. 2011-10-28 14:07:44 -03: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-headers.c notmuch: Fix off-by-one errors if a header is >200 characters long. 2010-06-01 16:09:29 -07:00
gmime-filter-headers.h fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07: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/README: Clean up the description of how to run the emacs interface. 2010-06-01 10:51:42 -07:00
json.c json_quote_chararray: Always return a newly talloced array 2010-04-20 08:55:31 -07:00
Makefile xutil.c: remove duplicate copies, create new library libutil.a to contain xutil. 2011-10-30 23:09:49 -03:00
Makefile.local xutil.c: remove duplicate copies, create new library libutil.a to contain xutil. 2011-10-30 23:09:49 -03:00
NEWS NEWS: mention dtach instead of screen in the description of testing changes 2011-11-12 10:46:13 -05:00
notmuch-client.h Improve handling of message/rfc822 parts by adding a new header_message_part function to the formating structure. 2011-09-05 22:58:52 -03:00
notmuch-config.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-count.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-dump.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-new.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-reply.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-restore.c xregcomp: don't consider every regex compilation failure an internal error. 2011-10-30 23:10:38 -03:00
notmuch-search.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-setup.c notmuch setup: Don't prompt about maildir synchronization 2010-11-11 03:53:14 -08:00
notmuch-show.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-tag.c cli: change argument parsing convention for subcommands 2011-10-22 19:42:54 -03:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.1 docs: Update news, man page, and online help for restore --accumulate 2011-10-23 10:27:57 -03:00
notmuch.c docs: Update news, man page, and online help for restore --accumulate 2011-10-23 10:27:57 -03: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 INSTALL/README: Clean up the description of how to run the emacs interface. 2010-06-01 10:51:42 -07:00
RELEASING add note about updating the debian symbols file to the RELEASE file 2011-06-01 13:08:26 -07:00
show-message.c Improve handling of message/rfc822 parts by adding a new header_message_part function to the formating structure. 2011-09-05 22:58:52 -03:00
TODO TODO: Add note to fix race condition with directory mtime. 2011-06-29 14:07:06 -07:00
version version: bump to 0.9 2011-10-11 21:50:56 -03: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.

Running notmuch
---------------
After installing notmuch, start by running "notmuch setup" which will
interactively prompt for configuration information such as your name,
email address, and the directory which contains your mail archive to
be indexed. You can change any answers later by running "notmuch
setup" again or by editing the .notmuch-config file in your home
directory.

With notmuch configured you should next run "notmuch new" which will
index all of your existing mail. This can take a long time, (several
hours) if you have a lot of email, (hundreds of thousands of
files). When new mail is delivered to your mail archive in the future,
you will want to run "notmuch new" again. These runs will be much
faster as they will only index new messages.

Finally, you can prove to yourself that things are working by running
some command-line searches such as "notmuch search
from:someone@example.com" or "notmuch search subject:topic". See
"notmuch help search-terms" for more details on the available search
syntax.

The command-line search output is not expected to be particularly
friendly for day-to-day usage. Instead, it is expected that you will
use an email interface that builds on the notmuch command-line tool or
the libnotmuch library.

Notmuch installs a full-featured email interface for use within
emacs. To use this, first add the following line to your .emacs file:

	(require 'notmuch)

Then, either run "emacs -f notmuch" or execute the command "M-x
notmuch" from within a running emacs.

If you're interested in a non-emacs-based interface to notmuch, then
please join the notmuch community. Various other interfaces are
already in progress, (an interface within vim, a curses interface,
graphical interfaces based on evolution, and various web-based
interfaces). The authors of these interfaces would love further
testing or contribution. See contact information below.

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