1
0
Fork 0
mirror of https://git.sr.ht/~rjarry/aerc synced 2025-11-14 12:46:08 +01:00
cli mail client
Find a file
Matěj Cepl 9e487f1a9b commands: make commands.Register() strict in non-accepting pointers
Previously, commands.Register allowed using pointers to new command,
e.g.:

    commands.Register(&Prefetch{})

which however made aerc crash later when some methods (e.g., Aliases,
Execute) got double pointer instead of the simple pointer they expected.

Signed-off-by: Matěj Cepl <mcepl@cepl.eu>
Reviewed-by: Tristan Partin <tristan@partin.io>
Acked-by: Robin Jarry <robin@jarry.cc>
2025-11-05 10:42:19 +01:00
.builds mark: add filter-based marking 2025-05-12 13:22:03 +02:00
.github/workflows macos: test build on go 1.23 2025-02-05 12:03:40 +01:00
app config: add contextual viewer configuration 2025-10-30 21:17:44 +01:00
commands commands: make commands.Register() strict in non-accepting pointers 2025-11-05 10:42:19 +01:00
completer textinput: make completions run async with cancellation 2024-10-24 22:13:51 +02:00
config config: create temporary-directory if it does not exist 2025-11-02 18:01:13 +01:00
contrib icon: fix installation path 2025-10-30 21:10:47 +01:00
doc config: create temporary-directory if it does not exist 2025-11-02 18:01:13 +01:00
filters html: only pass supported w3m options 2025-05-12 13:18:25 +02:00
lib imap: consistently honour message ordering preferences during updates 2025-11-05 10:42:13 +01:00
models chore: switch to using stdlib helper functions 2025-08-04 12:47:05 +02:00
stylesets stylesets: add solarized-dark 2025-08-28 09:56:54 +02:00
templates templates: convert html parts before quoting 2025-01-14 21:48:24 +01:00
worker imap: report label updates in status bar 2025-11-05 10:42:16 +01:00
.codespellrc lib: vendor-in the jwz library 2025-08-28 09:28:16 +02:00
.editorconfig release.sh: update version in GNUMakefile 2023-10-11 10:25:41 +02:00
.gitignore git: Update git ignore list for mac 2025-03-06 17:26:25 +01:00
.golangci.toml golangci-lint: update to v2.6.0 2025-11-02 18:01:13 +01:00
.mailmap mailmap: fix email typo for tim 2024-09-04 15:02:43 +02:00
CHANGELOG.md Release version 0.21.0 2025-08-28 11:34:18 +02:00
CONTRIBUTING.md contributing: fix double backtick 2024-06-17 09:37:42 +02:00
GNUmakefile golangci-lint: update to v2.6.0 2025-11-02 18:01:13 +01:00
go.mod deps: update go-jmap to v0.5.3 2025-10-30 21:12:24 +01:00
go.sum deps: update go-jmap to v0.5.3 2025-10-30 21:12:24 +01:00
LICENSE LICENSE: add license name 2022-02-06 16:04:15 +01:00
main.go reload: fix crash when reloading via IPC 2025-09-23 14:02:37 +02:00
MAINTAINERS maintainers: add inwit and ferdinandyb 2023-11-22 23:43:28 +01:00
Makefile mk: deprecate BSD make in favor of GNU make 2023-08-11 21:13:39 +02:00
README.md contrib: add application icon and logos 2025-09-23 14:09:25 +02:00

aerc

logo

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

Note that the default HTML filter additionally needs w3m to be installed along with optional unshare (from util-linux) or socksify (from dante-utils).

Documentation

Also available as man pages:

User contributions and integration with external tools:

Installation

Binary Packages

Recent versions of aerc are available on:

And likely other platforms.

From Source

Install the dependencies:

  • go (>=1.23) (Go versions are supported until their end-of-life; support for older versions may be dropped at any time due to incompatibilities or newer required language features.)
  • scdoc
  • GNU make

Then compile aerc:

$ gmake

aerc optionally supports notmuch. To enable it, you need to have a recent version of notmuch, including the header files (notmuch.h). The notmuch build tag should be automatically added. To check if it is, run the following command:

$ ./aerc -v
aerc 0.14.0-108-g31e1cd9af565 +notmuch (go1.19.6 amd64 linux)
                              ^^^^^^^^

If it is not, you can force it before building:

$ gmake GOFLAGS=-tags=notmuch

If you have notmuch headers available but do not want to build notmuch support in aerc, force GOFLAGS to an empty value:

$ gmake GOFLAGS=

To install aerc locally:

# gmake install

By default, aerc will install config files to directories under /usr/local/aerc, and will search for templates and stylesets in these locations in order:

  • ${XDG_CONFIG_HOME:-~/.config}/aerc
  • ${XDG_DATA_HOME:-~/.local/share}/aerc
  • /usr/local/share/aerc
  • /usr/share/aerc

At build time it is possible to add an extra location to this list and to use that location as the default install location for config files by setting the PREFIX option like so:

# gmake PREFIX=/custom/location
# gmake install PREFIX=/custom/location

This will install templates and other config files to /custom/location/share/aerc, and man pages to /custom/location/share/man. This extra location will have lower priority than the XDG locations but higher than the fixed paths.

Contributing

Anyone can contribute to aerc. Please refer to the contribution guidelines

Resources

Ask for support or follow general discussions on ~rjarry/aerc-discuss@lists.sr.ht.

Send patches and development related 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 confirmed bug reports and confirmed feature requests on https://todo.sr.ht/~rjarry/aerc.

Send security vulnerability reports via emails to ~rjarry/aerc-security@lists.sr.ht encrypted with the GPG key located at contrib/signing-key.asc (fingerprint DC07 18E3 22E2 C760 5EBD C831 4695 7EC0 8FD0 FE90).

License.

Change log.