From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 83BA5431FB6 for ; Sat, 29 Sep 2012 05:35:08 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 1.363 X-Spam-Level: * X-Spam-Status: No, score=1.363 tagged_above=-999 required=5 tests=[RDNS_DYNAMIC=0.363, TO_NO_BRKTS_DYNIP=1] autolearn=unavailable Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4AsUOBVNBWaS for ; Sat, 29 Sep 2012 05:35:08 -0700 (PDT) Received: from narco.pvt.stoakes.net (dsl-202-173-137-105.sa.westnet.com.au [202.173.137.105]) by olra.theworths.org (Postfix) with ESMTP id E9FF1431FAE for ; Sat, 29 Sep 2012 05:35:07 -0700 (PDT) Received: by narco.pvt.stoakes.net (Postfix, from userid 1000) id 0DCA0E5E5F; Sat, 29 Sep 2012 22:05:06 +0930 (CST) Date: Sat, 29 Sep 2012 22:05:06 +0930 From: Tim Stoakes To: notmuch@notmuchmail.org Subject: [ANNOUNCE] notmuchfs - A virtual maildir file system for notmuch queries Message-ID: <20120929123506.GM27230@mail.stoakes.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Sep 2012 12:35:08 -0000 Hello fellow notmuch-ers, What is notmuchfs? ------------------ Notmuchfs implements a virtual file system which creates maildirs from notmuch mail query results. This is useful for using notmuch with tools which are not aware of notmuch, only maildirs - such as mutt. Basically you 'mkdir' your query strings, then point your tool of choice at that directory, and it turns into a virtual maildir containing the query results. How does it work? ----------------- A notmuchfs virtual file system is mounted referencing a particular existing (real) directory called the 'backing store'. Directories created within the backing store, when read, appear to have the standard maildir format (e.g. cur/, new/, tmp/ sub-directories). Notmuchfs interprets the names of these backing store directories as notmuch queries, and fills the cur/ virtual maildir sub-directory with virtual messages which are the result of executing that query (at the instant in time that the directory is read). Each virtual maildir message file, when read, appears to have the exact content of the message referenced by the notmuch query, augmented with an 'X-Label' header generated automatically by notmuchfs, containing the notmuch tags of that message. Additional 'glue' scripts are provided to augment this, to integrate it more tightly with MUA-like tools, specifically 'mutt', giving the ability to alter notmuch tags, create new queries, etc. Why? ---- I wanted to use notmuch with mutt. I didn't feel that ploughing though mutt's codebase to add tight integration was the quickest way to a result, so notmuchfs was born. I developed notmuchfs in 2011, but I am only now able to release it. In the mean-time, the excellent 'mutt-kz' was released, scratching my initial itch. Notmuchfs solves a broader problem - e.g. a notmuch-aware courier-imap is not too much of a stretch - so I think there is room for the different approaches. More information ---------------- https://github.com/tsto/notmuchfs https://github.com/tsto/notmuchfs/blob/master/README.md https://github.com/tsto/notmuchfs/blob/master/README.MUTT.md https://github.com/tsto/notmuchfs/blob/master/ISSUES Perhaps this will scratch someone else's itch too. Tim -- Tim Stoakes