Feedback on xdg-shell v5
Martin Graesslin
mgraesslin at kde.org
Thu Apr 28 08:36:14 UTC 2016
Hi Wayland and Plasma,
I finished the implementation of xdg-shell in KWayland [1] and KWin [2].
Overall it was more straight forward than I would have expected. Especially
the changes to KWin were surprisingly minor (with one huge exception).
Now some questions/remarks:
* What's a server supposed to do in use_unstable_version?
* Why is the ping on the shell and not on the surface? I would have expected
to ping the surface. At least that's how I would want to do it from KWin.
* Would it be possible to split the states and geometry? I find it weird that I
have to send a configure request with a size of 0/0 when informing a surface
that it's active.
The biggest problem for me is the request set_window_geometry. I think I
mentioned it already before on the wayland list. Basically I have no idea how
to implement that in KWin. We have only one geometry for a window and that's
mapped to the size of the surface/x11 pixmap. This geometry is used all over
the place, for positioning, for resizing and for rendering. I cannot add
support for this without either breaking code or having to introduce a new
internal API. That's lots of work with high potential for breakage :-(
From the description it seems to be only relevant for shadows. Could we make
shadows an optional part in xdg-shell? That the server can announce that it
supports shadows in the surface?
Also I'm not quite sure about that, but it looks to me like QtWayland thinks
that the set_window_geometry is the geometry of the client-side-decoration,
while on GTK it looked to me like being the size of the shadow. Either I did
not understand that correctly, or our toolkits are not compatible.
At the moment I haven't implemented this request yet in KWayland as I would
not be able to use it in KWin anyway.
As a note: if it's just about shadow for us in Plasma that's a rather useless
request. We already have a Wayland shadow implementation which allows us to
have the shadow outside the surface.
Cheers
Martin
[1] https://phabricator.kde.org/D1506
[2] https://phabricator.kde.org/D1507
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160428/fce862d4/attachment.sig>
More information about the Plasma-devel
mailing list