Age | Commit message (Collapse) | Author |
|
* Implement a simplified version of the REFERENCES algorithm
* Remove FormatThreads function
* Instead of acting on all threads, handle each thread independently
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
This method is called after a worker fetches a threaded directory
contents from the backend. We iterate over the threads in the same order
that they will be printed in the msglist.
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
FormatThread performs dfs on a thread tree. For every node in the tree,
a callback function is called with a thread and a format string for
that thread. The format string is to be used when displaying the full
thread tree.
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
This function can be reused by the threading code.
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
* Import the go-imap-sortthread library
* Add sortthread client to imapClient in worker
* Add handleDirectoryThreaded, which uses the go-imap-sortthread, and
converts the results to the aerc thread type
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
* Add threading-enabled config option
* Add DirectoryThreaded and FetchDirectoryThreaded types to control path
* Add generic thread type for all backends to use
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
The filter command shells out and returns almost immediately. Call
Wait() so the filter process gets reaped. Prior to this patch, aerc
creates a zombie process for every email that is viewed.
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
A pager is spawned every time an email is viewed but not killed off when
quitting the msgviewer, thus leading to process leakage. This patch
fixes this by adding a Close method to the msgview widget, which is
called in the close command.
Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
|
|
Configure an oauthbearer source without a token_endpoint
parameter would panic due to nil pointer dereference
Example
source=imaps+oauthbearer://frode.aa%40gmail.com@imap.gmail.com:993
source-cred-cmd=pass oatuh2 frode.aa@gmail.com
token_endpoint is not required as it will use the provided
password as access_token when it is not set
|
|
creating a directory must not invoke the callback, as this is meant for the
completion of the move
|
|
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.
|
|
A tab can now only be pushed onto the history if it is a selectable tab.
|
|
This reverts commit 1339faf7881f33762c6e0a4915404e362fc51de1.
|
|
This ensures that the search results follow the order of the current
sort so that cycling throught the results proceeds in displayed order.
|
|
The spinner should be shown when fetching the contents as we don't know
at that point whether there are some messages or not.
|
|
This ensures that the selectedaccount is returned if currently selected
tab is a messageviewer. This also makes it more extensible for adding
other ways of getting the selected account.
|
|
Aerc tries to open mailto:// links via the socket of the already running aerc
instance.
If no socket exists this silently errored out.
This commit starts up a new aerc instance if it can't connect to the socket
(which I think is the most common error) and if not sets up a new aerc instance
and retries to open the compositor.
This fixes https://todo.sr.ht/~sircmpwn/aerc2/295 by implementing the desired
behaviour.
|
|
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.
|
|
As suggested in #268, this adds a behaviour setting for
deleting message from message viewer.
|
|
|
|
This changes the search flags for maildir and imap backends.
They now no longer use -t for searching all text. This seems to make
more sense as being the targeted recipient. I have similarly added Cc
for -c. The text search now resides under -a for all text.
|
|
This patch ensures the following commands join their arguments with
spaces to make it easier to interact with:
- cf
- mkdir
- cd
- attach
- detach
- ct
- copy
- move
- save
|
|
|
|
This adds documentation for the config option and the command.
|
|
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.
|
|
This populates the directory info model properly when requested,
allowing the fields to be relied upon elsewhere.
This also sends the dirinfo when new messages come in.
|
|
After removing a tab we should focus the newly selected tab if it is
Interactive. This ensures things like the terminal get drawn properly.
|
|
This reverts commit ac99d9ed62644cf0259bdd79481b28c3fbcef650.
|
|
|
|
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>
|