Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
a threads-with-tags style, lightweight and fast, email client for notmuch, inspired by sup and others
C++ Python CSS Other
branch: master

README.md

astroid mua

A graphical threads-with-tags mail user agent based on sup and notmuch. Written in C++ using GTK+, WebKit and gmime.

design and user interface goals

  • (keyboard) fully operatable by keyboard only - but accept mouse clicks
  • lightweight.
  • (partly done) base interface on sup, but allow buffers to be dragged out or separated as windows so that multiple views/buffers can be seen at one time.
  • (done) allow several simultaneous windows.
  • (done) display html mail and some attachments inline.
  • (done) render math using MathJax
  • (partly done) syntax highlighting between triple-backtick tags (markdown style)
  • (not done) built-in crypto (gpg,..) support.
  • (only vim) editors: embed vim or emacs (possibly ship a simple editor)
  • (linux) Support: Platforms supported by notmuch and other libraries, specifically: Linux, *BSD, Mac, Windows..

considerations

  • Never use deprecated libraries - use as few libraries as possible.
  • Never rewrite something if it exists an active library for it.
  • All database operations / mail handling should be done by notmuch or other tools.

licence and attribution

GNU GPL v3 or later:

Copyright (c) 2014  Gaute Hope <eg@gaute.vetsj.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

installation and usage

astroid uses scons for building, also you might need git for the build process to work properly. Both should be available in most distributions.

A fairly recent version of GTK+ and glib with their C++ bindings are also required, along with boost, gmime and a compiler that supports C++11. Of course, the notmuch libraries are also required.

compiling

$ scons

to run the tests do:

$ scons test

installing

Configure with a prefix and install:

$ scons --prefix=/usr build
$ scons --prefix=/usr install

this will install the astroid binary into /usr/bin/ and data files into /usr/share/astroid/.

configuration

astroid uses the $XDG_CONFIG_HOME/astroid directory (or $HOME/.config/astroid if it is not set) for storing its configuration file. When you first run astroid it will set up the default configuration file there. This is a JSON file created by boost::property_tree. Options not set here will be set to their default values as specified in src/config.cc.

By default astroid looks in $HOME/.mail for the notmuch database, but you can change this in the configuration file. You can also set up default queries and accounts for sending e-mail there.

you can run:

$ astroid --new-config

to create a new configuration file in the default location, you can also specify a location of the new config file with the -c argument.

running and usage

$ ./astroid

press ? to get a list of available key bindings in the current mode, navigate up and down using j and k. The list is updated depending on the mode you are in.

patches, help, comments and bugs

Report on the github page or to the mailinglist at: astroidmail@googlegroups.com, subscribe online or by sending an email to: astroidmail+subscribe@googlegroups.com.

Contributions to Astroid in the form of patches, documentation and testing are very welcome. Information on how to contribute to astroid can be found in the wiki.

Also check out #astroid or #notmuch on irc.freenode.net.

acknowledgements

The main inspiration for astroid is the sup mail user agent. sup provided inspiration for notmuch which is a mail indexer. astroid is using notmuch as a backend.

Some parts of the user interface and layout have been copied from or has been inspired by the Geary mail client. One of the other notmuch email clients, ner, has also been used for inspiration and direct code copy some times.

Something went wrong with that request. Please try again.