ref: 1b673b5ea7d06ef914e9d48ff7299f8b5f2119fd aerc/widgets d---------
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
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 alternatives config
Add [a]ttach to the review message prompts
Add Unix socket for communicating with aerc
f81e4bd4 — Kevin Kuehler 1 year, 3 months ago
Implement :filter, :clear

Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
Add :attach command for compose

Allow users to add attachments to emails in the Compose view. Syntax is
:attach <path>, where path is a valid file. Attachments will show up in
the pre-send review screen.
Add option to always show mimetype in viewer

A user may want to be able to see what mimetype they are viewing, so
that they can determine what program it may be opened in or for some
other reason.

The config option is under the [viewer] section and is called
'always-show-mime'. It defaults to false to preserve the current
Remove passing of showHeaders explicitly

Where it is needed the configs are already available so just extract the
value from these.
Ensure new partswitcher doesn't start on multipart
Display user specified headers in viewer if present
Show currently pressed keys in statusline

This patch adds the currently pressed keys to the statusline. This is
useful when keybindings are multiple keys long and you might forget
which keys are already pressed.
Revert "Ensure new partswitcher doesn't start on multipart"

This reverts commit 41390bc3e1e557eff15e8159767f206b3b74ea30.
When reviewing an email don't pass characters on

This stops characters being passed to the focused box when reviewing an
email. To edit headers the user should go back to the edit page.
Ensure new partswitcher doesn't start on multipart
Don't initialize an invalid pty size
Add clickable tabs

This introduces a new interface `Clickable`. I'd imagine this would be
implemented for most widgets eventually and would allow for programs run
in the terminal to also have their mouse events forwarded to them.

For the tabs it was relatively simple to check that the position of the
click is within the boxes for the tabs. For other components I'd imagine
that some state representing their currently drawn bounding box would be
Add backtab to tutorial navigation

This allows users to use backtab (Shift+tab) to go back through the
fields in the tutorial, like C-K. This then mimics the other methods in
having a forward and backward variant.

Also documented this in the wizard help paragraph.
Fix crashes when operating on empty folder (#216)