Move msgstore map to dirstore

This map represents a mapping from directory names to their associated
messagestores anyway so they should be under dirstore. This simply moves
them there and adds some methods required to interact with them.
Add new-email trigger

This patch sets up the trigger config section of aerc.conf.

Each trigger has its own function which is called from the place where
it is triggered. Currently only the new-email trigger is implemented.

The triggers make use of format strings. For instance, in the new-email
trigger this allows the user to select the trigger command and also the
information extracted from the command and placed into their command.

To actually execute the trigger commands the keypresses are simulated.

Further triggers can be implemented in the future.

Formatting of the command is moved to a new package.
Show the directory being selected in gray
Fix :close on terminal panic

Executing :close on a terminal would panic due to it already having been

This is also related to the fact that removing a tab doesn't check for
whether it actually found a tab to remove or not.
Add space which was missing
Fix grid creating too large subcontexts

The grid was not checking there was enough space for the cells so would
just attempt to create subcontexts that don't actually fit.

This attempts to use the remaining space and then if there is no space
then it just skips drawing this cell.
Fix panic when tabs.popHistory is nonexistent
fe2fef4b — Kevin Kuehler 1 year, 3 months ago
Make :next-result :prev-result relative to cursor

Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
Makefile: Use GO variable to specify compiler path

It is useful when somebody has different Go versions across one system
and first go in $PATH points to version older than 1.12 (common in
stable distributions).

Signed-off-by: Kacper Kołodziej <kacper@kolodziej.it>
Discard stdout if not redirected to file

Commit 97bee661 Printf statement at widgets/msgviewer.go#188 introduced
bad formatting in the display if stdout was not being redirected.
Add change tab command

This command allows the user to change tab by giving the tab name. This
can be tab completed too. The previous tab is stored in the tabs module
so that when a new tab is created it is still possible to go to the
previous one.

Normal invocation is :ct folder
Previous tab is :ct -
Fix error handling in maildir worker
Use latest go-maildir
Fix alternatives config
Add [a]ttach to the review message prompts
Register worker in init.

This allows backends which can't always be compiled due to missing
dependencies (say libnotmuch) to be compiled conditionally with buildflags.
Forward mailto links to server via ./aerc <mailto>
Add Unix socket for communicating with aerc
aerc(1): fix scdoc syntax error
aerc(1): document missing commands
aerc(1): Fix fallback ex key documentation