From f599e829ad80010c8c307916650994b7b3105dad Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Wed, 30 Jul 2025 17:53:16 +0200 Subject: [PATCH] When activating, also try token from XDG_ACTIVATION_TOKEN This matches upstream QWaylandXdgSurface behavior. It also makes various activation magic e.g. KDBusService work. --- src/qwaylandlayersurface.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/qwaylandlayersurface.cpp b/src/qwaylandlayersurface.cpp index b7e9cdf..3355c17 100644 --- a/src/qwaylandlayersurface.cpp +++ b/src/qwaylandlayersurface.cpp @@ -211,6 +211,10 @@ bool QWaylandLayerSurface::requestActivate() activation->activate(m_activationToken, window()->wlSurface()); m_activationToken = {}; 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 { const auto focusWindow = QGuiApplication::focusWindow(); const auto wlWindow = focusWindow ? static_cast(focusWindow->handle()) : window();