Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

39 lines (29 sloc) 1.92 kb

mm

Introduction

Welcome to mu mail - an emacs client for the mu maildir indexing/searching tool. It turns mu into an e-mail-client.

Mu Mail has things in common with programs such as ‘notmuch’ and ‘md’, but - in the opinion of its author - it offers some unique features as well. Basically, the mail handling (deleting, moving etc.) is inspired by Wanderlust (another emacs-based e-mail client) and dired, while it takes some cues from GMail with respect to being search-based. In practice this means that mu mail provides a ‘traditional’ folder-based e-mail client, on top of a search based back-end.

How does it work

While not necessarily interesting for all users of mu mail, for some it may be interesting to know how mu mail does its job.

Since version 0.9.8, mu has a special server command, which drops you into a command line where you can give certain commands to mu (see the mu-server man page). While it would certainly be possible to have specific commands to get lists of messages, move them, delete them etc., having a running instance around gets rid of the startup time of mu and especially the message database.

So, when running mu mail inside emacs, it fires up an instance of ‘mu server’, and communicates with it as long as it runs.

mu mail shows its results only after the mu server reports their completion. Still, the execution is asynchronous, so you do not need wait for anything. We found that, for example, deleting messages is fast enough to allow us to wait for the results. An alternative design would be to update the user-interface already; so far we are quite content with the performance.

Regarding performance, showing large numbers (thousands) of message can still be a bit slower than is desirable. This is an area for improvement still.

Jump to Line
Something went wrong with that request. Please try again.