Right now, wisteria can't use non-graphical GPG pinentry programs to accept a passphrase because the
tcell library that we use for our UI doesn't implement suspend/resume of control over the TTY. There's this GitHub issue tracking the problem, but I don't know how likely it is to be implemented anytime soon.
- starting/stopping the entire wisteria TUI each time we start writing a new message and need to sign it. We'd need to use the workaround described in the bug to avoid dropping a key event.
- requiring that such options use
screen to edit their messages and find a way to prompt for pinentry within a different tmux pane (or similar)
- Implement GPG decryption and signing as part of
wisteria instead of using the external
gpg binary to do it. This requires having our code actually handle private keys and passphrases, which we've managed to avoid up until now. If we did this, we would have control over how the passphrase is provided though.