Finish the work in the wip_compositor_api branch. Known issues:
Input classes need API review.
Popups need work.
Should be possible to make it work out of the box for the QWaylandQuickShellSurfaceItem
We have seen some odd buffering on the cursor surface in the Qml compositors. Basically the cursor doesn't release buffers. This is not a problem for ordinary surfaces.
Generate destroy functions in QtWaylandScanner: When we destroy a QWaylandInputDevice we should remove the global.
QWaylandQuickItem needs to transform the mouseEvents to the surface coordinate system when the item does not follow the size of the surface.
Drag and drop
wl_drag_source cancel needs to be sent for sources not longer valid. This is behavior which is not implemented in Weston, but defined in the protocol. If we don't do this, we leak sources, and it will fix state handling on the client side.
Automatic socket name detection
qtcompositor should use wl_display_add_socket_auto()
Decide whether we keep refresh rate in Hz (and use qreal) or mHz (and use qint32) as does Wayland internally.
Port old patch for modes, see
Use logging categories in both client and server bits.
Categories granularity: client (should fall under the qpa namespace), compositor, hardwareintegration, inputmethod
The current implementation is ugly.
We need type-safe properties.
API review comments
Comments from API review 2016-06-29
- The extensions [ ... ] list property is not necessary: extensions should just auto-install on parent [DONE]
- QWaylandView does not need to be visible to Qt Quick. QWaylandQuickItem should have a bufferLocked property [DONE]
- QWaylandMouseTracker should use the upcoming mouse/touch handling API
- Functions that send events should be named sendFooBarEvent()
- Signals fired when requests are received from the client should be named fooBarRequested() (or fooBarRequestReceived???)
- Avoid abbreviations like "shm"
- Be consistent in grammatical form (adjective vs. verb, verb tenses) and capitalization
- Properties that have setters must handle changing the value dynamically (if not possible: qWarning() and keep the old value)
- Provide declarative APIs for Qt Quick instead of imperative APIs, if possible
|Add popup support to QWaylandQuickShellSurfaceItem||Closed|
|Qt Wayland Compositor input handling API review||Closed|
|Add back subsurfaces and surfaces role||Open|
|Add modes to QWaylandOutput||Closed|