mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2025-08-24 15:15:03 -04:00
When activating, also try token from XDG_ACTIVATION_TOKEN
This matches upstream QWaylandXdgSurface behavior.
It also makes various activation magic e.g. KDBusService work.
(cherry picked from commit f599e829ad
)
Co-authored-by: Kai Uwe Broulik <kde@privat.broulik.de>
This commit is contained in:
@ -211,6 +211,10 @@ bool QWaylandLayerSurface::requestActivate()
|
|||||||
activation->activate(m_activationToken, window()->wlSurface());
|
activation->activate(m_activationToken, window()->wlSurface());
|
||||||
m_activationToken = {};
|
m_activationToken = {};
|
||||||
return true;
|
return true;
|
||||||
|
} else if (const auto token = qEnvironmentVariable("XDG_ACTIVATION_TOKEN"); !token.isEmpty()) {
|
||||||
|
activation->activate(token, window()->wlSurface());
|
||||||
|
qunsetenv("XDG_ACTIVATION_TOKEN");
|
||||||
|
return true;
|
||||||
} else {
|
} else {
|
||||||
const auto focusWindow = QGuiApplication::focusWindow();
|
const auto focusWindow = QGuiApplication::focusWindow();
|
||||||
const auto wlWindow = focusWindow ? static_cast<QtWaylandClient::QWaylandWindow *>(focusWindow->handle()) : window();
|
const auto wlWindow = focusWindow ? static_cast<QtWaylandClient::QWaylandWindow *>(focusWindow->handle()) : window();
|
||||||
|
Reference in New Issue
Block a user