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

# XdgShell QML Type

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

Import Statement: | `import QtWayland.Compositor.XdgShell`
In C++: | QWaylandXdgShell

- List of all members, including inherited members

## Signals

- pong(int serial)
- popupCreated(XdgPopup popup, XdgSurface xdgSurface)
- toplevelCreated(XdgToplevel toplevel, XdgSurface xdgSurface)
- xdgSurfaceCreated(XdgSurface xdgSurface)

## Methods

- void ping(WaylandClient client)

## Detailed Description

The XdgShell extension provides a way to associate a XdgToplevel or XdgPopup with a regular Wayland surface. Using the XdgToplevel interface, the client can request that the surface is resized, moved, and so on.

XdgShell corresponds to the Wayland interface, `xdg_shell`.

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

     import QtWayland.Compositor.XdgShell

     WaylandCompositor {
         XdgShell {
             // ...
         }
     }

## Signal Documentation

pong(int serial)

This signal is emitted when the client has responded to a ping event with serial, serial.

Note: The corresponding handler is `onPong`.

See also ping().

popupCreated(XdgPopup popup, XdgSurface xdgSurface)

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

xdgSurface is the XdgSurface popup is the role object for.

Note: The corresponding handler is `onPopupCreated`.

toplevelCreated(XdgToplevel toplevel, XdgSurface xdgSurface)

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

xdgSurface is the XdgSurface toplevel is the role object for.

Note: The corresponding handler is `onToplevelCreated`.

xdgSurfaceCreated(XdgSurface xdgSurface)

This signal is emitted when the client has created a `xdg_surface`. Note that xdgSurface is not mapped, i.e. according to the `xdg-shell` protocol it should not be displayed, until it has received a role object.

Note: The corresponding handler is `onXdgSurfaceCreated`.

See also toplevelCreated() and popupCreated().

## Method Documentation

void ping(WaylandClient client)

Sends a ping event to client. If the client replies to the event the pong signal will be emitted.