emersion / xdg-desktop-portal-wlr

xdg-desktop-portal backend for wlroots

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement Inhibit portal

eternal-sorrow opened this issue · comments

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

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

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.

It's probably this bug.

@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.

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.