Commit Graph

318 Commits (94bd84b45d53b0e0fae52198fbdc05179b87cccc)

Author SHA1 Message Date
Manos Pitsidianakis 94bd84b45d Fix clippy lints for `meli` crate 2022-09-11 15:19:40 +03:00
Manos Pitsidianakis 388d4e35d6 listing/offline.rs: add in-progress messages while connecting in IMAP 2022-09-11 15:00:30 +03:00
Manos Pitsidianakis 9cbbf71e0f melib/email/attachments: Add DecodeOptions struct for decoding 2022-09-11 01:22:06 +03:00
Manos Pitsidianakis 8c7b001aa5 listing/conversations.rs: add `thread_subject_pack` command to pack different inner thread subjects in entry title 2022-09-09 02:03:13 +03:00
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.
2022-09-07 16:39:15 +03:00
Manos Pitsidianakis f76f4ea3f7 docs: add meli.7, a general tutorial document
This commit also changes some shortcut names.
2022-09-05 16:25:59 +03:00
Manos Pitsidianakis cbe593cf31 mail/compose: add configurable header preample suffix and prefix for editing
This commit adds a new configuration value for the composing section of
settings. Quoting the documentation:

 wrap_header_preamble: Option<(String, String)>
 optional

 Wrap header preample when editing a draft in an editor. This allows you
 to write non-plain text email without the preamble creating syntax
 errors. They are stripped when you return from the editor. The values
 should be a two element array of strings, a prefix and suffix. This can
 be useful when for example you're writing Markdown; you can set the
 value to ["<!--",\ "-->"] which wraps the headers in an HTML comment.
2022-09-02 16:09:45 +03:00
Manos Pitsidianakis eb5949dc9b melib/error.rs: switch summary<->details identifiers
They are more intuitive like this.
2022-09-02 12:12:12 +03:00
Manos Pitsidianakis aa99b0d787 compose: implement configurable subject prefix stripping when replying
Introduce functionality to strip email subject from a set list of
prefixes or from a user set list.

Also, added a setting for the reply prefix (default is "Re:").

Closes #142
2022-09-01 22:32:33 +03:00
Manos Pitsidianakis a73885acb1 Improve embed terminal
- Add character attribute support
- Add cursor key mode support
- Fix buggy set fg / bg sequences

And added a bin under tools to test arbitrary apps using the embedded
terminal:

 cargo run -p tools --bin embed -- "htop" 2> .htop.debug.log
2022-09-01 22:24:01 +03:00
Manos Pitsidianakis a42a6ca868 notifications.rs: show notifications in terminal if no alternative
If no alternative (dbus or notification command) show notifications
inside the terminal.
2022-08-28 17:39:20 +03:00
Manos Pitsidianakis bde87af387 Refactor filter() method in Listing trait 2022-08-28 17:29:30 +03:00
Manos Pitsidianakis f4e0970d46 mail/compose.rs: add ability to kill embed process
If embed editor process is unresponsive, there was no way to kill it.
Add force kill option by pressing Ctrl+C.
2022-08-27 15:02:15 +03:00
Manos Pitsidianakis 9cb66ef818 Fix all clippy warnings in `meli` crate 2022-08-25 16:38:02 +03:00
Guillaume Ranquet d921b3c320 compact.rs: use mail sorting parameters from config
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2022-08-25 12:52:39 +03:00
Manos Pitsidianakis 824f614a69 mail/view: Fix HtmlView not being redrawn when parent is dirty 2022-08-22 23:12:48 +03:00
Manos Pitsidianakis ed3dbc8586 listing/conversations: fix crashes when listing is empty 2022-08-22 23:11:43 +03:00
Manos Pitsidianakis b716e4383e Add collapse option for mailboxes in sidebar menu
Closes #130

Feature request: collapsible folders with total counter #130 https://git.meli.delivery/meli/meli/issues/130
2022-08-18 18:05:48 +03:00
Manos Pitsidianakis ca84906d7d notifications: escape all quotes in applescript on macos 2022-07-03 13:32:01 +03:00
Manos Pitsidianakis e6d6e1f588 compose: don't unwrap if pseudoterminal creation fails
Show error notification instead.
2022-06-04 17:46:22 +03:00
Manos Pitsidianakis dc5afa13db notifications: use osascript/applescript for notifications on macos 2022-06-04 17:46:22 +03:00
Manos Pitsidianakis 4fdc90b31e Use `open` instead of `xdg-open` in macos
TODO: make this configurable instead.
2022-06-04 17:19:06 +03:00
Manos Pitsidianakis 8563bccd1b listing/conversations: don't cache CellBuffer, only row info
Caching a CellBuffer (a terminal grid view) takes too much RAM on big
mailboxes. Store just the information needed to write each row entry
when needed to draw a page instead.
2022-06-04 17:17:42 +03:00
Manos Pitsidianakis 2c23ca34cd Update most Cargo dependencies 2022-05-02 17:03:56 +03:00
Manos Pitsidianakis 2eb22a290a
Stop hardcoding certain component colors
`Color::Byte` references were before themes were introduced in the code
base. Their presence is a bug and they should all be replaced by theme
values.

Closes #124

Stop hardcoding certain component colors #124
https://git.meli.delivery/meli/meli/issues/124
2022-03-22 21:00:21 +02:00
Manos Pitsidianakis 81184b182c
Add extra_identities configuration flag
Closes #119

Multi identies per account #119 https://git.meli.delivery/meli/meli/issues/119
2022-03-21 20:53:37 +02:00
Manos Pitsidianakis 23c2355662
utilities.rs: fill and align shortcut table columns 2022-03-20 19:18:40 +02:00
Manos Pitsidianakis d3e62e3d74
utilities/dialogs.rs: use conf shortcuts for scroll {up, down} 2022-03-20 17:15:10 +02:00
Manos Pitsidianakis d0de04854e
listing.rs: add {in,de}crease_sidebar shortcuts
`increase_sidebar`: Increase sidebar width.
Default value Ctrl-p

`decrease_sidebar`: Decrease sidebar width.
Default value Ctrl-o
2022-02-25 16:40:27 +02:00
Manos Pitsidianakis 340d6451a3
listing.rs: add config setting for sidebar ratio 2022-02-25 16:20:08 +02: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 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 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 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 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 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