Commit Graph

637 Commits (631798413659a320dcd9574e0bca7b7d75cc8d6c)

Author SHA1 Message Date
Manos Pitsidianakis cc439b239a mail/listing.rs: add RowsState struct
Keep state of rows in lists in this struct to reduce code duplication in
list implementations
2 years ago
Manos Pitsidianakis 803d3414fd melib/imap/managesieve: implement some rfc5804 commands
Try with managesieve REPL in src/managesieve.rs:

cargo run --bin managesieve-client ~/.config/meli/config.toml
"accountname"

rfc5804 <https://www.rfc-editor.org/rfc/rfc5804.html>
2 years ago
Manos Pitsidianakis dd0baa82e9 Spawn user-given command strings with sh -c ".."
If given string contains arguments, Command::new(string) will fail.

Reported in #159 https://git.meli.delivery/meli/meli/issues/159
2 years ago
Manos Pitsidianakis 46a038dc68 conf.rs: remove interactive messages when #[cfg(test)] 2 years ago
Manos Pitsidianakis 16646976d7 compose: fix reply subject prefixes stripping original prefix
Unintelligent heuristic but should cover most cases?

Configurable subject response prefix #142
https://git.meli.delivery/meli/meli/issues/142

Closes #142
2 years ago
Manos Pitsidianakis ffb12c6d1a conf.rs: make all public struct fields public 2 years ago
Manos Pitsidianakis 129573e0fd melib/maildir: rename root_path to root_mailbox 2 years ago
Manos Pitsidianakis 347be54305 melib/error: add NetworkErrorKind enum 2 years ago
Manos Pitsidianakis 7935e49a00 conf/accounts.rs: check properly if mailbox request is an error 2 years ago
Manos Pitsidianakis c54a31f7cc listing/offline.rs: break line for error messages 2 years ago
Manos Pitsidianakis c3fdafde3b Documentation touchups 2 years ago
Manos Pitsidianakis e450ad0f9c types.rs: remove unused struct 2 years ago
Manos Pitsidianakis 0ed10711ef notifications: add new_mail_script option
Preferred over `script` option for new email notifications
2 years ago
Manos Pitsidianakis d8d43a16fe HtmlView: add html_open config setting
Add config setting in case xdg query default app for text/html mime type
doesn't yield results.
2 years ago
Manos Pitsidianakis a7a50d3078 src/: Box<_> some large fields in biggest types
As reported by `cargo +nightly typesize`
2 years ago
Manos Pitsidianakis 787c64c2da conf.rs: remove expect()s from create_config_file()
No reason to expect(), just return the error.
2 years ago
Manos Pitsidianakis 0df46a63ec Show error if sqlite3 search backend is set but doesn't exist
Closes #114
2 years ago
Manos Pitsidianakis 94bd84b45d Fix clippy lints for `meli` crate 2 years ago
Manos Pitsidianakis 388d4e35d6 listing/offline.rs: add in-progress messages while connecting in IMAP 2 years ago
Manos Pitsidianakis 9cbbf71e0f melib/email/attachments: Add DecodeOptions struct for decoding 2 years ago
Manos Pitsidianakis 8c7b001aa5 listing/conversations.rs: add `thread_subject_pack` command to pack different inner thread subjects in entry title 2 years ago
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 7c7115427d docs/meli.7: complete guide document 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 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.
2 years ago
Manos Pitsidianakis eb5949dc9b melib/error.rs: switch summary<->details identifiers
They are more intuitive like this.
2 years ago
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
2 years ago
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
2 years ago
Manos Pitsidianakis a42a6ca868 notifications.rs: show notifications in terminal if no alternative
If no alternative (dbus or notification command) show notifications
inside the terminal.
2 years ago
Manos Pitsidianakis bde87af387 Refactor filter() method in Listing trait 2 years ago
Manos Pitsidianakis 10497952f7 Wrap stdout in BufWriter
Hopefully this makes redrawing the terminal faster
2 years ago
Manos Pitsidianakis e29041f733 Rename src/bin.rs to src/main.rs 2 years ago
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.
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
Guillaume Ranquet 9205f3b8af conf.rs: handle a per account mail order parameter
The new order parameter adds the possibility to specify a
sort order on a per account basis.

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2 years ago
Guillaume Ranquet 97ff3e787f conf.rs: only add toml files to the themes
By default, all files under MELI_CONFIG/themes are added to the
configuration files.
If one of these files is a binary file, this will provoke an error.

Summary: InvalidData
stream did not contain valid UTF-8
Caused by: stream did not contain valid UTF-8
Kind: OS Errorthread 'main' panicked at 'failed', melib/src/error.rs:201:9

Fixes the potential issue by filtering by file extension.

Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
2 years ago
Manos Pitsidianakis 824f614a69 mail/view: Fix HtmlView not being redrawn when parent is dirty 2 years ago
Manos Pitsidianakis ed3dbc8586 listing/conversations: fix crashes when listing is empty 2 years ago
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
2 years ago
Manos Pitsidianakis daa900ec9a Fix embed terminal in macos
Pseudoterminal wasn't created correctly on macos
2 years ago
Manos Pitsidianakis ca84906d7d notifications: escape all quotes in applescript on macos 2 years ago
Manos Pitsidianakis 0f6f3e30c6 conf: add IMAP config in config parse test 2 years ago
Manos Pitsidianakis e6d6e1f588 compose: don't unwrap if pseudoterminal creation fails
Show error notification instead.
2 years ago
Manos Pitsidianakis dc5afa13db notifications: use osascript/applescript for notifications on macos 2 years ago
Manos Pitsidianakis 4fdc90b31e Use `open` instead of `xdg-open` in macos
TODO: make this configurable instead.
2 years ago
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.
2 years ago
Manos Pitsidianakis 721891c295 Update nom dependency 2 years ago
Manos Pitsidianakis 2c23ca34cd Update most Cargo dependencies 2 years ago
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
2 years ago