xdg-decoration: add an option in xdg_decoration for overlaying decorations
Some complex applications like web browsers, IDEs etc. prefer inlaying window decorations into their interface to save space and remove clutter. VS Code
However, you'll notice that while most apps have consistent theming, VS Code uses decorations from Windows. Some applications implement native looking decorations on Gnome and/or KDE, but they are often flawed in that they don't always update right away, sometimes require reboots and take a lot of work to implement.
This addition to xdg_decoration
adds the option for applications to have window decorations without compromising their inlayed look or their native appearance. Instead of requesting that the compositor draws decorations around a window, a client could instead request to have just the decoration buttons overlayed on top. Compositors that implemented this protocol would be able to maintain their theming on all apps with increased flexibility and simple, responsive hot-swapping of themes for all apps.
This has a few unanswered questions before it should be merged, namely:
-
Should clients also be able to request that their title and/or other elements are overlayed? This could resolve #167 -
Should clients be able to know in advance what decoration modes are available instead of testing for themselves with set_mode
?
This is my first contribution, so if I missed anything important kindly let me know