While there was a delete-mailbox command, there was no option for it in
the manage-mailboxes interface, so add it.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Don't accept new Display Messages if it has the same content as the
latest one in the display message stack.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Some stuff that are only used with gpgme feature were not guarded by
#[cfg(feature = "gpgme")], so fix that.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add an example for `fzf` use with the `add-attachment-file-picker < `
command when composing e-mail.
Closes#507
Resolves: <https://git.meli-email.org/meli/meli/issues/507>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Selecting by searching for was missing for the threaded index style, so
add it.
Related to #513
Resolves: <https://git.meli-email.org/meli/meli/issues/513>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Somehow, filter (searching) was not implemented for the threaded index
style, so fix it.
Fixes: #513
Resolves: <https://git.meli-email.org/meli/meli/issues/513>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
They were previously silently ignored despite tables (DataColumns)
having support for scrolling on the x axis.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Change select_entry to toggle only one's selection entry (default 'V'),
while select_motion (default 'v') inherits the original functionality of
performing a select motion when combined with a number and motion verb
(scroll up/down etc)
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Lift error checks earlier in the function, before forking, allowing any
potential errors to show up properly in the main process.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Ugh, annoying. It doesn't take the fact that markdown links do not
appear long when rendered. Anyway, fix them errors.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Semantically Composer actions should be tab actions since a composer is
a tab. Move them to a new enum in preparation for the next commit which
adds a new Discard draft action.
No functional change intended.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Move the components for :manage-jobs and :manage-mailboxes into the same
submodule, `manage`. No functional change intended.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add config values to `composing` config section to enable signatures:
signature_file Path (optional) Plain text file with signature that will pre-populate an email draft. Signatures must be explicitly enabled to be used, otherwise this setting will be ignored. (None)
use_signature bool Pre-populate email drafts with signature, if any. meli will lookup the signature value in this order:
1. The signature_file setting.
2. ${XDG_CONFIG_DIR}/meli/<account>/signature
3. ${XDG_CONFIG_DIR}/meli/signature
4. ${XDG_CONFIG_DIR}/signature
5. ${HOME}/.signature
6. No signature otherwise.
(false)
signature_delimiter String (optional) Signature delimiter, that is, text that will be prefixed to your signature to separate it from the email body. (‘\n\n-- \n’)
Closes#498
Resolves: https://git.meli-email.org/meli/meli/issues/498
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Despite having the IsSubscribedFn struct wrapper for closures that check
if a mailbox is subscribed or not, backend methods were still using
Box<dyn Fn(... types. Switch to using the wrapper newtype everywhere.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add infrastructure for custom logic migration support between versions,
allowing breaking changes in for example configuration to be handled by
the application instead of the user.
The current version will be stored in ${XDG_DATA_HOME}/meli/.version
If at launch the versions do not match, the application will examine
whether there are any migrations in the range
previous_version..=current_version, and if they are applicable to the
user's case, it will ask the user to perform them interactively.
Support for reverting migrations is also added.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
gpgme's sign and encrypt API doesn't seem to work properly; it only
encrypts for some reason. Do it manually which according to RFC 3156 -
MIME Security with OpenPGP is to sign first then encrypt the whole
thing.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When replying to an e-mail, pass the filtered e-mail text to the
composer. This way, processed text like decrypted PGP e-mail is shown in
the reply context of a reply as the user expects.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Prevent large header values (e.g. big list of recipients in To/Cc) take
big part of the view. Allow the full value to be visible when the
`expand_headers` option is toggled on.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Commit 8f0e1d6640 added human-readable
identifiers in temp draft files but neglected to handle cases where
those identifiers were too darn long.
Fixes: 8f0e1d664 ("Add human-readable identifiers in temp draft files")
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Allow patches to be retrieved from sources like lore.kernel.org or other
public-inbox instances.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
It's unnecessary and makes it difficult for an API consumer to turn a
backend back to its original type.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
JobFinished events were sent from account job handlers, but that means
the events would never be generated when using meli without accounts
e.g. with the `view` subcommand.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Allows the user to set the default thread layout and takes the values
"auto" | "vertical" | "horizontal". The layout can always be changed at
runtime with the `listing.toggle_layout` shortcut.
Closes#484
Resolves: <https://git.meli-email.org/meli/meli/issues/484>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
`mail_view_divider` was only drawn in the path where the sidebar was
visible.
Concerns #483
Fixes: 719e2eb271 ("listing: add customizable view divider like sidebar's")
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Svg feature was meant for taking SVG screenshots for the readme/website.
There's no real need to ship it, considering a lot of distros enable all
features by default.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>