Client-side decorations and libdecor

Jonas Ådahl jadahl at redhat.com
Wed Apr 16 18:34:46 UTC 2025


On Wed, Apr 16, 2025 at 07:11:01PM +0400, Maxim Kartashev wrote:
> Hi, All!
> 
> I am currently looking at a way to achieve a "native" look for Wakefield's
> windows.
> 
> There's GTK Look-and-feel for Java and X11 that leverages GTK API for
> painting various widgets and parts thereof, but that doesn't extend to the
> top-level window decorations. Besides, it does not solve the problem for
> KDE and others.
> 
> Then there's libdecor, which demo looks promising, so I wanted to ask a few
> questions about it before I commit to using the library:
> 1. How stable/feature-complete is version 0.1.0, included with the older
> Ubuntu 22.04 LTS?

0.1.0 does not have the GTK plugin, so it will not look "native" in that
sense.

> 2. libdecor is licensed under MIT; would it be theoretically possible to
> include it into the OpenJDK source tree?
> 3. Does libdecor work with Vulkan surfaces? If not, are there plans to
> support Vulkan?

libdecor works using Wayland subsurfaces and relies on Wayland protocol
semantics to structure the toplevel window. Whether the app itself is
using shared memory, OpenGL/GLES or Vulkan for its surface's content
does not matter.

> 
> There are demos and comments in the code, but I can't seem to find a
> dedicated documentation for libdecor. Is there any at this point?

The documentation is mostly the libdecor.h file, there isn't much else
at this point.


Jonas

> 
> Thanks,
> 
> Maxim.



More information about the wakefield-dev mailing list