This won't work if the lock screen activates while the popover is active, but solving that would be a bunch of work again.
It won't compile on Byzantium due to zbus being several versions behind. It should compile on Crimson, because bookworm carries a sufficient version.
This MR contains a couple of themes:
Most commits are tiny (yay), and add a new function that stands alone.
I wanted to add a test binary to have the screensaver listener actor run standalone, but it's hassle to have it between Cargo and having to conditionally compile it. It's simple enough that it can be rewritten as needed.
Draft because it actually relies on an interface that doesn't work.
No draft: still useful even if not in effect yet.