When asking for a password GPG expects the pinentry program to prompt for a password if the key hasn't been unlocked yet. I think the default behavior is that this pinentry program gets routed to one that depends on a tty. This doesn't work because rofi-pass isn't running in a tty. So I've fixed the issue by explicitly setting my gpg pinentry program to be a GUI one:
Weird thing is that I originally tried fixing this and saw it didn't work. I suspect it's because the gpg-agent was in a bad state because it was still waiting for the tty-based pinentry program to return. The result is that the programs just hang. So I had to do a restart to get a working rofi-pass.
Not sure what the fix for this is or if my conclusions are correct but it's been bugging me for over a year. Just thought I'd post my understanding quick.
When asking for a password GPG expects the
pinentry
program to prompt for a password if the key hasn't been unlocked yet. I think the default behavior is that thispinentry
program gets routed to one that depends on a tty. This doesn't work because rofi-pass isn't running in a tty. So I've fixed the issue by explicitly setting my gpg pinentry program to be a GUI one:Weird thing is that I originally tried fixing this and saw it didn't work. I suspect it's because the gpg-agent was in a bad state because it was still waiting for the tty-based pinentry program to return. The result is that the programs just hang. So I had to do a restart to get a working rofi-pass.
Not sure what the fix for this is or if my conclusions are correct but it's been bugging me for over a year. Just thought I'd post my understanding quick.