mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2026-03-10 14:50:05 -04:00
3dacd70398ea609d108ab971da4aa7ab6ba862f5
If the window position is not specified, which is a reasonable thing to
do when using the layer shell protocol, setWidth() and setHeight() can
unintentionally change the screen() to the wrong one.
This change adds a setScreen() function so it's harder to shoot
yourself in the foot while using the layer shell protocol.
(cherry picked from commit 430ad3630f)
LayerShellQt
This component is meant for applications to be able to easily use clients based on wlr-layer-shell.
Here you can read about what the protocol does and how shells work: https://drewdevault.com/2018/07/29/Wayland-shells.html
Report issues in this component here: https://bugs.kde.org/enter_bug.cgi?product=layer-shell-qt
Usage
CMake
To use it from a CMake project you'll need to:
find_package(LayerShellQt REQUIRED)
Then it will offer us the target LayerShellQt::Interface that we can link to to get access to this framework.
C++
You can use LayerShellQt::Shell::useLayerShell(); to enable it before any clients are created.
The class LayerShellQt::Window will give us access to surface-specific settings. We can get it by using LayerShellQt::Window::get(window) on whatever QWindow we need to tweak.
Description
Languages
C++
78.4%
CMake
14.5%
QML
7.1%