Vlad Zahorodnii
721c0ae334
Remove an inappropriate log message
2023-09-06 14:52:55 +03:00
Vlad Zahorodnii
9750fd8be7
Avoid emitting excessive changed signals
...
If the layer shell surface properties don't change, don't emit the
changed signals and issue wayland requests.
2023-05-17 14:57:09 +03:00
Vlad Zahorodnii
5e88f449b0
Introduce Window::closeOnDismissed() flag
...
This can be used to control the sending of QEvent::Close event.
2023-05-16 17:58:48 +03:00
Vlad Zahorodnii
497d50c4df
Emit Window::layerChanged signal
...
Otherwise it's not possible to change layers at runtime.
2023-05-13 12:18:12 +03:00
Vlad Zahorodnii
511b92f4ab
Port to QWaylandShellSurface::attachPopup()
2023-04-22 12:11:04 +03:00
Vlad Zahorodnii
fdab1544fb
Add a (temporary) way to attach popups to layer surfaces
...
The new API is temporary. It's needed to help us with porting plasma to
the layer shell protocol until Qt 6.6 is released, which includes
QWaylandShellSurface::attachPopup().
2023-04-22 12:11:04 +03: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
Vlad Zahorodnii and Aleix Pol Gonzalez
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 and Aleix Pol Gonzalez
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
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
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 and Aleix Pol Gonzalez
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 and Aleix Pol Gonzalez
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
Vlad Zahorodnii
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