| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
With sort.Sort, sometimes two messages with the same timestamp will switch
places every time the message list is redrawn
|
|
|
|
|
|
|
|
|
|
|
| |
Allows to set `ui.spinner=` to a string which is then split by
`ui.spinner-delimiter=` (Default: comma) instead of having a hard coded
animation.
This implementation doesn't use INIs capabilities to split strings as
it trims whitespaces breaking the default animation.
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Notmuch only allows a single write connection, all other clients trying to
modify the db block. Hence we should only open one when we actually need it.
Apparently we also need to refresh the RO DB connection upon modification,
else we get stale message tag results
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Usage:
:prompt <prompt> <command...>
Displays the prompt on the status bar, waits for user input, then
appends that input as the last argument to the command and executes it.
The input is passed as one argument to the command, unless it is empty,
in which case no extra argument is added.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Presumably some email servers will transform newlines into carriage
return new lines to better support windows users. I can't prove this but
that's the best explanation I have for my hosted email provider
(fastmail).
Without this patch, I was seeing annoying `^M`s at the end of every
filtered line.
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
|
|
|
|
|
|
|
|
|
|
| |
The code was trying to compile the `~` as well. In this case, it was
trying to match a literal `~` to the front of the supplied regex.
Fixes: 334ca89bea381 ("folder filter: only assume regex if filter is
~fmt")
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
|
| |
|
|
|
|
|
| |
This allows a single message to be forward as attachment with the
:forward -a command
|
| |
|
|
|
|
| |
The two commands did not have much code in common
|
|
|
|
| |
Fixes date parsing bug in the maildir / notmuch workers.
|
| |
|
|
|
|
|
|
|
|
| |
It's nice to be able to filter the folders displayed in the side
bar. Basic string matching can get verbose with enough folders
whitelisted.
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
|
| |
|
|
|
|
| |
This reverts commit f0a0c5aa733fa66958c113465bfc5fdd3d7cc9f0.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Choose the readline defaults for the behavior of these two
functions/keybindings. Depending on the program, either of these can
delete the whole line.
Note that by default in [compose], <C-k> is bound to :prev-field<Enter>.
Leave it up to the user whether or not they want to rebind the key in
[compose].
|
| |
|
|
|
|
|
| |
This is neccessary for `gpg-agent` to display a prompt and get the key
to unlock a given password. See https://todo.sr.ht/~sircmpwn/aerc2/250.
|
|
|
|
|
|
|
|
|
| |
Fixes ~sircmpwn/aerc2#205. Many functions do a nil check on the store,
so this changes Store() so it returns nil when msglist is nil.
It also places the Scroll() behind the nil check in the next-message command.
https://todo.sr.ht/~sircmpwn/aerc2/205
|
| |
|
| |
|
|
|
|
|
|
|
| |
We need some way to signal the backends that we are about to shutdown,
allowing them to clean up (for example in notmuch committing the db changes).
This commit implements a hook which gets called upon shutdown, providing
backends implement the io.Closer interface.
|
|
|
|
|
|
|
| |
This fixes ~sircmpwn/aerc2#195. While `read -t` works fine.
The `unread` command is not wired. This patch fixes it.
https://todo.sr.ht/~sircmpwn/aerc2/195
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces the notmuch backend.
The backend is conditionally compiled in if the "notmuch" tag is provided.
Most of the message types are implemented, with the notable exceptions
of DeleteMessages as well as any copy / move / append type.
Reason being, that those aren't normally applicable in a notmuch based workflow.
Changes v2 --> v3, based on review comments
* Use account config for configuration
|
| |
|
|
|
|
|
|
|
| |
Things like FetchEntityPartReader etc can be reused by most workers
working with raw email files from disk (or any reader for that matter).
This patch extract that common functionality in a separate package.
|
|
|
|
|
|
|
|
| |
This fixes ~sircmpwn/aerc2#245. This sets up the imap client to send
error messages to the logger of the worker. Errors now end up in the
bottom status line.
https://todo.sr.ht/~sircmpwn/aerc2/245
|
|
|
|
|
| |
This makes sure that the next-message command accepts the same arguments
in the account view and the msgview
|
|
|
|
|
|
| |
This fixes ~sircmpwn/aerc2#182
https://todo.sr.ht/~sircmpwn/aerc2/182
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
|
|
|
|
|
| |
Separatiing the ui code from aerc makes it usable as a library in
other projects.
|
|
|
|
|
|
| |
Before, lower_only was not being correctly set and was only considering
whether the string ended with a lowercase sequence. Refactored this with
some more explicit functions as the logic is a little confusing.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Before, the text/plain part of the multipart MIME message was not being
correctly terminated with its boundary. The multipart writer writes the
terminator when its Close is called, but since the call to Close() was
deferred, it was not being called until after the attachments were being
written resulting in the boundary not being included at all.
|
|
|
|
|
| |
We need to clear the filtering etc upon folder switch.
Not having a valid msgstore is however no reason not to switch directories.
|
|
|
|
|
|
|
|
|
| |
Make the msglist aware of whether we are still initializing or not.
We never stopped spinning the msglist if we didn't get any Directories back
from types.ListDirectories.
With this change, we can set the init state from the account and display
the spinner only if we don't know whether we have directories or not and else
the "no messages" string from the config.
|