mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2025-05-25 09:30:22 -04:00
Depending on code path taken, geometry.size() == m_pendingSize can produce incorrect results. If a configure event is applied, it's fine. If the window is resized by user, m_pendingSize will have outdated value, and setWindowGeometry() can ignore future size updates that are valid. In hindsight, we need special hooks in the QWaylandWindow to request and apply new geometry. Rather than have one function that deals with all cases. |
||
---|---|---|
.reuse | ||
LICENSES | ||
src | ||
tests | ||
.gitignore | ||
.gitlab-ci.yml | ||
.kde-ci.yml | ||
CMakeLists.txt | ||
LayerShellQtConfig.cmake.in | ||
metainfo.yaml | ||
README.md | ||
README.md.license |
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.