I use GNU Pass for my password manager, emacs-pinentry for my GPG pinentry, and Gnus as my mail reader. This has created a problem for me when Gnus and emacs-pinentry both need to use the echo area/minibuffer.
- Start Gnus. It automatically starts pulling mail, echoing a message saying it is doing so.
- It needs my mail password, so it calls Pass. (I have
:password (string-trim (shell-command-to-string "pass my-email"))
in the mail source config.) - Pass needs my GPG password to decrypt and fetch my mail password.
- GPG calls emacs-pinentry to get that password...except it can't display the prompt in the minibuffer, because Gnus is already echoing a message to it.
- Hang until I press
C-g
to cancel it, at which point I see a pinentry-gtk window appear and can enter my password into that.
It seems like to resolve this, I'll either need to prevent Gnus from using the echo area until it has my password, or have emacs-pinentry prompt me somewhere other than the minibuffer. Or maybe there's a third way that I'm not seeing, or I'm wrong about what the problem is?