A recent switch to using pass (unix password manager) led to me discovering some issues with gpg pinentry and dmenu. Whenever I would use passmenu (a demu script) to select a password, instead of prompting me for my gpp passthrase it would instead do nothing.
The reason for this is that gpg by default uses pinentry-curses, which doesn't support creating a new window in I3 window manager. Instead, we need to switch the default pinentry command to be pinentry-gtk-2
.
Changing GPG PinEntry Command
To do this edit the file
.gnupg/gpg-agent.conf
and add the line:
pinentry-program /usr/bin/pinentry-gtk-2
and lastly tell gpgp to reload:
gpg-connect-agent reloadagent /bye
Installing gtk
If you don't have gtk2 installed, you'll also need it.
To do so simply run the command (on arch):
pacman -S gtk2