Minor changes to layershellqt to build with less kde deps / nix's lack of kde qt6 packages
Find a file
Vlad Zahorodnii 2985398375 Port to QWaylandWindow::setShellIntegration()
With QWaylandWindow::setShellIntegration(), it's possible to use
xdg-shell and layer-shell protocols in the same process. It's important
for plasmashell, where we want to use the layer shell protocol for
special surfaces such as the desktop background, and the xdg shell
protocol for dialogs.

In order to make a QWindow use the layer shell protocol, you need to
call LayerShellQt::Window::get() before the window is mapped.
2023-04-22 12:11:01 +03: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 Port to QWaylandWindow::setShellIntegration() 2023-04-22 12:11:01 +03:00
tests Port to QWaylandWindow::setShellIntegration() 2023-04-22 12:11:01 +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.