Notes from QtCS that will affect Plasma.

David Edmundson david at davidedmundson.co.uk
Tue Oct 10 20:18:05 UTC 2017


Most notes are about boring internal things and I quietly stayed at the
back. For the wayland session I had a lot of questions/comments and was a
general nuisance.

Wayland:
 xdg_positioner:
    We need to pass data to the window from from QComboBox etc, but also
from client code i.e a KSomeComboBox

'preferred' approach with Qt people:
   - cast window to QWaylandWindow (from private API) and add stuff there
   - then we can use that from QWidgets
   - QtWayland client would need to move into QtBase - but they will look
at that.
   - we (KDE) would use that private API in client code if we implement a
custom popup...
   - [I'm not particularly happy with that at all, but it's at least
slightly better than the current state]

-----
 xdg_output:
 worth adding to compositor (if used with xwayland), not useful for
clients..yet

-----
 - custom extensions
    Qt will be adding some custom protocols for their embedded use cases.

   - qt_extended will die :(

   - explicit positioning
    Qt needs [for their embedded] a protocol similar to the plasma-shell.
    I don't think they can really share ours. It's too specific. [Probably
won't affect us]

   I've asked Johan to check our protocols before doing a Qt one. Share
when possible.

----
    signals on native resource changes
    The native resource for a window changes during it's lifetime, we have
no signal in QPlatformNativeInterface to know a low level resource changed.
    We were doing something with QNativeSurfaceCreated event; but that
broke, and even though it's re-added, it's a bodge and will almost
certainly break again sometime.

    Towards a proper fix: Mac has a similar problem. NSViews get recreated
on flags changing.
    It may be best to recreate the entire QPlatformwindow at those times?
It would simplify QtWaylandWindow code too. Best part...if that happens the
right hook would be QNativeSurfaceCreated event, so we might not have to
change our code too much.

----

QtWayland has a big review backlog, help from our side would be apparently
appreciated.

-----

OTHER STUFF

---

JS compiler will be faster from Qt5.11 due to magic stuff

---

QtQuick want a separation from a view == window;
Basically making it easier to do the stuff one needs QQuickRenderControl for

---

QtQuick will hopefully gain pre-compiles atlas support

[I think we could use these for Plasma themes, but not whilst we have to
maintain a separate path for QPainter approaches, and not with redrawing
SVGs on resizes]

---

QtQuick will gain compressed texture support

Probably doesn't really help us too much.

----

QSG classes to move away from being so tied in with OpenGL so much.
End goal being with maybe abstraction layer on GL.

Again only will affect a few places in Plasma, and that's maybe a Qt6 years
away.



David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171010/5672fa38/attachment.html>


More information about the Plasma-devel mailing list