mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2025-05-25 09:30:22 -04:00
This code was designed to make sure we didn't commit new buffers whilst we were waiting for a configure. The way this worked failed in 6 after kwin does not reply to desired_size changes immediately. It is uneeded after kwin commit "wayland: Avoid rearranging layer surfaces when wl_surface size changes" which means if we do submit frames between size change requests, they'll be ignored. Meaning the client will eventually get a configure event at the right size. |
||
---|---|---|
.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.