On Sun, Jul 30, 2023 at 03:59:57PM +0200, Nicolas George wrote:
Hi.
I want to use an external command to decide in what mailbox to save
messages.
When I hit ‘s’ with its default action of save-message, mutt asks
“Save to mailbox ('?' for list): =ml/debian”, with the default being
chosen from save-hooks or from the author of the mail.
What I want is that it invokes an external command to set the default.
The idea is that the external command has access to an index of my
mailboxes and implements heuristics of my choosing to store the mail,
but I can still use Mutt's user interface to make a different decision.
What I want could look a little bit like:
save-hook * `~/local/lib/guess_mailbox`
Except it does not work in two ways:
- the backticks are evaluated once when loading the configuration, they
need to be evaluated when saving the message, each time;
- the command in the backticks need access to the content of the mail.
I am considering a solution based on a macro that pipes the message to
the command and generate a temporary configuration file, then sources it
then saves normally.
Also, I would like to avoid any solution that would slow down Mutt when
I am not trying to save a message. A message-hook invoking guess_mailbox
would probably not be acceptable, for example.
Any advice?
An alternative approach that I'm not sure is possible.
If during delivery of your mail it is passes through
a filter like "procmail" before hitting your Inbox,
have the filter invoke your hueristics program "guess".
Guess could use something like "formail" to add a header
X-guess: <suggested-save-folder>
This would move the slow aspect to before you read the
message.
The save "s" command could then be macro'ed to:
- if no X-guess header invoke regular <save> cmd
- if X-guess header present extract suggested folder
and save there
jl
--
Jon H. LaBadie j...@labadie.us
154 Milkweed Dr (540) 868-8052 (H)
Lake Frederick, VA 22630 (703) 935-6720 (M)