notmuch clon
Find a file
David Bremner 852167479f lib/message_file: open gzipped files
Rather than storing the lower level stdio FILE object, we store a
GMime stream. This allows both transparent decompression, and passing
the stream into GMime for parsing. As a side effect, we can let GMime
close the underlying OS stream (indeed, that stream isn't visible here
anymore).

This change is enough to get notmuch-{new,search} working, but there is still
some work required for notmuch-show, to be done in a following commit.
2019-05-03 07:48:43 -03:00
bindings python: support relative path in default database 2019-04-24 07:10:53 -03:00
compat Use rooted paths in .gitignore files 2017-08-18 19:42:35 -03:00
completion completion: more complete completion for zsh. 2018-10-02 21:04:26 -03:00
contrib contrib/notmuch-mutt: add install target 2018-09-18 07:54:33 -03:00
debian build: drop support for gmime-2.6 2019-05-03 06:49:49 -03:00
devel use #!/usr/bin/env python consistently 2018-06-14 20:38:20 -03:00
doc doc: exclude notmuch-emacs.rst if emacs is not present. 2019-04-24 06:53:13 -03:00
emacs emacs: Make first documentation line distinct for "a" and "x" commands. 2019-04-26 08:18:10 -03:00
lib lib/message_file: open gzipped files 2019-05-03 07:48:43 -03:00
packaging Use https instead of http where possible 2016-06-05 08:32:17 -03:00
parse-time-string fix typos 2018-01-04 20:35:58 -04:00
performance-test performance-tests: tests for renamed/copied files in notmuch new 2019-04-05 12:14:58 -03:00
test lib/message_file: open gzipped files 2019-05-03 07:48:43 -03:00
util util/gmime-extra: add g_mime_stream_gzfile_{new, open} 2019-05-03 07:48:38 -03:00
vim Fix typos as found by codespell 2018-03-24 20:09:54 -03:00
.dir-locals.el .dir-locals.el: changed one-char comment prefix '; ' to two; '; ; ' 2012-01-22 08:41:37 -04:00
.gitignore build: ignore *.stamp 2019-04-24 06:53:13 -03:00
.mailmap create .mailmap file (for git shortlog/blame) 2016-07-29 06:01:44 +09:00
.travis.yml travis: bump gmime depends to 3.0 2019-05-03 06:59:23 -03:00
AUTHORS move more http -> https 2018-05-03 20:59:20 -03:00
command-line-arguments.c cli: some keyword options can be supplied with no argument 2017-12-29 16:45:35 -04:00
command-line-arguments.h cli: some keyword options can be supplied with no argument 2017-12-29 16:45:35 -04:00
configure gmime-cleanup: no longer need to use GMime major version during build 2019-05-03 06:58:21 -03:00
COPYING Use https instead of http where possible 2016-06-05 08:32:17 -03:00
COPYING-GPL-3 Use https instead of http where possible 2016-06-05 08:32:17 -03:00
debugger.c Avoid spurious gcc warning in debugger.c 2018-10-21 10:25:07 -03:00
gmime-filter-reply.c index: explicitly follow GObject conventions 2018-10-21 10:21:26 -03:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
hooks.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
INSTALL build: drop support for gmime-2.6 2019-05-03 06:49:49 -03:00
Makefile support make goals after initial {'', dist, data}clean goal(s) 2017-03-10 08:04:27 -04:00
Makefile.global release: use xz compression 2019-03-27 17:59:40 -03:00
Makefile.local release: use xz compression 2019-03-27 17:59:40 -03:00
mime-node.c gmime-cleanup: pass NULL as default GMimeParserOptions 2019-05-03 06:58:00 -03:00
NEWS NEWS: deprecate Emacs 24 2019-04-14 08:28:02 -03:00
notmuch-client.h gmime-cleanup: drop all arguments unused in GMime 3 2019-05-03 06:56:38 -03:00
notmuch-compact.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-config.c gmime-cleanup: remove obsolete gpg_path configuration option and crypto contexts 2019-05-03 06:55:04 -03:00
notmuch-count.c cli: make notmuch count --exclude a boolean argument 2017-10-15 19:22:40 -03:00
notmuch-dump.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-insert.c gmime-cleanup: drop all arguments unused in GMime 3 2019-05-03 06:56:38 -03:00
notmuch-new.c gmime-cleanup: drop all arguments unused in GMime 3 2019-05-03 06:56:38 -03:00
notmuch-reindex.c gmime-cleanup: drop all arguments unused in GMime 3 2019-05-03 06:56:38 -03:00
notmuch-reply.c gmime-cleanup: pass NULL arguments explicitly where GMime 3.0 expects it 2019-05-03 06:57:27 -03:00
notmuch-restore.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-search.c gmime-cleanup: pass NULL arguments explicitly where GMime 3.0 expects it 2019-05-03 06:57:27 -03:00
notmuch-setup.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-show.c gmime-cleanup: pass NULL arguments explicitly where GMime 3.0 expects it 2019-05-03 06:57:27 -03:00
notmuch-tag.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-time.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
notmuch.c gmime-cleanup: drop unused gmime #defines and simplify g_mime_init () 2019-05-03 06:56:58 -03:00
query-string.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README.rst Use https instead of http where possible 2016-06-05 08:32:17 -03:00
sprinter-json.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
sprinter-sexp.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
sprinter-text.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
sprinter.h cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
status.c cli: add print_status_message() 2018-05-26 07:32:14 -07:00
tag-util.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
tag-util.h fix typos 2018-01-04 20:35:58 -04:00
version bump version to 0.28.3 2019-03-05 21:46:41 -04: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:

	(autoload 'notmuch "notmuch" "Notmuch mail" t)

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:

	https://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