- Qt 6.9
- Qt Wayland Compositor
- C++ Classes
- QWaylandWlShell
- Qt Wayland Compositor | Commercial or GPLv3

# QWaylandWlShell Class

The QWaylandWlShell class is an extension for desktop-style user interfaces. More...

Header: | `#include <QWaylandWlShell>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)` `target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)`
qmake: | `QT += waylandcompositor`
In QML: | WlShell
Inherits: | QWaylandShellTemplate

- List of all members, including inherited members

## Public Functions

| QWaylandWlShell()
| QWaylandWlShell(QWaylandCompositor *compositor)

## Reimplemented Public Functions

virtual void | initialize() override

## Signals

void | wlShellSurfaceCreated(QWaylandWlShellSurface *shellSurface)
void | wlShellSurfaceRequested(QWaylandSurface *surface, const QWaylandResource &resource)

## Static Public Members

const struct wl_interface * | interface()

## Detailed Description

The QWaylandWlShell extension provides a way to associate a QWaylandWlShellSurface 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`.

## Member Function Documentation

### QWaylandWlShell::QWaylandWlShell()

Constructs a QWaylandWlShell object.

### QWaylandWlShell::QWaylandWlShell(QWaylandCompositor *compositor)

Constructs a QWaylandWlShell object for the provided compositor.

### `[override virtual]` void QWaylandWlShell::initialize()

Reimplements: QWaylandCompositorExtension::initialize().

Initializes the WlShell extension.

### `[static]` const struct wl_interface *QWaylandWlShell::interface()

Returns the Wayland interface for the QWaylandWlShell.

### `[signal]` void QWaylandWlShell::wlShellSurfaceCreated(QWaylandWlShellSurface *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 QWaylandShellSurfaceItem or QWaylandQuickItem for displaying shellSurface in a QtQuick scene.

### `[signal]` void QWaylandWlShell::wlShellSurfaceRequested(QWaylandSurface *surface, const QWaylandResource &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 QWaylandWlShellSurface will be created automatically.