| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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 -
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
useful.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Before, we were using several IMAP-specific concepts to represent
information being displayed in the UI. Factor these structures out of
the IMAP package to make it easier for other backends to provide the
required information.
|
|
|
|
|
|
|
|
| |
Before, the information needed to display different parts of the UI was
tightly coupled to the specific messages being sent back and forth to
the backend worker. Separating out a models package allows us to be more
specific about exactly what a backend is able to and required to
provide for the UI.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Assuming we always have a sorted dirlist
(other code depends on that already), we don't need to loop over the
dirStore.
Any filtering done should be performed elsewhere
|
| |
|
|
|
|
|
| |
Also sets the public List() method to return the unfiltered
list of directories directly from the store.
|
|
|
|
|
| |
Credit for this fix goes to Reto; I guess if we're not gonna be mutt
we should probabaly do things correctly.
|
|
|
|
|
| |
Now that this is available in the upstream, we no longer need to
maintain a parallel implementation.
|
|
|
|
| |
This reverts commit 0e55637aac92e748267559b7aa91a188a17c386f.
|
|
|
|
|
| |
This fixes prev/next-folder that broke after
546dfcd76dd228e0605359e9985f0b6a5672e8fa
|
| |
|
|
|
|
|
| |
Tab completion currently only works on commands. Contextual completion
will be added in the future.
|
|
|
|
|
|
| |
Because editors like vim use backupfiles and rename them to the original
name, the file handle used can point to the wrong file. Reopening the
file should fix this.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Many email providers use the imap sub-domain for imap and the smtp
sub-domain for smtp. FastMail is an example of this[1]. This is a small
quality-of-life improvement which automatically replaces imap.* with
smtp.* when going from the imap screen to the smtp screen in the wizard
[1]: https://www.fastmail.com/help/technical/servernamesandports.html
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Also expose a light wrapper method in aerc.go for tab replacement
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
|
|
|
|
|
|
| |
Remove msglist Next and Prev commands
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This implements selecting the most preferred mimetype under the
'View->Alternatives' configuration setting when viewing a message.
Mimetypes in the alternatives array are weighted by their position,
where the lower the index in the array the higher the priority, so this
is taken into account during selection.
If no message part matches a mimetype in the alternatives array, then it
selects the first mimetype in the message.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds an archive command that moves the current message into the folder
specified in the account config entry.
Supports three layouts at this point:
- flat: puts all messages next to each other
- year: creates a folder per year
- month: same as above, plus folders per month
This also adds a "-p" argument to "cp" and "mv" that works like
"--parents" on mkdir(1). We use this to auto-create the directories
for the archive layout.
|