Age | Commit message (Collapse) | Author |
|
Tabstrip didn't take into account the width of the context. Now, it just
shows as many tabs as can fit and truncates the last one if necessary.
In future it probably would be best to ensure that the selected tab is
rendered on the screen.
|
|
This adds tab completion to textinput components. They can be configured
with a completion function. This function is called when the user
presses <tab>. The first completion is initially shown to the user
inserted into the text. Repeated presses of <tab> or <backtab> cycle
through the completions list. The completions list is invalidated when
any other non-tab-like key is pressed.
Also changed is some logic for current completion generation so that
all available commands are returned when <tab> is pressed with no
current text and similarly for arguments of commands.
|
|
|
|
|
|
Aerc will keep track of the previous 1000 commands, which the user can
cycle through using the arrow keys while in the ex-line. Pressing up
will move backwards in history while pressing down will move forward.
|
|
|
|
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.
|
|
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.
|
|
|
|
Executing :close on a terminal would panic due to it already having been
removed.
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.
|
|
|
|
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.
|
|
|
|
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
|
|
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>
|
|
Commit 97bee661 Printf statement at widgets/msgviewer.go#188 introduced
bad formatting in the display if stdout was not being redirected.
|
|
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 -
|
|
|
|
|
|
|
|
|
|
This allows backends which can't always be compiled due to missing
dependencies (say libnotmuch) to be compiled conditionally with buildflags.
|
|
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
|
|
|
|
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.
|
|
|
|
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
behaviour.
|
|
Where it is needed the configs are already available so just extract the
value from these.
|
|
|
|
When a directory is opened, start watching its "new" subdirectory for
incoming messages using the fsnotify library. When creation events are
detected, run the Unseen routine to move the message from new to cur and
add new UIDs to the store, updating the UI's list of directory contents
as we go.
|
|
|
|
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.
|
|
|
|
This reverts commit 41390bc3e1e557eff15e8159767f206b3b74ea30.
|
|
|
|
If the column weights do not collectively divide the extent of the grid
layout then some width was not used and so would not be redrawn,
resulting in previous drawings showing through.
This fixes this by checking if there is any remainingExact width and if
there is it is assigned to the weighted columns by their proportion from
left to right.
|
|
This patch adds the ability to control whether aerc captures mouseevents
or not. By default it will be set to not capture events.
|
|
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.
|
|
Fixes #171
|
|
|
|
|
|
|
|
|
|
Email headers can be encoded with different charsets, which is signalled
using a special character sequence. The go-message package provides two
different methods for accessing header values, Get(key) (actually
inherited from the embedded textproto.Header) which returns the raw
header value and Text(key), which returns the header's value decoded as
UTF-8.
Before, in the maildir backend, we were using the Get method which
sometimes resulted in encoded headers being displayed in the UI. This
patch replaces the incorrect usage of Get() with Text().
|
|
On a slow network connection, running these commands without this guard
will cause aerc to panic.
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
|