Commit Graph

581 Commits (master)

Author SHA1 Message Date
Massimo Redaelli 652c269b1d init bindings 2021-11-21 20:18:35 +01:00
Geoff Beier 330a2b20ed
conf.rs: flush stdout in Ask() after printing 2021-11-15 16:48:01 +02:00
Manos Pitsidianakis 36e29cb6fd
Add configurable mailbox sort order
Closes #25

```
     sort_order unsigned integer           (optional) Override sort order on the sidebar for this mailbox.  Example:

                                           [accounts."imap.example.com".mailboxes]
                                             "INBOX" = { index_style = "plain" }
                                             "INBOX/Sent" = { sort_order = 0 }
                                             "INBOX/Drafts" = { sort_order = 1 }
                                             "INBOX/Lists" = { sort_order = 2 }
```
2021-10-31 18:15:39 +02:00
Manos Pitsidianakis d25eb00a11
command: improve(?) command completion and add test 2021-10-07 21:29:46 +03:00
Manos Pitsidianakis 505adca54d
Add forward mail option
Forward email with shortcut 'forward' (default ctrl+f)

This opens a composing tab letting you to select receiver etc.

"composing" config setting "forward_as_attachment" selects the
forwarding behavior:

- "ask" asks you ever time
- true always forwards by attaching the entire email as a single
attachment
- false always forwards by inlining the email, like most email clients
do.

Closes #120
2021-10-02 13:38:50 +03:00
Manos Pitsidianakis e090c31f96
state: Move grid to Screen struct under terminal mod 2021-09-20 13:56:51 +03:00
Manos Pitsidianakis 20feb50475
view/thread: open the latest email in the thread by default 2021-09-18 11:36:17 +03:00
Manos Pitsidianakis f975e1004c
Add url_launcher config setting 2021-09-16 16:43:43 +03:00
Manos Pitsidianakis b88c3c573d
Add add_addresses_to_contacts command 2021-09-16 16:27:21 +03:00
Manos Pitsidianakis 32901f57d2
Add show_date_in_my_timezone pager config flag
Closes #28
2021-09-15 22:19:19 +03:00
Manos Pitsidianakis a977351f0a
mail/view: respect per-folder/account pager filter override 2021-09-13 13:21:09 +03:00
Manos Pitsidianakis e7b9d2963c
pager: add filter command, esc to clear filter 2021-09-12 17:39:51 +03:00
Manos Pitsidianakis 25579d8807
terminal/cells: remove ansi module 2021-09-12 16:36:36 +03:00
Manos Pitsidianakis 22fb2ed46c
Implement pager filter through EmbedGrid
Parse pager filter output as an EmbedGrid instead of the old ansi parser
module.
2021-09-12 14:55:24 +03:00
Manos Pitsidianakis 592339bdca
embed: split EmbedGrid to EmbedTerminal and EmbedGrid
An embedded pseudoterminal was enclosed in the EmbedGrid struct. This
commit splits it into EmbedTerminal and EmbedGrid, with EmbedGrid
containing only the CellBuffer grid logic. With this change we can reuse
EmbedGrid to parse ANSI output from external programs into meli's
CellBuffer's.
2021-09-12 13:47:32 +03:00
Manos Pitsidianakis ae8c2addab
Show compile time features in with command argument
Show compile time feature flags with compiled-with subcommand

Closes #115
2021-09-08 22:09:32 +03:00
Manos Pitsidianakis 7533df86e0
Fix compilation for netbsd-9.2
$ rustc -V
rustc 1.52.1
$ cargo -V
cargo 1.52.0

Pre-requisite steps needed for build:
- Needed to install mozilla certs
- Needed to set OPENSSL_DIR=/usr
2021-09-06 18:54:40 +03:00
Manos Pitsidianakis 13c5798c7b
conf/shortcuts.rs: add info_message_{next,previous} 2021-09-05 13:08:05 +03:00
Manos Pitsidianakis 07e166e1fb
melib/error: Add kinds: NotImplemented, NotSupported, OSError 2021-09-05 12:39:15 +03:00
Manos Pitsidianakis 72a2ba20dc
conf/accounts.rs: print info when displaying watch error 2021-09-05 12:38:40 +03:00
Manos Pitsidianakis f40ae9e11b
Change all Down/Up shortcuts to j/k 2021-09-04 20:06:07 +03:00
Manos Pitsidianakis 09f3edba76
config: show explanation if `composing` field missing 2021-09-04 20:06:07 +03:00
Manos Pitsidianakis 05393d8caa
listing/conversations: highlight two rows instead of three 2021-09-04 16:56:55 +03:00
Manos Pitsidianakis b49d965695
Fix unused var etc warnings 2021-09-04 16:52:17 +03:00
Manos Pitsidianakis 521f634e7b
melib/nntp: implement NNTP posting 2021-09-04 00:42:19 +03:00
Manos Pitsidianakis d1437ff275
command/actions.rs: ask confirmation for delete 2021-09-03 14:10:58 +03:00
Manos Pitsidianakis 5a9f63c51e
listing/compact: Fix off-by-one error in area calculation 2021-07-18 10:26:19 +03:00
Manos Pitsidianakis 9d7e877510
listing/plain: move flags to subject column 2021-07-18 10:26:19 +03:00
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.
2021-07-18 10:26:19 +03:00
Manos Pitsidianakis 64b62352d0
listing: add {unseen,selected,attachment,thread_snoozed} flag config values 2021-07-18 10:26:19 +03:00
Manos Pitsidianakis b411daddaa
listing/conversations: remove entry padding box character
Remove padding each entry with '░' box character.
2021-07-18 10:26:19 +03:00
Manos Pitsidianakis d16866e0f0
notifications: run update_xbiff even if notifications disabled 2021-01-15 16:41:40 +02:00
Manos Pitsidianakis 24b4c117e7
melib: don't use both {set,push}_references()
set_references() already calls push_references()
2021-01-15 16:41:40 +02:00
Manos Pitsidianakis 48d4343082
utilities/ProgressSpinner: add interval field and new spinners 2021-01-11 19:11:08 +02:00
Manos Pitsidianakis 2dfeb29b75
jobs/Timer: add set_interval() 2021-01-11 19:11:08 +02:00
Manos Pitsidianakis cf9457882a
melib/mbox: add MboxMetadata type and write support 2021-01-11 19:11:08 +02:00
Manos Pitsidianakis a4ae4da8b1
Add export-mbox command 2021-01-10 01:45:03 +02:00
Manos Pitsidianakis 22a64e2d76
melib: Remove unnecessary "pub use" std exports 2021-01-10 01:40:27 +02:00
Manos Pitsidianakis 781a1d0e1b
melib/backends: add collection() method to MailBackend
Keep track of the Collection state in the backend side
2021-01-10 01:31:27 +02:00
Manos Pitsidianakis eb8d29813c
utilities/Tabbed: send VisibilityChange event on changing tab 2021-01-08 18:37:51 +02:00
Manos Pitsidianakis 08af46f5ef
melib/datetime: fix test compile failure 2021-01-08 18:37:51 +02:00
Manos Pitsidianakis 622ded8021
compose: add attribution line for replies 2021-01-08 15:01:38 +02:00
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.
2021-01-08 15:01:38 +02:00
Manos Pitsidianakis eca10a5660
melib/backends: add mailbox management events to RefreshEventKind
Add mailbox management events from RFC 5423 Internet Message Store
Events

https://tools.ietf.org/html/rfc5423#page-8
2021-01-08 15:01:38 +02:00
Manos Pitsidianakis 3dba6fdf60
melib/datetime: add posix locale arg in timestamp_to_string() 2021-01-08 15:01:37 +02:00
Manos Pitsidianakis 1c25ae12eb
Use default_cell in CellBuffer resize(), clear() 2021-01-05 17:12:14 +02:00
Manos Pitsidianakis ccc083cf88
Rewrite Cellbuffer Debug impl 2021-01-05 17:12:14 +02:00
Manos Pitsidianakis 2d5f5e767c
listing/conversations: hash addr by addr_spec in from_address_list
While accumulating addresses for the 'From' list for each envelope
entry, hash the addresses by the address spec (i.e. the email address)
instead of the entire address. This prevents duplicates of the same
email address but with different display names.
2020-12-25 06:10:28 +02:00
Manos Pitsidianakis 9124ad0ae7
conf/accounts: remove some unnecessary unwraps 2020-12-25 06:10:28 +02:00
Manos Pitsidianakis ed826357a3
Don't unwrap try_recv() on async jobs channels
Job might have been canceled.
2020-12-25 06:10:28 +02:00