Commit graph

115 commits

Author SHA1 Message Date
Jonathan Esk-Riddell 91db77acc2 Update kf5 version requirement to 5.98.0
GIT_SILENT
2022-09-15 11:10:38 +01:00
Laurent Montel 5af50ac3ee Add FreeBSD Qt6 CI support 2022-08-27 14:40:53 +02:00
Nicolas Fella 7bfac45da8 Make fully reuse compliant 2022-08-23 21:52:18 +02:00
David Edmundson 7bd63669ea Use change signals on Window interface class.
QWaylandLayerSurface pulled data from the Window on startup. The Window
pushed data into the QWaylandLayerSurface on changes. Having two
patterns is a sign of something being off.

This moves everything to a single design, pulling from the public
interface. This allows us to drop a code path that meddles with
QWaylandWindow internals.
2022-06-30 08:09:21 +00:00
Jonathan Esk-Riddell 13961ef7b9 Update qt5 version requirement to 5.15.2
GIT_SILENT
2022-06-27 10:02:56 +01:00
Jonathan Esk-Riddell ff6155a5af Update kf5 version requirement to 5.94
GIT_SILENT
2022-06-27 10:02:56 +01:00
Nicolas Fella 34e7c90c2d Mark required deps as required
BUG: 454912
2022-06-06 12:26:10 +02:00
Jonathan Esk-Riddell 563b61c75c Update version number for 5.25.80
GIT_SILENT
2022-05-19 12:26:13 +01:00
Jonathan Esk-Riddell 404e9851d1 Update version number for 5.24.90
GIT_SILENT
2022-05-19 10:41:53 +01:00
Carl Schwan 345676a4a1 Minor api doc improvement for api.kde.org 2022-05-04 10:43:03 +00:00
Volker Krause ae883df5b1 Build with Qt6 2022-03-06 10:54:56 +01:00
Julius Zint 9f8b8c9731 Add desiredScreen property to LayerShellQt::Window
If the property is set, the compositor will try to put the window on the
given output. If not set, the compositer will decide where to put the
window (usually the active output). The motivation for this change is the
ability for KRunner to always appear on the active output.
2022-01-26 09:04:14 +01:00
Jonathan Riddell 14982d6dc7 Update version number for 5.24.80
GIT_SILENT
2022-01-13 11:56:23 +00:00
Jonathan Riddell e557008b56 Update version number for 5.23.90
GIT_SILENT
2022-01-13 10:34:20 +00:00
Laurent Montel 80f6a629bb GIT_SILENT: add missing override 2021-10-27 13:43:28 +02:00
Jonathan Riddell 662afeba22 Update kf5 version requirement to 5.86
GIT_SILENT
2021-10-11 20:48:40 +01:00
Nicolas Fella 3dac2dd012 Add FreeBSD CI 2021-10-07 01:27:09 +02:00
Nicolas Fella 5b280a4602 Add Linux CI 2021-10-05 15:14:20 +02:00
Nicolas Fella eb6fb8ab13 Add .kde-ci.yml 2021-10-05 15:14:05 +02:00
Jonathan Riddell 06815f2817 Update version number for 5.23.80
GIT_SILENT
2021-09-16 10:34:01 +01:00
Jonathan Riddell dc07e14630 Update version number for 5.22.90
GIT_SILENT
2021-09-16 09:21:32 +01:00
David Edmundson 4a439143ba Fix a crash when creating views on the placeholder screen
When a compositor has no outputs listed Qt creates a dummy placeholder
QScreen object that does not represent a wl_output.

This should still be fixed in the clients to not create a view, it's
wasteful and probably will still have plenty of other bugs, hence the
giant warning, but it's still worth guarding.

CCBUG: 439096
2021-09-15 22:55:35 +00:00
David Edmundson 331505a4d2 Explicitly set KDE_COMPILERSETTINGS_LEVEL 2021-08-24 22:41:46 +02:00
Laurent Montel f6084b2c43 Fix compile with last ecm.
("we have disabled the C and C++ specific compiler extensions.")
2021-06-28 07:51:57 +02:00
Alexander Lohnau 9af3c35020
Mark .gitignore file as non-copyrightable 2021-05-21 15:35:56 +02:00
Jonathan Riddell 525fa9b819 Update version number for 5.22.80
GIT_SILENT
2021-05-13 15:09:54 +01:00
Jonathan Riddell 1021ca5ab5 Update version number for 5.21.90
GIT_SILENT
2021-05-13 10:21:51 +01:00
Jonathan Riddell 204eeaf1c9 Update kf5 version requirement to 5.82
GIT_SILENT
2021-05-13 09:56:28 +01:00
Ömer Fadıl Usta 42a87ad728 Update .gitignore 2021-05-09 17:54:28 +00:00
Friedrich W. H. Kossebau 7d46bd63c5 Port away from ECMSetupVersion's deprecated *_VERSION_STRING CMake variable
GIT_SILENT
2021-05-04 23:35:44 +02:00
Alexander Lohnau 710152a7f3
GIT_SILENT Add auto generated files to .gitignore 2021-05-03 14:54:12 +02:00
Vlad Zahorodnii 8d1aeb7bf1 Store QWaylandLayerShell using a QScopedPointer
This is to ensure that the QWaylandLayerShell will be eventually
destroyed.
2021-04-20 16:02:33 +00:00
Vlad Zahorodnii 93f3ed2c07 Fix a memory leak
The dynamically allocated QtWayland::zwlr_layer_shell_v1 object in
QWaylandLayerShellIntegration::registryLayer() isn't deleted anywhere.
2021-04-20 16:02:33 +00:00
Vlad Zahorodnii efd32eed53 Add missing parenthesis
This is to make the compiler happier.
2021-04-20 18:38:24 +03:00
Vlad Zahorodnii 11a811061f Introduce KeyboardInteractivity enum 2021-04-20 15:27:43 +03:00
Nicolas Fella 549f5ad682 Link against xkbcommon
Otherwise the build fails with missing xkbcommon headers
2021-04-15 20:46:25 +02:00
David Edmundson cd409ed50e Add width and height to test
This is needed if we are not anchoring to the full screen
2021-04-15 09:59:18 +01:00
David Edmundson 2b1219cfdd 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-15 09:58:57 +01:00
David Edmundson 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
Vlad Zahorodnii 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
Vlad Zahorodnii 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
Aleix Pol 4ff7cf23c9 Include reuse metadata
Both for the project and for it to ignore .kdev4 files.
2021-04-08 18:26:32 +02:00
Aleix Pol 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
Vlad Zahorodnii 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
Vlad Zahorodnii 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
Vlad Zahorodnii c46249bba0 Remove Q_NULLPTR usage
This project requires C++17, which has the nullptr keyword.
2021-04-07 16:05:02 +00:00
Vlad Zahorodnii 834551f6b7 Remove hard-coded zwlr_layer_shell_v1 interface name
This makes code more neater.
2021-04-07 18:19:43 +03:00
Aleix Pol 95d5c5bea8 Add bugzilla component 2021-04-07 02:46:47 +02:00
Aleix Pol 09be37e17c SPDX, use .license on files where it's awkward to get it inside 2021-04-06 14:32:51 +02:00
Aleix Pol 6c75bae88b Warn when qputenv returns false as the whole component won't work 2021-04-06 13:54:52 +02:00