Commit Graph

27 Commits

Author SHA1 Message Date
29d0078909 Ensure we can set per-window properties before the intial commit
In the current implementation we cannot use a LayerShellQt before the
shell surface is created.

At the moment a shell surface is created, the constructor is run and
then QtWayland commits the current state. This means the compositor
configures the window before a client has any chance to set anchors or
margins.

This works whilst we're just being a simple fullscreen window, but won't
scale for plasmashell in the future.

This patch makes LayerShellQt::Window always creatable, and we can set
and cache properties before the platform window is created, just like
one can on QWindow and XDGShell properties.

This also makes it less potentially crashy as ::get always returns a
valid result, and
sets up the public API to be QML-able as an attached property in future.

Co-authored on Aleix's patch for the unit test
2021-04-14 23:49:30 +01:00
f684097c0f Properly guard zwlr_layer_shell_v1 destructor request
The destructor request was added in version 3.
2021-04-09 12:49:49 +00:00
b4c62f7926 Expose set_layer
The set_layer request allows to move a surface to another layer after
creating it.
2021-04-09 12:49:49 +00:00
4ff7cf23c9 Include reuse metadata
Both for the project and for it to ignore .kdev4 files.
2021-04-08 18:26:32 +02:00
154741bb47 Add wlr-layer-shell-unstable-v1.xml protocol file's licence
This way "reuse lint" outputs clean
2021-04-08 18:26:32 +02:00
31ce504f99 Fix layer-shell version selection logic
If an app blindly binds a global, it may crash if the compositor
supports slightly newer version of the protocol.
2021-04-08 09:26:16 +03:00
9816f32bc4 Remove redundant includes
qwayland-wlr-layer-shell-unstable-v1.h is already included in
corresponding header files.
2021-04-07 16:49:31 +00:00
c46249bba0 Remove Q_NULLPTR usage
This project requires C++17, which has the nullptr keyword.
2021-04-07 16:05:02 +00:00
834551f6b7 Remove hard-coded zwlr_layer_shell_v1 interface name
This makes code more neater.
2021-04-07 18:19:43 +03:00
95d5c5bea8 Add bugzilla component 2021-04-07 02:46:47 +02:00
09be37e17c SPDX, use .license on files where it's awkward to get it inside 2021-04-06 14:32:51 +02:00
6c75bae88b Warn when qputenv returns false as the whole component won't work 2021-04-06 13:54:52 +02:00
efa32dfbe3 Use unversioned Qt targets 2021-04-06 13:54:43 +02:00
86efa88e22 More SPDX 2021-04-06 13:47:24 +02:00
cd9b1a6fd3 Address code formatting 2021-04-06 13:39:27 +02:00
1bf7276d53 Add SPDX 2021-04-06 13:05:53 +02:00
840f40db73 Fix clang warning
The warning itself:

> /home/tsdgeos/devel/kde/layer-shell-qt/src/qwaylandlayershell_p.h:23:24: note: did you mean class here?
>      QWaylandLayerShell(struct QtWayland::zwlr_layer_shell_v1 *shell);
2021-04-05 09:23:52 +03:00
82fec33fc6 Move COPYING.LIB into LICENSES 2021-04-01 22:36:37 +02:00
4a3d27d0be Fix build of the layer-shell plugin
It's missing a dependency on Wayland::Client.
Also, it uses LayerShellQtInterface, which is only defined later, move it.
2021-04-01 22:36:29 +02:00
81e2bf553c ++README 2021-04-01 18:45:49 +02:00
5c48e7baab Add a README.md with some basic documentation 2021-04-01 18:43:43 +02:00
c0541e496a Add COPYING.LIB file 2021-04-01 17:56:06 +02:00
cffdab8c33 Use debug logging categories 2021-04-01 17:55:58 +02:00
be966dbeb6 Install headers in the right directory 2021-04-01 14:06:10 +02:00
53a97fc89e Make sure it's findable 2021-04-01 03:12:40 +02:00
41704f8d15 Fixes 2021-04-01 02:45:31 +02:00
ea3e4b3139 Initial commit 2021-04-01 02:28:01 +02:00