Minor changes to layershellqt to build with less kde deps / nix's lack of kde qt6 packages
Find a file
David Edmundson 1358743441 Call LayerShell::set_size when the window geometry changes
Without this when krunner expands, the frame after kwin will resize it
back to the last size the layer shell requested to be resized to.

To detect when we should not send an explicit size on window resize
events we check the anchors; if we're constrained on opposing edges we
want the compositor alone to set the size.
2023-05-01 14:38:36 +00:00
.reuse Include reuse metadata 2021-04-08 18:26:32 +02:00
LICENSES SPDX, use .license on files where it's awkward to get it inside 2021-04-06 14:32:51 +02:00
src Call LayerShell::set_size when the window geometry changes 2023-05-01 14:38:36 +00:00
tests chore: add missing override in example 2023-04-24 23:23:09 +03:00
.gitignore Mark .gitignore file as non-copyrightable 2021-05-21 15:35:56 +02:00
.gitlab-ci.yml Remove Qt5 CI 2023-02-28 15:05:03 +01:00
.kde-ci.yml Use KF6 libs on CI 2023-02-28 15:05:15 +01:00
CMakeLists.txt Port to QWaylandWindow::setShellIntegration() 2023-04-22 12:11:01 +03:00
LayerShellQtConfig.cmake.in Build with Qt6 2022-03-06 10:54:56 +01:00
metainfo.yaml Make fully reuse compliant 2022-08-23 21:52:18 +02:00
README.md Add bugzilla component 2021-04-07 02:46:47 +02:00
README.md.license SPDX, use .license on files where it's awkward to get it inside 2021-04-06 14:32:51 +02:00

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.