notmuch clon
Find a file
Dmitry Kurochkin 1a27b33f20 Add part filename and content-id in notmuch show output if available.
Before the change, notmuch show output had filename only for
parts with "Content-Disposition: attachment".  But parts with
inline disposition may have filename as well.

The patch makes notmuch show always output filename if available,
independent of Content-Disposition.  Both JSON and text output
formats are changed.

Also, the patch adds Content-id to text output format of notmuch
show.

The main goal of these changes is to have filenames on Emacs
buttons for inline attachments.  In particular, this is very
helpful for inline patches.

Note: text format changes may require updates in clients that use
it.  The changes are:

* text part header format changed from:

    ^Lpart{ ID: 2, Content-type: text/x-diff

  to:

    ^Lpart{ ID: 2, Filename: cool-feature.patch, Content-type: text/x-diff

* attachment format changed from:

    ^Lattachment{ ID: 4, Content-type: application/octet-stream
    Attachment: data.tar.bz2 (application/octet-stream)
    Non-text part: application/octet-stream
    ^Lattachment}

  to:

    ^Lattachment{ ID: 4, Filename: data.tar.bz2, Content-type: application/octet-stream
    Non-text part: application/octet-stream
    ^Lattachment}
2011-06-28 19:19:16 -07:00
bindings python: Do not implicitely call maildir_flags_to_tags etc 2011-06-24 08:44:06 +02: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
debian debian: fix installation of notmuch-vim README 2011-06-23 20:39:29 -03:00
emacs Makefile: Make emacs compilation depend on global dependencies. 2011-06-28 11:59:48 -07:00
lib libnotmuch: build symbols list without relying on gcc -aux-info. 2011-06-28 11:59:48 -07:00
packaging fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
test test: use emacsclient(1) for Emacs tests 2011-06-28 17:10:55 -07:00
vim fix sum moar typos [error messages] 2011-06-23 15:59:03 -07:00
.dir-locals.el Add dir-locals style variables for C++, Elisp, and shell code. 2011-06-23 16:34:57 -07:00
.gitignore .gitignore: Ignore the notmuch.sym file. 2011-06-28 12:21:41 -07:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
configure fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07: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 build: Save configure options and re-use them for automatic runs of configure 2011-03-10 11:30:06 -08:00
Makefile.local Use stock GMimeSession by default 2011-06-03 17:42:54 -07:00
NEWS fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
notmuch-client.h Use stock GMimeSession by default 2011-06-03 17:42:54 -07:00
notmuch-config.c fix sum moar typos [user-visible documentation in code] 2011-06-23 15:58:50 -07:00
notmuch-count.c notmuch count: Remove special handling of "*". 2010-04-09 17:44:01 -07:00
notmuch-dump.c lib: Rename iterator functions to prepare for reverse iteration. 2010-03-09 09:22:29 -08:00
notmuch-new.c fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07:00
notmuch-reply.c fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07:00
notmuch-restore.c lib: Rework interface for maildir_flags synchronization 2010-11-11 03:40:19 -08:00
notmuch-search.c search --output=files: Output all filenames for each matching message 2011-06-28 12:14:19 -07:00
notmuch-setup.c notmuch setup: Don't prompt about maildir synchronization 2010-11-11 03:53:14 -08:00
notmuch-show.c Add part filename and content-id in notmuch show output if available. 2011-06-28 19:19:16 -07:00
notmuch-tag.c Remove some variables which were set but not used. 2011-05-11 13:27:14 -07:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.1 fix sum moar typos [user-visible documentation in code] 2011-06-23 15:58:50 -07:00
notmuch.c fix sum moar typos [user-visible documentation in code] 2011-06-23 15:58:50 -07: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 Render all parts of multipart/encrypted when decrypting. 2011-05-27 16:22:00 -07:00
TODO TODO: Clarify note about changing the way the emacs '*' command works. 2011-06-28 12:49:31 -07:00
version Increment notmuch version to 0.5 2010-11-11 20:43:56 -08:00
xutil.c lib: Add GCC visibility(hidden) pragmas to private header files. 2010-11-01 22:35:48 -07: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