diff --git a/scripting/scripting.cpp b/scripting/scripting.cpp --- a/scripting/scripting.cpp +++ b/scripting/scripting.cpp @@ -709,6 +709,7 @@ qmlRegisterType("org.kde.kwin", 2, 0, "ClientModel"); qmlRegisterType("org.kde.kwin", 2, 0, "ClientModelByScreen"); qmlRegisterType("org.kde.kwin", 2, 0, "ClientModelByScreenAndDesktop"); + qmlRegisterType("org.kde.kwin", 2, 1, "ClientModelByScreenAndActivity"); qmlRegisterType("org.kde.kwin", 2, 0, "ClientFilterModel"); qmlRegisterType(); qmlRegisterType(); diff --git a/scripting/scripting_model.h b/scripting/scripting_model.h --- a/scripting/scripting_model.h +++ b/scripting/scripting_model.h @@ -268,6 +268,14 @@ ~ClientModelByScreenAndDesktop() override; }; +class ClientModelByScreenAndActivity : public ClientModel +{ + Q_OBJECT +public: + ClientModelByScreenAndActivity(QObject *parent = nullptr); + ~ClientModelByScreenAndActivity() override; +}; + /** * @brief Custom QSortFilterProxyModel to filter on Client caption, role and class. */ diff --git a/scripting/scripting_model.cpp b/scripting/scripting_model.cpp --- a/scripting/scripting_model.cpp +++ b/scripting/scripting_model.cpp @@ -847,6 +847,7 @@ CLIENT_MODEL_WRAPPER(SimpleClientModel, QList()) CLIENT_MODEL_WRAPPER(ClientModelByScreen, QList() << ScreenRestriction) CLIENT_MODEL_WRAPPER(ClientModelByScreenAndDesktop, QList() << ScreenRestriction << VirtualDesktopRestriction) +CLIENT_MODEL_WRAPPER(ClientModelByScreenAndActivity, QList() << ScreenRestriction << ActivityRestriction) #undef CLIENT_MODEL_WRAPPER ClientFilterModel::ClientFilterModel(QObject *parent)