Qt Wayland Compositor C++ Classes

Provides C++ classes for writing custom Wayland display servers. More...

Classes

QWaylandBufferRef

Holds the reference to a surface buffer

QWaylandClient

Represents a client connecting to the QWaylandCompositor

QWaylandCompositor

Manages the Wayland display server

QWaylandCompositorExtension

The base class for compositor extensions

QWaylandCompositorExtensionTemplate

Convenience class for subclassing QWaylandCompositorExtension

QWaylandIdleInhibitManagerV1

Provides an extension that allows to inhibit the idle behavior of the compositor

QWaylandIviApplication

Extension for embedded-style user interfaces

QWaylandIviSurface

Simple way to identify and resize a surface

QWaylandKeyboard

Represents a keyboard device

QWaylandObject

The base class for objects that can contain Wayland extensions

QWaylandOutput

Represents a displayable area managed by the compositor

QWaylandOutputMode

Holds the resolution and refresh rate of an output

QWaylandPointer

Represents a pointer device

QWaylandPresentationTime

Extension to get timing for on-screen presentation

QWaylandQtTextInputMethodManager

Provides access to input methods in the compositor

QWaylandQuickItem

Qt Quick item representing a QWaylandView

QWaylandQuickShellIntegration

Provides support for shell surface integration with QtQuick

QWaylandQuickShellSurfaceItem

Qt Quick item that represents a QWaylandShellSurface

QWaylandResource

Container for a wl_resource

QWaylandSeat

Access to keyboard, mouse, and touch input

QWaylandShellSurface

Common interface for surface roles specified by shell extensions

QWaylandShellSurfaceTemplate

Convenience class for creating custom shell surface classes

QWaylandSurface

Represents a rectangular area on an output device

QWaylandSurfaceGrabber

Allows to read the content of a QWaylandSurface

QWaylandSurfaceRole

Represents the role of the surface in context of wl_surface

QWaylandTextInputManager

Provides access to input methods in the compositor

QWaylandTouch

Access to a touch device

QWaylandView

Represents a view of a surface on an output

QWaylandViewporter

Provides an extension for surface resizing and cropping

QWaylandWlShell

Extension for desktop-style user interfaces

QWaylandWlShellSurface

Desktop-style compositor-specific features to a surface

QWaylandXdgDecorationManagerV1

Provides an extension for negotiation of server-side and client-side window decorations

QWaylandXdgOutputManagerV1

Provides an extension for describing outputs in a desktop oriented fashion

QWaylandXdgPopup

Represents the popup specific parts of an xdg surface

QWaylandXdgShell

Extension for desktop-style user interfaces

QWaylandXdgSurface

Desktop-style compositor-specific features to an xdg surface

QWaylandXdgToplevel

Represents the toplevel window specific parts of an xdg surface

Detailed Description

Using the Module

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module component in the Qt6 package:

 find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
 target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)

For more details, see the Build with CMake overview.

Building with qmake

To configure the module for building with qmake, add the module as a value of the QT variable in the project's .pro file:

 QT += waylandcompositor

For more information about using these classes in your application, see the Qt Wayland Compositor documentation.