ref: 0.3.0 aerc/lib d---------
Complete the F rune.

%F now shows the auth name or recepient name/address if the
message is from you.
Add UI options to save/pipe messages with unsupported mimetypes

Adds a message indicating the user's ability to :save or :pipe a message
with an unsupported mimetype and also adds a selector widget (similar to
the tutorial).

The selector widget was previously defined in the account wizard module,
so this commit breaks it out into its own module to allow for re-use.

Further, modify the BeginExLine() function to take an argument that
pre-populates the command line, allowing functions to initiate an ex
command without executing it.

Closes #95.
Correct capitalization in quoted_reply
Add some defaults for template options
Add Templates with Parsing

+ Changes NewComposer to return error.
+ Add lib to handle templates using "text/template".
+ Add -T option to following commands
    - compose.
    - reply
    - forward
+ Quoted replies using templates.
+ Forwards as body using templates
+ Default templates are installed similar to filters.
+ Templates Config in aerc.conf.
    - Required templates are parsed while loading config.
+ Add aerc-templates.7 manual for using template data.
lib/msgstore: fix invalid callback invocation

creating a directory must not invoke the callback, as this is meant for the
completion of the move
Fix tab refocus on remove

Previously removing a tab would always pop from the history of tabs.
This checks to see if the closing tab is the one selected, if it is then
we use the history, otherwise we only need to change the selected tab if
it was after (to the right of) the closing tab, in which case we just
decrement the selected index.
Fix pushing invalid tabs to history

A tab can now only be pushed onto the history if it is a selectable tab.
Revert "Show spinner when fetching contents"

This reverts commit 1339faf7881f33762c6e0a4915404e362fc51de1.
Preserve sorting order in search results

This ensures that the search results follow the order of the current
sort so that cycling throught the results proceeds in displayed order.
Show spinner when fetching contents

The spinner should be shown when fetching the contents as we don't know
at that point whether there are some messages or not.
70c16fc3 — Heiko Carrasco 1 year, 2 months ago
Print success to socket if no error was thrown

When Reto Brunners patch is applied (which works really well for me), the user gets to see the message
returned by AercServer. Since this is nil if no errors were thrown it
prints "result: <nil>" to the cmd. This patch fixes that by just
returning success instead of the error message when err != nil.
Add sorting functionality

There is a command and config option. The criteria are a list of the
sort criterion and each can be individually reversed.

This only includes support for sorting in the maildir backend currently.
The other backends are not supported in this patch.
Focus new tab after remove

After removing a tab we should focus the newly selected tab if it is
Interactive. This ensures things like the terminal get drawn properly.
Revert "Fix out-of-order messages by sorting as we display"

This reverts commit ac99d9ed62644cf0259bdd79481b28c3fbcef650.
Add modify-labels command

This adds the event type as well as the command implementation, but no backend
supports it yet.
Add display of unread messages in dirlist

Add an onUpdateDirs handler. This is used to invalidate the dirlist and
redraw with the correct number of recent/unread/total messages is shown.

A config option and formatting options are provided.
Add Mouseable

This adds the Mouseable interface. When this is implemented for a
component that item can accept and process mouseevents.

At the top level when a mouse event is received it is passed to the
grid's handler and then it trickles down until it reaches a component
that can actually handle it, such as the tablist, dirlist or msglist.

A mouse event is passed so that components can handle other things such
as scrolling with the mousewheel. The components themselves then perform
the necessary actions.

Clicking emails in the messagelist opens them in a new tab.

Textinputs can be clicked to position the cursor inside them.

Mouseevents are not forwarded to the terminal at the moment.

Elements which do not handle mouse events are not required to implement
the Mouseable interface.
widgets: remove redundant key check, delete is no-op if key is empty

Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
extract search criteria parsing into the backends
Fix out-of-order messages by sorting as we display

Sometimes I observe out-of-order messages when using a maildir inbox. It
appears that the UIDs for these messages are returned out of order by
the MessageStore. In order for a maildir MessageStore to return messages
in most recently received order, it must have already opened all
messages and parsed the date to use as a sort key. Rather than implement
that, simply sort messages by time as we display. This fix shows my
emails in order.