Commit Graph

1756 Commits (8c7b001aa5d4cb6bbaf438f3f47cd91cc2fd6833)

Author SHA1 Message Date
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 3d92b41075 Add cli-docs feature to the default set 2022-09-06 21:59:30 +03:00
Manos Pitsidianakis 7c7115427d docs/meli.7: complete guide document 2022-09-06 21:41:26 +03:00
Manos Pitsidianakis 5fa4b6260c docs/meli.7: add more screenshots 2022-09-05 19:40:53 +03:00
Manos Pitsidianakis 4a20fc42e1 Update CHANGELOG.md 2022-09-05 17:05:39 +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 2de69d17f1 melib/compose: fix erroneous placement of newlnes for wrap_header_preamble suffix 2022-09-03 17:47:58 +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 a484b397c6 melib/notmuch: show informative error messages if libloading fails
Add instructions on how to solve this, and also a config setting
`library_file_path` to set the path manually if necessary.
2022-09-02 15:17:30 +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 da9c80ccfd melib: Enhance SubjectPrefix with strip_prefixes_from_list() method
And make it public.
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 480000ebbb melib/notmuch: show error if account directory does not contain ".notmuch" subdirectory
Bug reported by user on mailing list.
2022-08-30 12:23:25 +03:00
Manos Pitsidianakis 29042aba59 melib/datetime: add mbox date format parse 2022-08-29 11:19:21 +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 10497952f7 Wrap stdout in BufWriter
Hopefully this makes redrawing the terminal faster
2022-08-28 17:28:37 +03:00
Manos Pitsidianakis 0c0bee4482 Makefile: add missing .PHONY targets, fix missing tab indentation 2022-08-27 17:41:07 +03:00
Manos Pitsidianakis ca48896865 Cargo.toml: add strip option to profile.release 2022-08-27 17:39:23 +03:00
Manos Pitsidianakis 7650805c60 Bring stripped binary size down to 7MiB 2022-08-27 16:18:56 +03:00
Manos Pitsidianakis e29041f733 Rename src/bin.rs to src/main.rs 2022-08-27 15:02:48 +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
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>
2022-08-25 12:52:39 +03:00
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>
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 7fca5f01ef melib/jmap: fix jmap build with isahc 1.7.2 2022-08-18 18:12:44 +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 4a79b2021d Update dependency versions 2022-08-01 04:09:42 +03:00
Manos Pitsidianakis daa900ec9a Fix embed terminal in macos
Pseudoterminal wasn't created correctly on macos
2022-07-31 18:17:59 +03:00
Manos Pitsidianakis ca84906d7d notifications: escape all quotes in applescript on macos 2022-07-03 13:32:01 +03:00
Manos Pitsidianakis ce269c64e1 conf: don't fail on `server_password_command`
Don't fail when parsing an IMAP config when it has
`server_password_command` set.

Closes #139

Meli stopped recognizing server_password_command configuration #139
2022-06-04 17:57:41 +03:00
Manos Pitsidianakis 0f6f3e30c6 conf: add IMAP config in config parse test 2022-06-04 17:56:54 +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 d6355a3043 melib/email/parser: impl Debug for ParsingError 2022-06-04 17:46:22 +03:00
Manos Pitsidianakis 6a843d4983 melib/maildir: export list_mail_in_maildir_fs() function 2022-06-04 17:46:22 +03:00
Manos Pitsidianakis 9558b2ae92 melib/email: parse Cp1253 as windows1253 encoding 2022-06-04 17:19:06 +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 721891c295 Update nom dependency 2022-05-02 17:04:13 +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 5823178cc2
themes.rs: add test that looks in source code for invalid theme key references 2022-03-22 20:26:06 +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 aa3524dd30
melib/backends/notmuch: fix tag not being removed in set_flags()
May be related to #132

Cannot remove tags in the notmuch backend #132

> Running tag remove TAG on the notmuch backend does nothing. At a
> glance, this seems to be because NotmuchMailbox::set_flags never bothers
> to remove tags that are already present but not in the list of new tags.
> I could try fixing it, but I have no idea how the contribution process
> works here (my guess is the mailing list, but, well, #131).

https://git.meli.delivery/meli/meli/issues/132
2022-03-21 13:13:47 +02:00