From 6c19e733673e24684707836fb2c9e0f45d1ac3f9 Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Tue, 11 Oct 2022 21:21:09 +0200 Subject: Fix Wayland window activation when attaching to an existing instance The application launching Dolphin passes a token via the XDG_ACTIVATION_TOKEN environment variable We need to pass that to the running instance so that it can use it to raise itself --- src/dbusinterface.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/dbusinterface.cpp') diff --git a/src/dbusinterface.cpp b/src/dbusinterface.cpp index 0d43dfc23..8d5bf7645 100644 --- a/src/dbusinterface.cpp +++ b/src/dbusinterface.cpp @@ -31,9 +31,8 @@ void DBusInterface::ShowFolders(const QStringList& uriList, const QString& start if (urls.isEmpty()) { return; } - KWindowSystem::setCurrentXdgActivationToken(startUpId); const auto serviceName = isDaemon() ? QString() : QStringLiteral("org.kde.dolphin-%1").arg(QCoreApplication::applicationPid()); - if(!Dolphin::attachToExistingInstance(urls, false, GeneralSettings::splitView(), serviceName)) { + if(!Dolphin::attachToExistingInstance(urls, false, GeneralSettings::splitView(), serviceName, startUpId)) { Dolphin::openNewWindow(urls); } } @@ -44,9 +43,8 @@ void DBusInterface::ShowItems(const QStringList& uriList, const QString& startUp if (urls.isEmpty()) { return; } - KWindowSystem::setCurrentXdgActivationToken(startUpId); const auto serviceName = isDaemon() ? QString() : QStringLiteral("org.kde.dolphin-%1").arg(QCoreApplication::applicationPid()); - if(!Dolphin::attachToExistingInstance(urls, true, GeneralSettings::splitView(), serviceName)) { + if(!Dolphin::attachToExistingInstance(urls, true, GeneralSettings::splitView(), serviceName, startUpId)) { Dolphin::openNewWindow(urls, nullptr, Dolphin::OpenNewWindowFlag::Select); }; } -- cgit v1.3