- Qt 6.9
- Qt Wayland Compositor
- QML Types
- QtWayland.Compositor.WlShell
- WlShell
- Qt Wayland Compositor | Commercial or GPLv3

# WlShell QML Type

Provides an extension for desktop-style user interfaces. More...

Import Statement: | `import QtWayland.Compositor.WlShell`
In C++: | QWaylandWlShell

- List of all members, including inherited members

## Signals

- void wlShellSurfaceCreated(WlShellSurface shellSurface)
- void wlShellSurfaceRequested(WaylandSurface surface, WaylandResource resource)

## Detailed Description

The WlShell extension provides a way to associate a ShellSurface with a regular Wayland surface. Using the shell surface interface, the client can request that the surface is resized, moved, and so on.

WlShell corresponds to the Wayland interface `wl_shell`.

To provide the functionality of the shell extension in a compositor, create an instance of the WlShell component and add it to the list of extensions supported by the compositor:

     import QtWayland.Compositor.WlShell

     WaylandCompositor {
         WlShell {
             // ...
         }
     }

## Signal Documentation

void wlShellSurfaceCreated(WlShellSurface shellSurface)

This signal is emitted when the client has created a `wl_shell_surface`. A common use case is to let the handler of this signal instantiate a ShellSurfaceItem or WaylandQuickItem for displaying shellSurface in a QtQuick scene.

Note: The corresponding handler is `onWlShellSurfaceCreated`.

void wlShellSurfaceRequested(WaylandSurface surface, WaylandResource resource)

This signal is emitted when the client has requested a `wl_shell_surface` to be associated with surface. The handler for this signal may create a shell surface for resource and initialize it within the scope of the signal emission. Otherwise a WlShellSurface will be created automatically.

Note: The corresponding handler is `onWlShellSurfaceRequested`.