Commit Graph

975 Commits (31d90e1d8794d95f16b76ef9c022e2237d77c633)
 

Author SHA1 Message Date
Manos Pitsidianakis 31d90e1d87
Add managesieve.rs 4 years ago
Manos Pitsidianakis 651dda67cf
Respect autoload mailbox setting 4 years ago
Manos Pitsidianakis 106dae3334
Add config overrides to mailbox filter
If per-folder config filter is defined, it overrides the app-wide
filter.
4 years ago
Manos Pitsidianakis c19b9ec181
Add auto_choose_multipart_alternative to manpage 4 years ago
Manos Pitsidianakis a3600c0cd2
Add `filter` option in mail list
Filter mail in mail list.

Example:
[listing]
filter = "not flags:seen" # show only unseen messages
4 years ago
Manos Pitsidianakis 9d20fd5576
Save forked processes for reaping 4 years ago
Manos Pitsidianakis 6c76db2063
Add delete, copy actions for envelopes 4 years ago
Manos Pitsidianakis 2a9059f9b4
Add add-attachment from pipe, default_header_values 4 years ago
Manos Pitsidianakis 6079909f9c
imap: add managesieve connection
So far only the connection is implemented, and using the
testing/manage_sieve binary you can get a shell to a managesieve server.

The managesieve interface will be used in the UI from a plugin, but the
plugin's interface isn't implemented yet.
4 years ago
Manos Pitsidianakis 63467a3c45
Check ComponentId equality on Composer::kill() 4 years ago
Manos Pitsidianakis 63af2a688a
Detect breaks on write_string_to_grid 4 years ago
Manos Pitsidianakis f10cc954e7
Don't dump mail on Account drop 4 years ago
Manos Pitsidianakis a94bb1e27a
Show float notification on refresh cmd 4 years ago
Manos Pitsidianakis 670485e8c7
compose: clear bounds of compose area properly 4 years ago
Manos Pitsidianakis 7b631beb0a
Don't panic in WorkController::drop 4 years ago
Manos Pitsidianakis 6b2a1f7757
imap: Don't fail on WouldBlock on ImapBlockingConnection 4 years ago
Manos Pitsidianakis ca51077f53
imap: Add support for untagged FETCH (FLAG.. messages
IDLE connection can get untagged "* FETCH (FLAGS ({flag_list))" messages
if any client has changed flags. Support this refresh event.
4 years ago
Manos Pitsidianakis c1a64d6c33
Add imports in tag_hash macro 4 years ago
Manos Pitsidianakis 53fa3d03da
Notify embedded terminal on embedded process exit
When an embedded process exits the main process receives a SIGCHLD. The
check on whether the embedded process is alive is done on input, so
forward an input of '\0' to get the embedded terminal to notice its
child is dead.
4 years ago
Manos Pitsidianakis 126b65817e
Forward input on input/rawinput switch
Input thread listens on stdin input and forwards the input to the main
process. When an embedded terminal is launched within the main process,
the input thread is asked to switch to raw input, that is to send the
parsed input and the raw bytes to the main process in order to get them
forwarded to the embedded terminal. The switch happens by calling
get_events and get_events_raw.

When the input thread receives an InputCommand::{No,}Raw, it has already
received an input event, since the `select!` is within the
stdin events for loop. (There's no way to `select` on blocking iterators
or raw fds, which is unfortunate.).

This commit forwards the input to the next function instead of dropping
it.
4 years ago
Manos Pitsidianakis 7807f565ec
Clear input thread channel on restore()
The channel may contain Kill commands that will cause the new thread to
exit immediately.
4 years ago
Manos Pitsidianakis 65666e6695
Fix double call of restore_input
restore_input is called in State::rcv_event on arrival of a fork
finished event:

```
            UIEvent::Fork(ForkType::Finished) => {
                self.switch_to_main_screen();
                self.switch_to_alternate_screen();
                self.context.restore_input();
                return;
            }
```

So there shouldn't be an extra call here.
4 years ago
Manos Pitsidianakis c43f3564d3
Update README on notmuch feature 4 years ago
Manos Pitsidianakis bae083cc8f
Rename Filter action to search 4 years ago
Manos Pitsidianakis 760c1e859d
Add search shortcut to shortcut map 4 years ago
Manos Pitsidianakis 33c1bf6558
Add consume newlines flag to phrase() 4 years ago
Manos Pitsidianakis 303c530488
Load libnotmuch dynamically 4 years ago
Manos Pitsidianakis ac71d627f1
Implement search for CellBuffer 4 years ago
Manos Pitsidianakis 4ac52d9d5b
Replace every use of Folder with Mailbox
Use Mailbox for consistency.
4 years ago
Manos Pitsidianakis 1245eae0be
Add Knuth–Morris–Pratt to pager 4 years ago
Manos Pitsidianakis c9469f26ee
Remove duplicate function timer::arm()
arm() was a duplicate of set_value()
4 years ago
Manos Pitsidianakis 45c0160cb6
Fix ThreadListing
ThreadListing was broken after the ThreadGroup introduction
4 years ago
Manos Pitsidianakis 68007a0842
View decoded email source by default
Toggle between decoded/raw source with view_raw_source shortcut, default
M-r
4 years ago
Manos Pitsidianakis 44da24fc96
Add left/right cursor mvments to execute bar 4 years ago
Manos Pitsidianakis c88d1cae51
Fix create_box boundary fg color 4 years ago
Manos Pitsidianakis c4c11e4abc
Make Selector widget accept FnOnce 4 years ago
Manos Pitsidianakis 499fd59c6e
melib/imap: implement refresh() 4 years ago
Manos Pitsidianakis bbdc9d69b4
melib/imap: add ImapConnection::connect() 4 years ago
Manos Pitsidianakis f38d03e43a
melib: {create,delete}_folder returns updated folders
Potential parent folders will have their children fields updated, so
just return all folders.
4 years ago
Manos Pitsidianakis 9a46e58029
imap: don't retry command on reconnection
If a command fails and connection is restarted, don't try the command
again; it only made sense in the previous connection's context.
4 years ago
Manos Pitsidianakis e3abd458ce
Add ui_dialogs in State 4 years ago
Manos Pitsidianakis a806571322
Add UIDialog and UIConfirmationDialog widgets
They are just typedefs for the Selector widget. The API is kind of
messed up and this commit is part of the process of cleaning it up:
right now to use this, you check the is_done() method which if returns
true, the done() method executes the closure you defined when creating
the widget. The closure returns a UIEvent which you can forward
application-wide by context.replies.push_back(event) or handle it in
process_event() immediately.
4 years ago
Manos Pitsidianakis e22ab2b424
ui: fix shortcuts map title not showing up on resize 4 years ago
Manos Pitsidianakis d779a94279
Fix sent_folder not getting recorded if no explicit folder conf is set 4 years ago
Manos Pitsidianakis b6efb14824
melib: remove Mailbox
Refactor Collection from melib to hold what folders have what envelopes.

Frontend accounts will now have a FolderEntry for each logical folder
and will unify many Account fields into one and eliminate a lot of
duplicate/dead code.
4 years ago
Manos Pitsidianakis b50e770b5a
ui/accounts: remove Index<usize> impls 4 years ago
Manos Pitsidianakis aab6b02db2
ui: clear selection with Esc 4 years ago
Manos Pitsidianakis e26ed83331
Update native-tls to 0.2.3 4 years ago
Manos Pitsidianakis 4090eecd04
ui: Consume Esc input events only when necessary 4 years ago
Manos Pitsidianakis 9757e523bd
debian/: add build artifacts to .gitignore 4 years ago