Commit Graph

67 Commits (9dc4d4055cb2f854e835748315677bf4a2db2012)

Author SHA1 Message Date
Manos Pitsidianakis 9dc4d4055c listing: add focus_{left,right} shortcuts to switch focus
This allows you to make the mail entry column occupy the whole screen if
you press focus_right (Right key) twice.
2 years ago
Manos Pitsidianakis f76f4ea3f7 docs: add meli.7, a general tutorial document
This commit also changes some shortcut names.
2 years ago
Manos Pitsidianakis bde87af387 Refactor filter() method in Listing trait 2 years ago
Manos Pitsidianakis 9cb66ef818 Fix all clippy warnings in `meli` crate 2 years ago
Guillaume Ranquet d921b3c320 compact.rs: use mail sorting parameters from config
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2 years ago
Manos Pitsidianakis 5a9f63c51e
listing/compact: Fix off-by-one error in area calculation 3 years ago
Manos Pitsidianakis ad2a10478e
listing/compact: move flags to subject column
Flags (attachment, unseen, etc) being their own column
overcomplicated code, so just prepend them to subject column.
3 years ago
Manos Pitsidianakis 64b62352d0
listing: add {unseen,selected,attachment,thread_snoozed} flag config values 3 years ago
Manos Pitsidianakis 781a1d0e1b
melib/backends: add collection() method to MailBackend
Keep track of the Collection state in the backend side
3 years ago
Manos Pitsidianakis 6d63429ad3
Add scrolling context to StatusBar
- Whenever a scrolling context is entered/exited, send a ScrollUpdate event.
- StatusBar maintains a stack of scrolling contexts and displays the
last one, if it exists. Each context is associated with a ComponentId.
- To handle dangling contexts after their Components aren't visible
anymore, send a VisibilityChange event in situations where that scenario
is possible.
3 years ago
Manos Pitsidianakis ed826357a3
Don't unwrap try_recv() on async jobs channels
Job might have been canceled.
3 years ago
Manos Pitsidianakis 48e7a493a9
Add reload-config command
Closes #84 Add "reload configuration" command
4 years ago
Manos Pitsidianakis b659749880
listing: scroll account sidebar menu
Closes #85 Accounts sidebar doesn't scroll
4 years ago
Manos Pitsidianakis 31e4ed006d
listing: fix off by one error in PageDown movement 4 years ago
Manos Pitsidianakis 594a2bd0dd
listing: add set operations to range select actions
Add symmetric difference (default), union, difference and intersection
modifiers for selecting ranges. That way you can quickly construct the
selection set you need.
4 years ago
Manos Pitsidianakis 05ef863a45
utilities: move PageMovement to components mod 4 years ago
Manos Pitsidianakis 310d02042f
Rename toggle_thread_snooze to "toggle thread_snooze"
For consistency with other toggle commands.
4 years ago
Manos Pitsidianakis a4b78532b7
Refactor job structs into JoinHandle
Put oneshot::channel<R> into JoinHandle<R>
4 years ago
Manos Pitsidianakis fadf20d7b1
NotificationType: add melib::ErrorKind 4 years ago
Manos Pitsidianakis 20b02ffd4f
Lookup tag color/ignore settings in all three setting levels
There are three setting levels for tag settings:

- per mailbox override    ^
- per account override    |
- global setting          |
                        depth

So lookup in each of them in this order for configuration, not just the
deepest level.
4 years ago
Manos Pitsidianakis a1585d4006
components/listing: draw rows select status at all times 4 years ago
Manos Pitsidianakis ed27ed604c
listing: select multiple messages with a motion
- Press a number (movement multiplier)
- Press "select_entry" shortcut (default: v)
- Press a movement (arrow keys, PageUp/Down, Home/End)
- Resulting selection will be symmetric difference of previous selection
plus all the entries traversed with movement
4 years ago
Manos Pitsidianakis 14663e46b9
Remove some old TODO comments 4 years ago
Manos Pitsidianakis 8a6bf3b217
Preserve Account order from configuration file
Use IndexMap to preserve the order of accounts in the UI from the
account definitions.
4 years ago
Manos Pitsidianakis fe4dae12df
listing/*: show MailboxEntry::status() when length is 0
Show the MailboxEntry::status() string when self.length == 0, instead of
"MAILBOX is empty".
4 years ago
Manos Pitsidianakis 70a4409e59
mail/listing*: various theme color fixes 4 years ago
Manos Pitsidianakis 26b327d86a
mail/listing*: clear selection after perform_action() 4 years ago
Manos Pitsidianakis 99fbac3806
Remove unused variables/functions 4 years ago
Manos Pitsidianakis 0882dbbad0
melib/Collection: put all fields behind a mutex 4 years ago
Manos Pitsidianakis 08d8c05a67
CompactListing: update self.rows{,_drawn} on row update
self.rows{,_drawn} were left unupdated, and stale envelope hashes could
result in panics
4 years ago
Manos Pitsidianakis 1bac926bdc
CompactListing: add row_attr macro
Add macro to calculate theme attribute for given thread row
4 years ago
Manos Pitsidianakis 5e1fa2d8d7
CompactListing: add select command
Select envelopes based on query
4 years ago
Manos Pitsidianakis ddafde7b37
jobs: save handle for each Job
If we save the JoinHandle for each task, we can cancel it in future
commits if we have to timeout network requests.
4 years ago
Manos Pitsidianakis a7e177586a
Fix clippy lints 4 years ago
Manos Pitsidianakis bbedeed3e3
More imap async fixes 4 years ago
Manos Pitsidianakis 4721073bc3
Rename jobs1 to jobs 4 years ago
Manos Pitsidianakis e06308fed2
MailBackend: change more methods to Futures 4 years ago
Manos Pitsidianakis bfbaf3d617
Utilize EnvelopeRemove events
EnvelopeRemove events were not ever used in the UI
4 years ago
Manos Pitsidianakis efb06be09b
melib: return Result<_> from operation()
Envelope might have been deleted before main thread requests an
operation, which is a race condition.
4 years ago
Manos Pitsidianakis ca11c8e474
Remove useless debug prints 4 years ago
Manos Pitsidianakis c07185a3aa
regexp: add priority field to regular expressions 4 years ago
Manos Pitsidianakis 465c78e903
Add Cell::keep_attrs() method 4 years ago
Manos Pitsidianakis a17f0b4fd4
listing: rework MailListingTrait
split redraw_list() to redraw_threads_list() and redraw_envelope_list()
4 years ago
Manos Pitsidianakis a86c1cbb26
listing: redraw on EnvelopeUpdate events 4 years ago
Manos Pitsidianakis c5fe511d95
notmuch: don't remove tags from tag_index
When removing a tag, we shouldn't also remove it from the tag index.
4 years ago
Manos Pitsidianakis eb701695f7
Remove fnv crate 4 years ago
Manos Pitsidianakis d8135674df
themes: add {even,odd}_unseen, {even,odd}_selected, {even,odd}_highlighted
Suggested in #21
4 years ago
Manos Pitsidianakis 4930d1b46c
Add Italics, Blink, Dim and Hidden text attributes
Text attributes have been rewritten as bit flags, so for example instead of
"BoldUnderline" you'd have to define "Bold | Underline" in your theme
settings.

Requested in #21
4 years ago
Manos Pitsidianakis 3d7b9ff7cb
Move Query to melib 4 years ago
Manos Pitsidianakis fd60be482f
Open sidebar for mailbox navigation with Left/Right arrow keys
Left/Right arrow keys change focus between the sidebar and mailbox
listing. If focused on sidebar, move arrow keys to select mailbox and
open with 'Enter'. Press Right arrow key to return to mailbox listing.

- Mailbox focused:
  +--+-------------+
  |~ |=============|
  |~ |=============|
  |  |=============|
  |~ |=============|
  |~ |=============|
  +--+-------------+
- Press `Left` arrow key
- Menu focused:
  +--------+-------+
  |~~~~    |=======|
  |~~      |=======|
  |        |=======|
  |~~~     |=======|
  |~~~~    |=======|
  +--------+-------+
- Press `Right` arrow key to return
4 years ago