No description
Find a file
Robin Jarry df8c129235 filters: port colorize to awk
Python is not available on all systems. Port the colorize filter to awk
as it is a more widespread POSIX utility.

Users are free to copy the filter into their home dir and tweak the
colors to their needs. The highlighted items are:

  =============== ======= ======= ========= =================
  Item            Red     Green   Blue      Color
  =============== ======= ======= ========= =================
  quoted text 1   95      175     255       Blue
  quoted text 2   255     135     0         Orange
  quoted text 3   175     135     255       Purple
  quoted text 4   255     95      215       Pink
  quoted text *   128     128     128       Grey
  diff meta       255     255     255       White bold
  diff chunk      205     0       205       Cyan
  diff added      0       205     0         Red
  diff removed    205     0       0         Green
  signature       175     135     255       Purple
  header          175     135     255       Purple
  url             255     255     175       Yellow
  =============== ======= ======= ========= =================

This assumes a terminal emulator with true color support and with
a dark/black background.

Link: https://github.com/termstandard/colors
Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-21 19:16:00 +01:00
.builds build: check make install 2022-01-24 09:38:56 +01:00
.github/workflows github: add workflow to test on macos 2022-01-25 09:35:08 +01:00
commands search/filter: remove from status bar after 20 seconds 2022-02-19 22:29:40 +01:00
completer completions: add support for completing multiple addresses 2022-01-07 13:54:10 +01:00
config config: fix default text/plain filter 2022-02-19 23:11:03 +01:00
contrib contrib: add xdg desktop entry 2022-02-19 18:42:44 +01:00
doc config: do not hardcode sharedir 2022-02-19 15:24:55 +01:00
filters filters: port colorize to awk 2022-02-21 19:16:00 +01:00
lib config: do not hardcode sharedir 2022-02-19 15:24:55 +01:00
models models: add RFC822 headers to OriginalMail 2020-11-14 15:40:13 +01:00
templates compose: add default template for new messages 2022-01-19 21:42:41 +01:00
widgets imap: improve reconnect stability 2022-02-06 17:06:20 +01:00
worker imap: start reconnect when initial connect fails 2022-02-20 22:04:16 +01:00
.editorconfig Add .editorconfig file 2022-01-20 21:43:47 +01:00
.gitignore config: do not hardcode sharedir 2022-02-19 15:24:55 +01:00
aerc.go main: use terminfo to set window title 2022-02-20 21:29:20 +01:00
go.mod main: use terminfo to set window title 2022-02-20 21:29:20 +01:00
go.sum main: use terminfo to set window title 2022-02-20 21:29:20 +01:00
LICENSE LICENSE: add license name 2022-02-06 16:04:15 +01:00
Makefile filters: restore plaintext awk script 2022-02-20 23:46:29 +01:00
README.md readme: add license info 2022-02-06 16:37:05 +01:00

aerc

builds.sr.ht status GitHub macOS CI status

aerc is an email client for your terminal.

This is a fork of the original aerc by Drew DeVault.

A short demonstration can be found on https://aerc-mail.org/

Join the IRC channel: #aerc on irc.libera.chat for end-user support, and development.

Usage

On its first run, aerc will copy the default config files to ~/.config/aerc on Linux or ~/Library/Preferences/aerc on MacOS (or $XDG_CONFIG_HOME/aerc if set) and show the account configuration wizard.

If you redirect stdout to a file, logging output will be written to that file:

$ aerc > log

For instructions and documentation: see man aerc and further specific man pages on there.

Note that the example HTML filter (off by default), additionally needs w3m and dante to be installed.

Installation

Binary Packages

Recent versions of aerc are available on:

And likely other platforms.

From Source

Install the dependencies:

Then compile aerc:

$ make

aerc optionally supports notmuch. To enable it, you need to have a recent version of notmuch, including the header files (notmuch.h). Then compile aerc with the necessary build tags:

$ GOFLAGS=-tags=notmuch make

To install aerc locally:

# make install

Contribution Quick Start

Anyone can contribute to aerc. First you need to clone the repository and build the project:

$ git clone https://git.sr.ht/~rjarry/aerc
$ cd aerc
$ make

Patch the code. Make some tests. Ensure that your code is properly formatted with gofmt. Ensure that everything builds and works as expected. Ensure that you did not break anything.

  • If applicable, update unit tests.
  • If adding a new feature, please consider adding new tests.
  • Do not forget to update the docs.

Once you are happy with your work, you can create a commit (or several commits). Follow these general rules:

  • Limit the first line (title) of the commit message to 60 characters.
  • Use a short prefix for the commit title for readability with git log --oneline.
  • Use the body of the commit message to actually explain what your patch does and why it is useful.
  • Address only one issue/topic per commit.
  • If you are fixing a ticket, use appropriate commit trailers.
  • If you are fixing a regression introduced by another commit, add a Fixes: trailer with the commit id and its title.

There is a great reference for commit messages in the Linux kernel documentation.

Before sending the patch, you should configure your local clone with sane defaults:

$ git config format.subjectPrefix "PATCH aerc"
$ git config sendemail.to "~rjarry/aerc-devel@lists.sr.ht"

And send the patch to the mailing list:

$ git send-email --annotate -1

Wait for feedback. Address comments and amend changes to your original commit. Then you should send a v2:

$ git send-email --in-reply-to=$first_message_id --annotate -v2 -1

Once the maintainer is happy with your patch, they will apply it and push it.

Resources

Send patches and questions to ~rjarry/aerc-devel@lists.sr.ht.

Instructions for preparing a patch are available at git-send-email.io

Subscribe to release announcements on ~rjarry/aerc-announce@lists.sr.ht

Submit bug reports and feature requests on https://todo.sr.ht/~rjarry/aerc.

License.