Is there any on-going work on client-side decorations?

In order to support Wayland properly, client-side decorations are necessary; the xdg-decorations protocol lets the application ask the compositor to draw CSDs, but the compositor is allowed to refuse and demand the application draws its own decorations.

Has anyone experimented with bringing a CSD fallback to SDL? If so, I’d be interested in trying it out and contributing.

(Also, please don’t discuss why CSDs are stupid. I wish compositors like GNOME’s Mutter would just draw SSDs when asked to, but they don’t, and the protocol says they don’t have to. Therefore, SDL needs CSDs as a fallback. The discussion about whether it should be like that is off-topic in this thread.)

1 Like

I implemented client-side window decorations on Wayland via libdecoration (by @Jonas_Adahl, https://gitlab.gnome.org/jadahl/libdecoration):

The merge progress can be tracked on Bugzilla: https://bugzilla.libsdl.org/show_bug.cgi?id=5194.

You can follow the upstream progress on https://github.com/christianrauch/SDL/tree/decoration to access the most recent changes. Some features, such as fixed-size/unresizable windows and decoration hiding, have not been implemented yet. I would like to get the basic support merged before dealing the minor issues.

Let me know if this works for you and maybe give the developers (@icculus) a shout to get this merged :slight_smile:

1 Like