No description
  • Shell 31.3%
  • C 24.7%
  • Emacs Lisp 15.8%
  • Python 12.7%
  • C++ 12%
  • Other 3.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-23 10:48:36 -03:00
bindings Add API for filtering attachments with an external program. 2026-08-16 08:31:09 -03:00
compat compat: probe for strcasestr more thoroughly 2023-08-27 19:39:23 -03:00
completion cli: add options --offset and --limit to notmuch show 2022-11-05 13:18:15 -04:00
contrib python: move legacy python bindings to contrib. 2025-02-22 07:01:47 -04:00
debian debian: install doc/examples 2026-08-16 09:22:02 -03:00
devel devel: add new tool to draw thread structure 2026-08-14 09:37:08 -03:00
doc doc/examples: add an attachment filtering program 2026-08-16 08:42:03 -03:00
emacs emacs: Switch mode before pop-to-buffer 2026-03-15 07:47:01 +09:00
lib index: implement filtering attachments with an external program 2026-08-16 08:38:21 -03:00
packaging Use https instead of http where possible 2016-06-05 08:32:17 -03:00
parse-time-string emacs: Use makefile-gmake-mode in Makefile*s 2020-08-09 21:14:36 -03:00
performance-test Add API for filtering attachments with an external program. 2026-08-16 08:31:09 -03:00
test test/T450-emacs-show: "id buttonization" is broken with emacs >= 31 2026-08-23 10:48:36 -03:00
util util: refactor sync_dir and mkdir_recursive 2026-02-16 07:24:18 +09:00
vim vim: doc: minor spelling fix 2023-05-07 14:27:33 -06:00
.dir-locals.el emacs: Set sentence-end-double-space in .dir-locals.el 2026-01-12 12:27:02 +09:00
.gitignore cli: start remote helper for git. 2026-02-16 07:24:18 +09:00
.mailmap create .mailmap file (for git shortlog/blame) 2016-07-29 06:01:44 +09:00
.travis.yml replace references to freenode with references to libera 2021-07-06 17:20:03 -03:00
AUTHORS AUTHORS: update for 0.31 2020-08-22 09:13:26 -03:00
command-line-arguments.c cli: run uncrustify 2021-03-13 08:45:34 -04:00
command-line-arguments.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
configure doc/examples: add a Firejail profile for sandboxing filtering programs 2026-08-16 08:39:33 -03:00
CONTRIBUTING devel: add CONTRIBUTING file 2026-06-23 13:30:13 +09: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 cli: run uncrustify 2019-06-14 07:41:27 -03:00
git-remote-notmuch.c cli/git-remote: add check for missing messages 2026-02-16 07:24:18 +09:00
gmime-filter-reply.c CLI: centralize initialization in notmuch_client_init 2021-05-14 06:40:37 -03:00
gmime-filter-reply.h CLI: centralize initialization in notmuch_client_init 2021-05-14 06:40:37 -03:00
hooks.c CLI: set NOTMUCH_CONFIG in hooks. 2022-06-18 08:24:46 -03:00
INSTALL INSTALL: document optional dependency on libsfsexp 2021-10-15 08:49:01 -03:00
Makefile support make goals after initial {'', dist, data}clean goal(s) 2017-03-10 08:04:27 -04:00
Makefile.global build: remove handling for legacy python bindings version 2025-02-22 07:07:46 -04:00
Makefile.local doc/examples: add a Firejail profile for sandboxing filtering programs 2026-08-16 08:39:33 -03:00
mime-node.c CLI: avoid creating mime nodes with null 'part' field 2026-08-16 09:42:42 -03:00
NEWS NEWS: escape function names 2026-01-31 13:52:06 +09:00
notmuch-client-init.c CLI: add missing file notmuch-client-init 2021-05-15 08:14:37 -03:00
notmuch-client.h cli: add options --offset and --limit to notmuch show 2022-11-05 13:18:15 -04:00
notmuch-compact.c CLI: make variable n_requested_db_uuid file scope. 2021-09-04 17:07:19 -07:00
notmuch-config.c CLI: update commentary in config file to better match code 2024-07-25 19:30:54 +09:00
notmuch-count.c CLI/{count, dump, reindex, reply, show}: enable sexp queries 2021-09-04 17:07:19 -07:00
notmuch-dump.c CLI/{count, dump, reindex, reply, show}: enable sexp queries 2021-09-04 17:07:19 -07:00
notmuch-git.py CLI/git: add reset command 2024-07-25 17:39:50 +09:00
notmuch-insert.c util: refactor sync_dir and mkdir_recursive 2026-02-16 07:24:18 +09:00
notmuch-new.c lib: add better diagnostics for over long filenames. 2023-02-20 09:22:32 -04:00
notmuch-reindex.c CLI: move indexopts variable out of shared options block 2021-10-23 09:51:50 -03:00
notmuch-reply.c cli/reply: refactor add_recipients_from_message. 2026-08-12 09:21:29 -03:00
notmuch-restore.c CLI: make variable n_requested_db_uuid file scope. 2021-09-04 17:07:19 -07:00
notmuch-search.c CLI: move query syntax to shared option 2021-09-04 17:07:19 -07:00
notmuch-setup.c CLI: make variable n_requested_db_uuid file scope. 2021-09-04 17:07:19 -07:00
notmuch-show.c cli/show: handle NULL returns from mime_node_child 2026-08-16 09:42:57 -03:00
notmuch-tag.c CLI/tag: enable sexp queries 2021-09-04 17:07:19 -07:00
notmuch-time.c cli: run uncrustify 2021-03-13 08:45:34 -04:00
notmuch.c Pass error message from GLib ini parser to CLI 2023-09-23 08:34:48 -03:00
query-string.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README replace references to freenode with references to libera 2021-07-06 17:20:03 -03:00
README.rst Use https instead of http where possible 2016-06-05 08:32:17 -03:00
sprinter-json.c CLI: stash pointer to database in sprinter structs 2022-01-18 08:08:22 -04:00
sprinter-sexp.c CLI: stash pointer to database in sprinter structs 2022-01-18 08:08:22 -04:00
sprinter-text.c CLI: stash pointer to database in sprinter structs 2022-01-18 08:08:22 -04:00
sprinter.h CLI: stash pointer to database in sprinter structs 2022-01-18 08:08:22 -04:00
status.c status: add print_status_gzbytes 2020-04-13 17:14:50 -03:00
tag-util.c Fix typos 2020-08-09 21:14:36 -03:00
tag-util.h Fix typos 2020-08-09 21:14:36 -03:00
version.txt version: 0.40~rc1 -> 0.40 2026-01-31 13:53:45 +09: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:[email protected]" 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:

	[email protected]

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.libera.chat
	Channel:	#notmuch