mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2025-08-24 23:24:27 -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.
This commit is contained in:
committed by
Aleix Pol Gonzalez
parent
397398dfd8
commit
f599e829ad
@ -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