emersion / xdg-desktop-portal-wlr

xdg-desktop-portal backend for wlroots
MIT License
579 stars 53 forks source link

Implement Inhibit portal #297

Open eternal-sorrow opened 5 months ago

eternal-sorrow commented 5 months ago

Wlroots supports idle-inhibit protocol, so this should not be too hard.

columbarius commented 2 months ago

The idle-inhibit protocol requires a wl_surface, which this portal implementation running in the background lacks.

YellowOnion commented 1 month ago

Anyone know why inhibition stopped working in firefox recently? I don't even know who to blame...mpv seems to work fine, and there's definitely a Portal talking firefox, but who the hell is it, and why does mpv or systemd-inhibit work.

eternal-sorrow commented 1 month ago

It's probably this bug.

YellowOnion commented 1 month ago

@eternal-sorrow according to this the "wayland" lock system is also broken: https://bugzilla.mozilla.org/show_bug.cgi?id=1877022, they fixed it, but the closing comment makes me think firefox is expecting sway/wlr to implement the protocol to truly fix it.

It seems like a huge cluster-fuck of 4-5 different protocols, and disagreements on what should be standard, where, systemd tells me to use a specific gnome dbus api...that calls systemd...

My hunch is that xdpw is meant to call systemd inhibit directly to avoid using a wl_surface.

Consolatis commented 1 month ago

My hunch is that xdpw is meant to call systemd inhibit directly to avoid using a wl_surface.

That won't work for compositors that do not support systemd inhibit (or don't even interact with dbus at all).

Implementing support for the inhibit protocol in xdp-wlr which just translates it into systemd inhibitors is actually way worse than not implementing the interface because then clients like FF will use the interface and do not "fall back" to the wayland native protocol.