Am 2018-02-19 16:37, schrieb Martin Bříza:
I thought this would be a good place to discuss this small problem:
I'm trying to make Qt work better under Wayland and especially in
GNOME. The current infrastructure in QtWayland doesn't allow for very
complicated window decorations. First, QWaylandAbstractDecoration is
a private API now, which is mostly fine, however I'd like to make it
a bit better. Especially, there's a problem with the limited
possibilities we now have. The decorations cannot have shadows and
the ability to handle mouse events is pretty limited.
I'd like to solve this systematically, for everyone, likely by
patching QtWayland to add new features to QWaylandAbstractDecoration
and I'd like to ask for your advice.
I know there is the KDecoration2 API which is feature-complete (and in
my opinion, it exposes a lot more stuff than what we would eventually
actually need in Qt). Could (partially or completely) upstreaming
this class help with this problem? There could be a base class in
QtWayland implementing the core functionality and KDecoration2 could
just extend the class with what's required for KWin. KWin decorations
could then be used in other environments with a different compositor
and a different QPA plugin. I'm CCing Martin as I'm pretty sure he'll
have something to say, especially considering the stance on SSDs vs
One of the design goals of KDecoration2 was to make it possible to
implement CSD with it.
I'm totally fine with upstreaming the implementation and agree to any
license change required for it. But I'm not the only copyright holder,
though probably > 90 % should be by me.
Personally I'm not interested in anything of it. I don't care whether Qt
applications have good looking decorations. On Plasma we will continue
to use server side decorations even if Qt uses our KDecoration2 (it
provides a significant better performance in the compositor).