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