Support wlr-layer-shell as a Backend
bbb651 opened this issue · 2 comments
I would like cage to have the ability to run as a wlr-layer-shell client (with configuration given through command line arguments) when running it nested inside other compositors. This is different from #95 that is about supporting the wlr-layer-shell protocol as a server.
My use case is running a SDL2 application as a wallpaper. SDL2 doesn't plan on supporting the protocol, there is a old pr that adds support but I don't have the source for my binary and SDL2 is statically linked.
I think this will require upstream support in wlroots as it doesn't like this exists in the backends.
It's possible to implement this without wlroots changes, see e.g. https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/examples/embedded.c?ref_type=heads
My use case is running a SDL2 application as a wallpaper.
I've written a tool that can be used to do this: see https://gitlab.freedesktop.org/mstoeckl/windowtolayer . It is somewhat more constraining than a hypothetical modified cage
would be (it only allows one process, one window, no popups, no xwayland) and hasn't been tested on many applications. It can also be applied to cage
itself.