Commit graph

12 commits

Author SHA1 Message Date
David Edmundson
de9fdb3fb7 Support XDG activation
QWaylandLayerShellIntegration has virtual hooks for Xdg Activation.

This is important to hook up in layer shell because activation using
requestActivate in Qt will go through this path. It also means we have
support for us to drop the implementation in KWindowSystem in favour of
calling into Qt.
2023-11-06 12:41:20 +00:00
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
Volker Krause
ae883df5b1 Build with Qt6 2022-03-06 10:54:56 +01: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
11a811061f Introduce KeyboardInteractivity enum 2021-04-20 15:27:43 +03: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
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
cd9b1a6fd3 Address code formatting 2021-04-06 13:39:27 +02:00
Aleix Pol
41704f8d15 Fixes 2021-04-01 02:45:31 +02:00
Aleix Pol
ea3e4b3139 Initial commit 2021-04-01 02:28:01 +02:00