QtShellSurface QML Type▲
-
Import Statement: import QtWayland.Compositor.QtShell
-
Since:: Qt 6.3
Detailed Description▲
This type is part of the QtShell extension and provides a way to extend the functionality of an existing WaylandSurface with window management functionality.
The QtShellSurface type holds the core functionality needed to create a compositor that supports the QtShell extension. It can be used directly, or via the QtShellChrome type, depending on what the needs of the compositor are. The QtShellChrome type has default behaviors and convenience APIs for working with QtShellSurface objects.
Property Documentation▲
active : bool▲
This property holds whether the surface is currently considered active.
There are no restrictions in QtShellSurface that prevents multiple surfaces from being active simultaneously. Such logic must either be implemented by the compositor itself, or by using the QtShellChrome type, which will automatically manage the activation state of surfaces.
capabilities : enum▲
This property holds the capabilities of the compositor. By default, no special capabilities are enabled.
-
QtShellSurface.InteractiveMove The client can trigger a server-side interactive move operation using QWindow::startSystemMove(). The compositor will be notified of this through the startMove() signal.
-
QtShellSurface.InteractiveResize The client can trigger a server-side interactive resize operation using QWindow::startSystemResize(). The compositor will be notified of this through the startResize() signal.
frameMarginBottom : int▲
This holds the window frame margin below the surface.
frameMarginLeft : int▲
This holds the window frame margin to the left of the surface.
frameMarginRight : int▲
This holds the window frame margin to the right of the surface.
frameMarginTop : int▲
This holds the window frame margin above the surface.
maximumSize : size▲
The maximum size of the window if the client has specified one. Otherwise an invalid size.
minimumSize : size▲
The minimum size of the window if the client has specified one. Otherwise an invalid size.
surface : WaylandSurface▲
This property holds the surface associated with this QtShellSurface.
windowFlags : int▲
This property holds the window flags of the QtShellSurface.
windowGeometry : rect▲
This property holds the window geometry of the shell surface.
windowPosition : point▲
This property holds the position of the shell surface relative to its output.
windowState : int▲
This property holds the window state of the QtShellSurface.
When requestWindowGeometry() is called to update state of the surface, the windowState property will not be updated until the client has acknowledged the state change.
windowTitle : string▲
This property holds the window title of the QtShellSurface.
Signal Documentation▲
void startMove()▲
The client has requested an interactive move operation in the compositor by calling QWindow::startSystemMove().
The corresponding handler is onStartMove.
See Also▲
See also capabilities
void startResize(enum edges)▲
The client has requested an interactive resize operation in the compositor by calling QWindow::startSystemResize().
The edges provides information about which edge of the window should be moved during the resize. It is a mask of the following values:
-
Qt.TopEdge
-
Qt.LeftEdge
-
Qt.RightEdge
-
Qt.BottomEdge
The corresponding handler is onStartResize.
See Also▲
See also capabilities
Method Documentation▲
void initialize(QtShell qtShell, WaylandSurface surface, WaylandResource resource)▲
Initializes the QtShellSurface, associating it with the given qtShell, surface, and resource.
void requestWindowGeometry(int windowState, rect windowGeometry)▲
Requests a new windowState and windowGeometry for the QtShellSurface. The state and geometry is updated when the client has acknowledged the request (at which point it is safe to assume that the surface's buffer has been resized if necessary).
void sendClose()▲
Requests that the client application closes itself.