diff --git a/src/plasma-runner-neochat.desktop b/src/plasma-runner-neochat.desktop index bb8d1be85..92d157a19 100644 --- a/src/plasma-runner-neochat.desktop +++ b/src/plasma-runner-neochat.desktop @@ -80,3 +80,4 @@ X-Plasma-DBusRunner-Service=org.kde.neochat X-Plasma-DBusRunner-Path=/RoomRunner X-Plasma-Request-Actions-Once=true X-Plasma-Runner-Min-Letter-Count=3 +X-Plasma-Runner-Has-Activation=true diff --git a/src/runner.cpp b/src/runner.cpp index f730303b0..98fd1085e 100644 --- a/src/runner.cpp +++ b/src/runner.cpp @@ -5,6 +5,8 @@ #include +#include + #include "controller.h" #include "neochatroom.h" #include "roommanager.h" @@ -80,10 +82,12 @@ RemoteMatches Runner::Match(const QString &searchTerm) return matches; } -void Runner::Run(const QString &id, const QString &actionId) +void Runner::Run(const QString &id, const QString &actionId, const QString &activationToken) { Q_UNUSED(actionId); + KWindowSystem::setCurrentXdgActivationToken(activationToken); + NeoChatRoom *room = qobject_cast(Controller::instance().activeConnection()->room(id)); if (!room) { diff --git a/src/runner.h b/src/runner.h index 4e15b55da..f94dec99c 100644 --- a/src/runner.h +++ b/src/runner.h @@ -183,7 +183,7 @@ public: /** * @brief Handle action calls. */ - Q_SCRIPTABLE void Run(const QString &id, const QString &actionId); + Q_SCRIPTABLE void Run(const QString &id, const QString &actionId, const QString &activationToken = QString()); private: RemoteImage serializeImage(const QImage &image);