From 435754d5edfc5c722d67656169612b26086fd381 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Thu, 31 Jul 2025 07:48:11 +0000 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. (cherry picked from commit f599e829ad80010c8c307916650994b7b3105dad) Co-authored-by: Kai Uwe Broulik --- 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();