Some ideas here, don't take them too seriously.
Contextes help a lot in working with multiple accounts, however when
working with queries they somehow feel "short".
For instance, I'm looking at something, hit reply, but it's using the
wrong context:
https://github.com/djcb/mu/issues/799
I'm all for #776 (almost too magical), but what exactly is missing in
the message-send hook that wouldn't allow us to capture the context at
the last moment?
But scrap bothat, the issue is not really that I want to change identity
mid-flight, it's just that I had it wrong in the beginning.
Another thing I noticed are marks. Obviously, doing anything that
involves dynamic folders gets influenced by the current context.
After giving up all state, there's somehow this notion of "current id"
that feels out of place.
What if we put hidden properties in each line of the header view,
containing _very_ basic metadata such as from/to/list/maildir. Then,
when we act on the line (through marks or compose), we could try to call
a :match-hdr-func providing a more limited set of parameters.
My bet is that this would make the concept of "current context" almost
invisible, being merely a default for compose.
For example, I'd see myself using 'ask-if-none as the default compose
policy with the above method. I'd rather have the prompt only with a
numeric argument.