mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2025-11-23 02:02:43 -05:00
e9b257954b14477d58355c6bbbc6d04a1c9ef76c
Absolute margin values pose a problem if you want to place a surface certain distance away from a screen edge (in percents) but you also want the compositor to place the surface on the active output. At the moment, this issue is worked around by using kwin dbus api to query the active output. This is not good. This change is a take on allowing to specify margin values in percents. It can be used to drop a dbus call in krunner and assist us with porting other components to layer shell, e.g. OSDs, they also need to be placed one third away the bottom screen edge.
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.
Description
Languages
C++
76.6%
CMake
15.7%
QML
7.7%