I'm probably missing lots of understanding of how this system works, but I have a few questions I'd like your feedback on for initially reducing the amount of password prompting. I'll start with this one and see where it goes before I ask more.
Can an application that stores a secret be able to retrieve that same secret without unlocking the keyring?
I never really understand why NetworkManager, the one who put certain secrets into my keyring needs to ask my permission to get those secrets back. Sure those secrets are "my passwords", but I already gave them to NM once, why does it need to ask to get them again? If it wasn't a good idea to give those passwords to NM the first time, it's too late because it already has them.
If Firefox, for some reason, wanted access to the secrets that NetworkManager stored I think that has cause for some alarm. The warning for this situation is a little easier, because it's less often and probably shouldn't happen unless something is really wrong.
Even though the keyring is locked, it seems like the application that set the secret should be able to retrieve it. I don't know how you want to make sure it's the same calling application, there might be some tricks in that. But this would reduce the number of login / access the keyring dialogs.
Perhaps my vision of the keyring is more of a secure little area where applications can save data that's reliable and encrypted and I have the master password to; however if an application wants to save some random secret bits in the keyring that only it will retrieve later I find it pretty harmless. Is that a false assumption?