swaywm / swaylock

Screen locker for Wayland
MIT License
853 stars 202 forks source link

swaylock ignores A portion of rgba specification in -c parameter. #248

Closed dnfm closed 2 years ago

dnfm commented 2 years ago

I have one monitor I use an image of pixel.png (which is a 1x1 transparent png), and a colour specification of ffffff00 which used to work to leave one monitor visible when the computer was locked (it runs grafana/security cameras), and at some point it stopped working.

No combination of -i or -c parameters seems to work. Just doing swaylock -c ffffff00 I would expect to lock the screen but still be visible, but it doesn't.

emersion commented 2 years ago

Yes. The new locking Wayland protocol makes it so surfaces underneath the lock screen are not painted, by design.

dnfm commented 2 years ago

Is there a way to disable that/make it work like it did before?

kennylevinsen commented 2 years ago

Short answer? No.

That this worked before is more of a bug than a feature, and the new locking protocol was designed in part to ensure that user content could never be shown on a locked session, irrespective of hangs, bugs or crashes.

swaylock does support the old wlr_layer_shell style of operation for now, but it always uses the lock protocol when available. If you want to force the old operation, you would have to patch out the new mode here: https://github.com/swaywm/swaylock/blob/bdeb891378bfcb2dc79de41cfeb6a62807d09b20/main.c#L1218

Note that the old mode may be removed from swaylock in the future, but it will keep working with sway. Also note that this means that you will not enjoy the security benefits of the new lock protocol.