| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basic searching is supported with the following:
- read messages
- unread messages
- from addresses
- text in body
- text in subject
- text in all
The implementation loops through all messages in the selected directory.
It tries to be smart by detecting which parts of each message the search
query needs to use and only loads these from the filesystem.
|
| |
|
|
|
|
| |
Syncs back special notmuch tag like unread to the underlying maildir store
|
|
|
|
|
|
| |
For some reason the current code frequently segfaults due to an
invalid C memory address. This commit mediates that by never keeping an object
alive longer than absolutely necessary.
|
| |
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the ability for per-account signatures in the accounts.conf
config file. The signature is added to emails in the editor at the
bottom of the email. This includes when forwarding, replying to, and
composing emails.
There are two config options: signature-file and signature-cmd. The
former allows a signature to be read from a file and the latter allows
an arbitrary command to be executed to return the signature.
The config options have been documented in aerc-config
|
|
|
|
|
| |
This adds the event type as well as the command implementation, but no backend
supports it yet.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
This patch adds search behaviour to allow searching in the body of the
messages, the entire text (body + header), and searching just the from
header.
|
|
|
|
|
| |
This ensures that a message with e.g. "RE: " at the start won't get
another "Re: ".
|
|
|
|
|
| |
This ensures that the check for a text message to use in the reply is
performed (more) correctly and so uses the plaintext more often.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This means that if the user cycles through all completions then they
will see the initial string they entered.
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
|
|
|
| |
Os.SET_SEEK is deprecated, it's recommended to use contants from io
package
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
|
|
|
| |
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
|
| |
|
| |
|
|
|
|
|
| |
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
|