Re: Integration of layer-shell in plasma

David Edmundson <[email protected]> Fri, 28 Aug 2020 10:36:08 +0100
Newsgroups gmane.comp.kde.devel.kwin,gmane.comp.kde.devel.plasma
Message-ID <CAGeFrHBysdYH5PbV9ZJkRRKC4qLaHYP9qAL8UDx0wsDzAycXGA@mail.gmail.com>
>* Mimic absolute positioning via relative positioning. It's good as a
short-term solution, but imho, we need something better

I'm not quite sure I understand which way you're describing:

Do you mean having plasma code still do absolute co-ordinates and then have
us turn it into relative positions like how Qt does popups?

Or having client code do things in relative co-ordinates and locally
convert it to absolute and using the existing plasmashell protocol.

> The most ideal case is where Qt provides native support for the
layer-shell protocol out of the box.

Qt6 will have a new way of doing native functions on platform windows which
looks very encouraging.

Effectively it'll become QWaylandWindow: public QPlatformWindow, public
QWaylandSpecificMagicWindowStuff

Then Qt ships a header file of QPublicWaylandSpecificMagicWindowStuff which
will contain all the getters with native code and a bunch of virtuals for
setting things and one can downcast the platform window.
Compared to the old nativeinterface approach it's /amazing/. I think
that'll be a good entry point for all this.

Then at a KDE level we can surface that as agnostic public API that does
it's own local thing on X, and uses this Qt-platform-specific API on
wayland.

David