mail: Add mail- prefix to mail cli utilities

Rename mail utility programs (yet again), to be prefixed with `mail-`
instead of `neomutt-`. Also did not substitute with other MUA like
`aerc-` since these utilities are mostly independent of specific
implementations.

The very specific `neomutt-filer` implementation script I completely
removed since for aerc the same can be achieved with a simple
configuration option.
This commit is contained in:
Marty Oehme 2025-09-24 10:23:39 +02:00
parent 40a0d45d6c
commit 7289522380
Signed by: Marty
GPG key ID: 4E535BC19C61886E
4 changed files with 6 additions and 79 deletions

View file

@ -118,8 +118,8 @@ s = :split<Enter>
S = :vsplit<Enter>
# send mails to taskwarrior
,t = :pipe -s -m neomutt-2task -c -d -t
,T = :pipe -s -m neomutt-2task -c
,t = :pipe -s -m mail-totask -c -d -t
,T = :pipe -s -m mail-totask -c
# # TODO: Investigate use
# pl = :patch list<Enter>

View file

@ -3,7 +3,7 @@
# requires: html2text, glow or bat
# author: CEUK
fpath=$(mktemp --suffix=-neomutt-render.html)
fpath=$(mktemp --suffix=-mail-render.html)
#shellcheck disable=SC2064 # we want to expand it instantly
trap "rm -f -- ${fpath@Q}" EXIT

View file

@ -5,9 +5,9 @@ Creates a new task with corresponding description and tags.
Description and tags can be supplied via commandline through `-d` and `-t` options,
or interactively by using the options without supplying a string for them. E.g.:
`mutt2task` => task: Reply to <subject> from <sender>
`mutt2task -d "hello" -t one two` => task: hello +one +two
`mutt2task -d -t` => asks you interactively for description and tags
`mail-totask` => task: Reply to <subject> from <sender>
`mail-totask -d "hello" -t one two` => task: hello +one +two
`mail-totask -d -t` => asks you interactively for description and tags
"""
import argparse

View file

@ -1,73 +0,0 @@
#!/usr/bin/env bash
# A simple utility script for neomutt to use your favorite cli
# file manager to work with files in neomutt.
# Can add attachments to emails or save attachments in a chosen directory.
#
# Use it as `neomutt-filer attach <my-base-dir>`
# or `neomutt-filer saveto <my-base-dir>`
#
# Can be bound to neomutt macros like the following:
#
# macro compose A '<enter-command>source "neomutt-filer attach"|<enter>' "Attach with file manager"
# macro attach S '<enter-command>source "neomutt-filer saveto"|<enter>' "Save attachment to dir"
#
# read more at the following GH issues:
# https://github.com/neomutt/neomutt/issues/1515 -- switch folders with external program
# https://github.com/neomutt/neomutt/issues/1669 -- attach files with fzf
_file_picker() {
if command -v vifm >/dev/null 2>&1; then
vifm --choose-files - "$@"
# yazi & ranger untested
elif command -v yazi >/dev/null 2>&1; then
yazi "$@" --chooser-file -
elif command -v ranger >/dev/null 2>&1; then
ranger --choosefiles - "$@"
elif command -v fzf >/dev/null 2>&1; then
fzf -m --prompt='Choose one/multiple file(s) to attach >' "$@"
fi
}
_dir_picker() {
if command -v vifm >/dev/null 2>&1; then
vifm --choose-dir - --on-choose exit "$@"
# yazi & ranger untested
# elif command -v yazi >/dev/null 2>&1; then
# yazi "$@" --chooser-file -
# elif command -v ranger >/dev/null 2>&1; then
# ranger --choosefiles - "$@"
elif command -v fzf >/dev/null 2>&1; then
find "$@" -type d -print | fzf --prompt='Choose dir >'
fi
}
attachfile() {
_file_picker "$@" |
while IFS=$'\n' read -r attachment; do
printf "push '<attach-file>%s<enter>'\n" "$attachment"
done
}
savetodir() {
_dir_picker "$@" | xargs printf "push '<save-entry>%s<enter>y<enter>'\n"
}
_usage() {
echo """
Usage: neomutt-filer <subcommand> [options...]
Subcommands:
attach Pick files to attach
saveto Pick a directory to save into
"""
}
case "${1:-}" in
attach)
shift
attachfile "$@"
;;
saveto)
shift
savetodir "$@"
;;
-h | --help | *) _usage ;;
esac