QWaylandWlShellSurface Class

The QWaylandWlShellSurface class provides desktop-style compositor-specific features to a surface. More...

Header: #include <QWaylandWlShellSurface>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
Instantiated By: WlShellSurface
Inherits: QWaylandShellSurfaceTemplate

Public Types

enum ResizeEdge { NoneEdge, TopEdge, BottomEdge, LeftEdge, TopLeftEdge, …, BottomRightEdge }

Properties

Public Functions

QWaylandWlShellSurface()
QWaylandWlShellSurface(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &res)
QString className() const
void initialize(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &resource)
void sendConfigure(const QSize &size, ResizeEdge edges)
void sendPopupDone()
QWaylandWlShell *shell() const
QWaylandSurface *surface() const
QString title() const

Public Slots

void ping()

Signals

Static Public Members

QWaylandWlShellSurface *fromResource(wl_resource *resource)

Detailed Description

This class is part of the QWaylandWlShell extension and provides a way to extend the functionality of an existing QWaylandSurface with features specific to desktop-style compositors, such as resizing and moving the surface.

It corresponds to the Wayland interface wl_shell_surface.

Member Type Documentation

enum QWaylandWlShellSurface::ResizeEdge

This enum type provides a way to specify an edge or corner of the surface.

ConstantValueDescription
QWaylandWlShellSurface::NoneEdge0No edge.
QWaylandWlShellSurface::TopEdge1The top edge.
QWaylandWlShellSurface::BottomEdge2The bottom edge.
QWaylandWlShellSurface::LeftEdge4The left edge.
QWaylandWlShellSurface::TopLeftEdge5The top left corner.
QWaylandWlShellSurface::BottomLeftEdge6The bottom left corner.
QWaylandWlShellSurface::RightEdge8The right edge.
QWaylandWlShellSurface::TopRightEdge9The top right corner.
QWaylandWlShellSurface::BottomRightEdge10The bottom right corner.

Property Documentation

[read-only] className : const QString

This property holds the class name of the QWaylandWlShellSurface.

Access functions:

QString className() const

Notifier signal:

void classNameChanged()

[read-only] shell : QWaylandWlShell* const

This property holds the shell associated with this QWaylandWlShellSurface.

Access functions:

QWaylandWlShell *shell() const

Notifier signal:

void shellChanged()

[read-only] surface : QWaylandSurface* const

This property holds the surface associated with this QWaylandWlShellSurface.

Access functions:

QWaylandSurface *surface() const

Notifier signal:

void surfaceChanged()

[read-only] title : const QString

This property holds the title of the QWaylandWlShellSurface.

Access functions:

QString title() const

Notifier signal:

void titleChanged()

Member Function Documentation

QWaylandWlShellSurface::QWaylandWlShellSurface()

Constructs a QWaylandWlShellSurface.

QWaylandWlShellSurface::QWaylandWlShellSurface(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &res)

Constructs a QWaylandWlShellSurface for surface and initializes it with the given shell and resource res.

[static] QWaylandWlShellSurface *QWaylandWlShellSurface::fromResource(wl_resource *resource)

Returns the QWaylandWlShellSurface object associated with the given resource, or null if no such object exists.

[invokable] void QWaylandWlShellSurface::initialize(QWaylandWlShell *shell, QWaylandSurface *surface, const QWaylandResource &resource)

Initializes the QWaylandWlShellSurface and associates it with the given shell, surface, and resource.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[slot] void QWaylandWlShellSurface::ping()

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

[invokable] void QWaylandWlShellSurface::sendConfigure(const QSize &size, ResizeEdge edges)

Sends a configure event to the client, suggesting that it resize its surface to the provided size. The edges provide a hint about how the surface was resized.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[invokable] void QWaylandWlShellSurface::sendPopupDone()

Sends a popup_done event to the client to indicate that the user has clicked somewhere outside the client's surfaces.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.