Go to file
Marco Martin 80d5e3c935 Expose setDesiredSize to the C++ API
Making it possible for clients to call setDesiredSize directly,

The idea is that under Wayland, the panel calls this intead of setGeometry,
not trying to set an abosulute geometry that might cause the panel sized wrongly,
but just sets an hint which will ensure the panel won't overlap another one

used by https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5437

CCBUG:489703
2025-04-30 17:23:48 +02:00
.reuse Include reuse metadata 2021-04-08 18:26:32 +02:00
LICENSES Align layershell-qt with the rest of KDE frameworks at a licence level 2024-02-12 14:15:06 +00:00
src Expose setDesiredSize to the C++ API 2025-04-30 17:23:48 +02:00
tests declarative: Add a QML extension object for accessing the margins property 2024-05-20 10:01:24 +00:00
.gitignore Mark .gitignore file as non-copyrightable 2021-05-21 15:35:56 +02:00
.gitlab-ci.yml CI: Add linux-qt6-next build 2025-02-12 07:28:37 +01:00
.kde-ci.yml Add xml/yaml linting 2025-02-01 09:52:29 +01:00
CMakeLists.txt Fix build with Qt 6.10 2025-01-29 15:34:52 +01:00
LayerShellQtConfig.cmake.in We use Qt6/kf6 only 2023-06-26 20:42:27 +02:00
metainfo.yaml Add xml/yaml linting 2025-02-01 09:52:29 +01: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.