QtWaylandDev

From Qt Wiki
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

QtWayland Development thoughts

Before making an official release of QtWayland, it needs an API review. Use this page to comment on things that could/should be done.

Things to do

  • PIMPLize all public compositor classes so we can make a step toward BC releases

APIs to add

  • ping/pong public API (shell_surface::ping)

The compositor should be able to check if a client stops responding. Considerations: ' Control how often compositor sends ping ' Make ping() invokable from the compositor API ' Add a pong[ed]() signal when the client pongs ' Add a lastPong property that holds the timestamp ' Add a convenience signal when last pong goes over a certain threshold

  • Better QML Property API

The generic property API is annoying to use, especially from QML. plfiorini has already started a fix for this: https://codereview.qt.io/#change,52123 ' Would it make more sense for the generic properties just to use QWindow instead? Then you could access any QProperty of QWindow. ' How would the QML attached/grouped property look? QQmlPropertyMap or even a private QML support class should be used to make this as pretty as possible

WaylandSurfaceItem {
 windowProperties { // Or just "properties"?
 customProperty: "prop" // This?
 property string x: "x" // Or this?
 }
 title: windowProperties.x // Make sure you can bind/update/etc.
}

APIs to remove

  • QWaylandSurfaceItem::clientRenderingEnabled