QWaylandWlShellSurface Class

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

Header: #include <QWaylandWlShellSurface>
qmake: QT += waylandcompositor
Inherits: QWaylandShellSurfaceTemplate<QWaylandWlShellSurface>

This class is under development and is subject to change.

Public Types

enum FocusPolicy { DefaultFocus, NoKeyboardFocus }
enum FullScreenMethod { DefaultFullScreen, ScaleFullScreen, DriverFullScreen, FillFullScreen }
enum ResizeEdge { NoneEdge, TopEdge, BottomEdge, LeftEdge, ..., BottomRightEdge }


  • 1 property inherited from QObject

Public Functions

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

Reimplemented Public Functions

virtual QWaylandQuickShellIntegration *createIntegration(QWaylandQuickShellSurfaceItem *item)

Public Slots

void ping()
  • 1 public slot inherited from QObject


void classNameChanged()
void focusPolicyChanged()
void pong()
void setDefaultToplevel()
void setFullScreen(FullScreenMethod method, uint framerate, QWaylandOutput *output)
void setMaximized(QWaylandOutput *output)
void setPopup(QWaylandInputDevice *inputDevice, QWaylandSurface *parentSurface, const QPoint &relativeToParent)
void setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, FocusPolicy focusPolicy)
void startMove(QWaylandInputDevice *inputDevice)
void startResize(QWaylandInputDevice *inputDevice, ResizeEdge edges)
void surfaceChanged()
void titleChanged()

Static Public Members

QWaylandWlShellSurface *fromResource(wl_resource *resource)
QWaylandSurfaceRole *role()
  • 11 static public members inherited from QObject

Additional Inherited Members

Detailed Description

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

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::FocusPolicy

This enum type is used to specify the focus policy of a shell surface.

QWaylandWlShellSurface::DefaultFocus0The default focus policy should be used.
QWaylandWlShellSurface::NoKeyboardFocus1The shell surface should not get keyboard focus.

enum QWaylandWlShellSurface::FullScreenMethod

enum QWaylandWlShellSurface::ResizeEdge

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

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

className : const QString

This property holds the class name of the QWaylandWlShellSurface.

Access functions:

QString className() const

Notifier signal:

void classNameChanged()

focusPolicy : const FocusPolicy

This property holds the focus policy of the QWaylandWlShellSurface.

Access functions:

FocusPolicy focusPolicy() const

Notifier signal:

void focusPolicyChanged()

surface : QWaylandSurface * const

This property holds the surface associated with this QWaylandWlShellSurface.

Access functions:

QWaylandSurface *surface() const

Notifier signal:

void surfaceChanged()

title : const QString

This property holds the title of the QWaylandWlShellSurface.

Access functions:

QString title() const

Notifier signal:

void titleChanged()

Member Function Documentation


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.

[virtual] QWaylandQuickShellIntegration *QWaylandWlShellSurface::createIntegration(QWaylandQuickShellSurfaceItem *item)

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

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

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

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

[slot] void QWaylandWlShellSurface::ping()

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

[signal] void QWaylandWlShellSurface::pong()

[static] QWaylandSurfaceRole *QWaylandWlShellSurface::role()

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.

void QWaylandWlShellSurface::sendPopupDone()

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

[signal] void QWaylandWlShellSurface::setDefaultToplevel()

[signal] void QWaylandWlShellSurface::setFullScreen(FullScreenMethod method, uint framerate, QWaylandOutput *output)

[signal] void QWaylandWlShellSurface::setMaximized(QWaylandOutput *output)

[signal] void QWaylandWlShellSurface::setPopup(QWaylandInputDevice *inputDevice, QWaylandSurface *parentSurface, const QPoint &relativeToParent)

[signal] void QWaylandWlShellSurface::setTransient(QWaylandSurface *parentSurface, const QPoint &relativeToParent, FocusPolicy focusPolicy)

QSize QWaylandWlShellSurface::sizeForResize(const QSizeF &size, const QPointF &delta, ResizeEdge edges)

[signal] void QWaylandWlShellSurface::startMove(QWaylandInputDevice *inputDevice)

[signal] void QWaylandWlShellSurface::startResize(QWaylandInputDevice *inputDevice, ResizeEdge edges)

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.