[plasma/kwin] /: Remove kwin-wayland datadir

Vlad Zahorodnii <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit f197af4cd15508d5d557142e008c26db7e9e67f0 by Vlad Zahorodnii.
Committed on 17/08/2026 at 08:00.
Pushed by vladz into branch 'master'.

Remove kwin-wayland datadir

kwin-x11 has been dropped in 6.8.

M  +1    -1    autotests/integration/scripting/minimizeall_test.cpp
M  +1    -1    data/update_default_rules.cpp
M  +1    -1    src/effect/effectframe.cpp
M  +5    -15   src/effect/effectloader.cpp
M  +36   -42   src/kcms/common/effectsmodel.cpp
M  +3    -8    src/kcms/common/genericscriptedconfig.cpp
M  +3    -6    src/kcms/screenedges/main.cpp
M  +2    -5    src/kcms/screenedges/touch.cpp
M  +1    -2    src/kcms/scripts/kwinscriptsdata.cpp
M  +10   -16   src/kcms/tabbox/main.cpp
M  +1    -1    src/onscreennotification.cpp
M  +1    -1    src/outline.cpp
M  +5    -5    src/plugins/CMakeLists.txt
M  +1    -1    src/plugins/trackmouse/CMakeLists.txt
M  +2    -2    src/plugins/trackmouse/trackmouse.cpp
M  +3    -3    src/qml/CMakeLists.txt
M  +6    -14   src/scripting/scriptedeffect.cpp
M  +1    -4    src/scripting/scriptedquicksceneeffect.cpp
M  +24   -30   src/scripting/scripting.cpp
M  +1    -1    src/tabbox/switchers/CMakeLists.txt
M  +2    -5    src/tabbox/tabboxhandler.cpp

https://invent.kde.org/plasma/kwin/-/commit/f197af4cd15508d5d557142e008c26db7e9e67f0

diff --git a/autotests/integration/scripting/minimizeall_test.cpp b/autotests/integration/scripting/minimizeall_test.cpp
index 817ee120fe4..8d60fb5f802 100644
--- a/autotests/integration/scripting/minimizeall_test.cpp
+++ b/autotests/integration/scripting/minimizeall_test.cpp
@@ -58,7 +58,7 @@ void MinimizeAllScriptTest::initTestCase()
 
 static QString locateMainScript(const QString &pluginName)
 {
-    const QList<KPluginMetaData> offers = KPackage::PackageLoader::self()->findPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin-wayland/scripts"), [&](const KPluginMetaData &metaData) {
+    const QList<KPluginMetaData> offers = KPackage::PackageLoader::self()->findPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts"), [&](const KPluginMetaData &metaData) {
         return metaData.pluginId() == pluginName;
     });
     if (offers.isEmpty()) {
diff --git a/data/update_default_rules.cpp b/data/update_default_rules.cpp
index c6d8e7754af..7b1eced9a71 100644
--- a/data/update_default_rules.cpp
+++ b/data/update_default_rules.cpp
@@ -27,7 +27,7 @@ int main(int argc, char *argv[])
 
     QCoreApplication::setApplicationName("kwin_update_default_rules");
 
-    QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QString("kwin-wayland/default_rules/%1").arg(argv[1]));
+    QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QString("kwin/default_rules/%1").arg(argv[1]));
     if (file.isEmpty()) {
         qWarning() << "File " << argv[1] << " not found!";
         return 1;
diff --git a/src/effect/effectframe.cpp b/src/effect/effectframe.cpp
index ee45d3de967..39ecfa8ffaf 100644
--- a/src/effect/effectframe.cpp
+++ b/src/effect/effectframe.cpp
@@ -33,7 +33,7 @@ EffectFrameQuickScene::EffectFrameQuickScene(EffectFrameStyle style, bool static
         break;
     }
 
-    const QString defaultPath = QStringLiteral("kwin-wayland/frames/plasma/frame_%1.qml").arg(name);
+    const QString defaultPath = QStringLiteral("kwin/frames/plasma/frame_%1.qml").arg(name);
     // TODO read from kwinApp()->config() "QmlPath" like Outline/OnScreenNotification
     // *if* someone really needs this to be configurable.
     const QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, defaultPath);
diff --git a/src/effect/effectloader.cpp b/src/effect/effectloader.cpp
index 9b3f65dab02..350fa70af18 100644
--- a/src/effect/effectloader.cpp
+++ b/src/effect/effectloader.cpp
@@ -167,13 +167,10 @@ bool ScriptedEffectLoader::loadJavascriptEffect(const KPluginMetaData &effect)
 bool ScriptedEffectLoader::loadDeclarativeEffect(const KPluginMetaData &metadata)
 {
     const QString name = metadata.pluginId();
-    QString scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/effects/") + name + QLatin1StringView("/contents/ui/main.qml"));
+    const QString scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + name + QLatin1StringView("/contents/ui/main.qml"));
     if (scriptFile.isNull()) {
-        scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + name + QLatin1StringView("/contents/ui/main.qml"));
-        if (scriptFile.isNull()) {
-            qCWarning(KWIN_CORE) << "Could not locate the effect script";
-            return false;
-        }
+        qCWarning(KWIN_CORE) << "Could not locate the effect script";
+        return false;
     }
 
     QQmlEngine *engine = Scripting::self()->qmlEngine();
@@ -227,19 +224,12 @@ void ScriptedEffectLoader::queryAndLoadAll()
 
 QList<KPluginMetaData> ScriptedEffectLoader::findAllEffects() const
 {
-    return KPackage::PackageLoader::self()->listPackages(s_serviceType, QStringLiteral("kwin-wayland/effects"))
-        + KPackage::PackageLoader::self()->listPackages(s_serviceType, QStringLiteral("kwin/effects"));
+    return KPackage::PackageLoader::self()->listPackages(s_serviceType, QStringLiteral("kwin/effects"));
 }
 
 KPluginMetaData ScriptedEffectLoader::findEffect(const QString &name) const
 {
-    auto plugins = KPackage::PackageLoader::self()->findPackages(s_serviceType, QStringLiteral("kwin-wayland/effects"), [name](const KPluginMetaData &metadata) {
-        return metadata.pluginId().compare(name, Qt::CaseInsensitive) == 0;
-    });
-    if (!plugins.isEmpty()) {
-        return plugins.first();
-    }
-    plugins = KPackage::PackageLoader::self()->findPackages(s_serviceType, QStringLiteral("kwin/effects"), [name](const KPluginMetaData &metadata) {
+    const auto plugins = KPackage::PackageLoader::self()->findPackages(s_serviceType, QStringLiteral("kwin/effects"), [name](const KPluginMetaData &metadata) {
         return metadata.pluginId().compare(name, Qt::CaseInsensitive) == 0;
     });
     if (!plugins.isEmpty()) {
diff --git a/src/kcms/common/effectsmodel.cpp b/src/kcms/common/effectsmodel.cpp
index d42453619b2..193e33c507a 100644
--- a/src/kcms/common/effectsmodel.cpp
+++ b/src/kcms/common/effectsmodel.cpp
@@ -214,7 +214,7 @@ bool EffectsModel::setData(const QModelIndex &index, const QVariant &value, int
 void EffectsModel::loadBuiltInEffects(const KConfigGroup &kwinConfig)
 {
     const QString rootDirectory = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                                         QStringLiteral("kwin-wayland/builtin-effects"),
+                                                         QStringLiteral("kwin/builtin-effects"),
                                                          QStandardPaths::LocateDirectory);
 
     const QStringList nameFilters{QStringLiteral("*.json")};
@@ -271,51 +271,45 @@ void EffectsModel::loadBuiltInEffects(const KConfigGroup &kwinConfig)
 
 void EffectsModel::loadJavascriptEffects(const KConfigGroup &kwinConfig)
 {
-    const QStringList prefixes{
-        QStringLiteral("kwin-wayland/effects"),
-        QStringLiteral("kwin/effects"),
-    };
-    for (const QString &prefix : prefixes) {
-        const auto plugins = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Effect"), prefix);
-        for (const KPluginMetaData &plugin : plugins) {
-            EffectData effect;
-
-            effect.name = plugin.name();
-            effect.description = plugin.description();
-            const auto authors = plugin.authors();
-            effect.authorName = !authors.isEmpty() ? authors.first().name() : QString();
-            effect.authorEmail = !authors.isEmpty() ? authors.first().emailAddress() : QString();
-            effect.license = plugin.license();
-            effect.version = plugin.version();
-            effect.untranslatedCategory = plugin.category();
-            effect.category = translatedCategory(plugin.category());
-            effect.serviceName = plugin.pluginId();
-            effect.iconName = plugin.iconName();
-            effect.status = effectStatus(kwinConfig.readEntry(effect.serviceName + "Enabled", plugin.isEnabledByDefault()));
-            effect.originalStatus = effect.status;
-            effect.enabledByDefault = plugin.isEnabledByDefault();
-            effect.enabledByDefaultFunction = false;
-            effect.website = QUrl(plugin.website());
-            effect.supported = true;
-            effect.exclusiveGroup = plugin.value(QStringLiteral("X-KWin-Exclusive-Category"));
-            effect.internal = plugin.value(QStringLiteral("X-KWin-Internal"), false);
-
-            if (const QString configModule = plugin.value(QStringLiteral("X-KDE-ConfigModule")); !configModule.isEmpty()) {
-                if (configModule == QLatin1StringView("kcm_kwin4_genericscripted")) {
-                    const QString xmlFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, prefix + QLatin1Char('/') + plugin.pluginId() + QLatin1StringView("/contents/config/main.xml"));
-                    const QString uiFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, prefix + QLatin1Char('/') + plugin.pluginId() + QLatin1StringView("/contents/ui/config.ui"));
-                    if (QFileInfo::exists(xmlFile) && QFileInfo::exists(uiFile)) {
-                        effect.configModule = configModule;
-                        effect.configArgs = QVariantList{plugin.pluginId(), QStringLiteral("KWin/Effect")};
-                    }
-                } else {
+    const auto plugins = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Effect"), QStringLiteral("kwin/effects"));
+    for (const KPluginMetaData &plugin : plugins) {
+        EffectData effect;
+
+        effect.name = plugin.name();
+        effect.description = plugin.description();
+        const auto authors = plugin.authors();
+        effect.authorName = !authors.isEmpty() ? authors.first().name() : QString();
+        effect.authorEmail = !authors.isEmpty() ? authors.first().emailAddress() : QString();
+        effect.license = plugin.license();
+        effect.version = plugin.version();
+        effect.untranslatedCategory = plugin.category();
+        effect.category = translatedCategory(plugin.category());
+        effect.serviceName = plugin.pluginId();
+        effect.iconName = plugin.iconName();
+        effect.status = effectStatus(kwinConfig.readEntry(effect.serviceName + "Enabled", plugin.isEnabledByDefault()));
+        effect.originalStatus = effect.status;
+        effect.enabledByDefault = plugin.isEnabledByDefault();
+        effect.enabledByDefaultFunction = false;
+        effect.website = QUrl(plugin.website());
+        effect.supported = true;
+        effect.exclusiveGroup = plugin.value(QStringLiteral("X-KWin-Exclusive-Category"));
+        effect.internal = plugin.value(QStringLiteral("X-KWin-Internal"), false);
+
+        if (const QString configModule = plugin.value(QStringLiteral("X-KDE-ConfigModule")); !configModule.isEmpty()) {
+            if (configModule == QLatin1StringView("kcm_kwin4_genericscripted")) {
+                const QString xmlFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + plugin.pluginId() + QLatin1StringView("/contents/config/main.xml"));
+                const QString uiFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + plugin.pluginId() + QLatin1StringView("/contents/ui/config.ui"));
+                if (QFileInfo::exists(xmlFile) && QFileInfo::exists(uiFile)) {
                     effect.configModule = configModule;
+                    effect.configArgs = QVariantList{plugin.pluginId(), QStringLiteral("KWin/Effect")};
                 }
+            } else {
+                effect.configModule = configModule;
             }
+        }
 
-            if (shouldStore(effect)) {
-                m_pendingEffects << effect;
-            }
+        if (shouldStore(effect)) {
+            m_pendingEffects << effect;
         }
     }
 }
diff --git a/src/kcms/common/genericscriptedconfig.cpp b/src/kcms/common/genericscriptedconfig.cpp
index c0ec9aebbd5..ee950728262 100644
--- a/src/kcms/common/genericscriptedconfig.cpp
+++ b/src/kcms/common/genericscriptedconfig.cpp
@@ -64,14 +64,9 @@ void GenericScriptedConfig::createUi()
 {
     QVBoxLayout *layout = new QVBoxLayout(widget());
 
-    QString packageRoot = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                                 QLatin1StringView("kwin-wayland/") + typeName() + QLatin1Char('/') + m_packageName,
-                                                 QStandardPaths::LocateDirectory);
-    if (packageRoot.isEmpty()) {
-        packageRoot = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                             QLatin1StringView("kwin/") + typeName() + QLatin1Char('/') + m_packageName,
-                                             QStandardPaths::LocateDirectory);
-    }
+    const QString packageRoot = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
+                                                       QLatin1StringView("kwin/") + typeName() + QLatin1Char('/') + m_packageName,
+                                                       QStandardPaths::LocateDirectory);
     if (packageRoot.isEmpty()) {
         layout->addWidget(new QLabel(i18nc("Error message", "Could not locate package metadata")));
         return;
diff --git a/src/kcms/screenedges/main.cpp b/src/kcms/screenedges/main.cpp
index cfa682631d4..139b12d2e13 100644
--- a/src/kcms/screenedges/main.cpp
+++ b/src/kcms/screenedges/main.cpp
@@ -124,7 +124,7 @@ void KWinScreenEdgesConfig::defaults()
 static QList<KPluginMetaData> listBuiltinEffects()
 {
     const QString rootDirectory = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                                         QStringLiteral("kwin-wayland/builtin-effects"),
+                                                         QStringLiteral("kwin/builtin-effects"),
                                                          QStandardPaths::LocateDirectory);
 
     QList<KPluginMetaData> ret;
@@ -143,8 +143,7 @@ static QList<KPluginMetaData> listBuiltinEffects()
 
 static QList<KPluginMetaData> listScriptedEffects()
 {
-    return KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Effect"), QStringLiteral("kwin-wayland/effects/"))
-        + KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Effect"), QStringLiteral("kwin/effects/"));
+    return KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Effect"), QStringLiteral("kwin/effects/"));
 }
 
 void KWinScreenEdgesConfig::monitorInit()
@@ -185,9 +184,7 @@ void KWinScreenEdgesConfig::monitorInit()
         m_effectSettings[effect.pluginId()] = new KWinScreenEdgeEffectSettings(effect.pluginId(), this);
     }
 
-    const auto scripts = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin-wayland/scripts/"))
-        + KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
-
+    const auto scripts = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
     for (const KPluginMetaData &script : scripts) {
         if (script.value(QStringLiteral("X-KWin-Border-Activate"), false) != true) {
             continue;
diff --git a/src/kcms/screenedges/touch.cpp b/src/kcms/screenedges/touch.cpp
index 35638db3f60..59460fce003 100644
--- a/src/kcms/screenedges/touch.cpp
+++ b/src/kcms/screenedges/touch.cpp
@@ -137,8 +137,7 @@ void KWinScreenEdgesConfig::monitorInit()
     m_form->monitorAddItem(i18n("Toggle alternative window switching"));
 
     KConfigGroup config(m_config, QStringLiteral("Plugins"));
-    const auto effects = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin-wayland/builtin-effects/"))
-        + KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin-wayland/effects/"))
+    const auto effects = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/builtin-effects/"))
         + KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/effects/"));
 
     for (const KPluginMetaData &effect : effects) {
@@ -154,9 +153,7 @@ void KWinScreenEdgesConfig::monitorInit()
         m_effectSettings[effect.pluginId()] = new KWinTouchScreenEdgeEffectSettings(effect.pluginId(), this);
     }
 
-    const auto scripts = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin-wayland/scripts/"))
-        + KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
-
+    const auto scripts = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
     for (const KPluginMetaData &script : scripts) {
         if (script.value(QStringLiteral("X-KWin-Border-Activate"), false) != true) {
             continue;
diff --git a/src/kcms/scripts/kwinscriptsdata.cpp b/src/kcms/scripts/kwinscriptsdata.cpp
index bb878f70d88..5f162433de2 100644
--- a/src/kcms/scripts/kwinscriptsdata.cpp
+++ b/src/kcms/scripts/kwinscriptsdata.cpp
@@ -22,8 +22,7 @@ KWinScriptsData::KWinScriptsData(QObject *parent)
 
 QList<KPluginMetaData> KWinScriptsData::pluginMetaDataList() const
 {
-    return KPackage::PackageLoader::self()->findPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin-wayland/scripts/"))
-        + KPackage::PackageLoader::self()->findPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
+    return KPackage::PackageLoader::self()->findPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
 }
 
 bool KWinScriptsData::isDefaults() const
diff --git a/src/kcms/tabbox/main.cpp b/src/kcms/tabbox/main.cpp
index 1931e9be752..415ab841777 100644
--- a/src/kcms/tabbox/main.cpp
+++ b/src/kcms/tabbox/main.cpp
@@ -180,23 +180,17 @@ void KWinTabBoxConfig::initLayoutLists()
         addToModel(metaData.name(), metaData.pluginId(), switcherFile);
     }
 
-    const QStringList packageRoots{
-        QStringLiteral("kwin-wayland/tabbox"),
-        QStringLiteral("kwin/tabbox"),
-    };
-    for (const QString &packageRoot : packageRoots) {
-        const QList<KPluginMetaData> offers = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/WindowSwitcher"), packageRoot);
-        for (const auto &offer : offers) {
-            const QString pluginName = offer.pluginId();
-            const QString scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                                              packageRoot + QLatin1Char('/') + pluginName + QLatin1StringView("/contents/ui/main.qml"));
-            if (scriptFile.isEmpty()) {
-                qWarning() << "scriptfile is null" << pluginName;
-                continue;
-            }
-
-            addToModel(offer.name(), pluginName, scriptFile);
+    const QList<KPluginMetaData> offers = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/WindowSwitcher"), QStringLiteral("kwin/tabbox"));
+    for (const auto &offer : offers) {
+        const QString pluginName = offer.pluginId();
+        const QString scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
+                                                          QLatin1StringView("kwin/tabbox/") + pluginName + QLatin1StringView("/contents/ui/main.qml"));
+        if (scriptFile.isEmpty()) {
+            qWarning() << "scriptfile is null" << pluginName;
+            continue;
         }
+
+        addToModel(offer.name(), pluginName, scriptFile);
     }
 
     model->sort(0);
diff --git a/src/onscreennotification.cpp b/src/onscreennotification.cpp
index d582d2159bf..94b55c4c47b 100644
--- a/src/onscreennotification.cpp
+++ b/src/onscreennotification.cpp
@@ -170,7 +170,7 @@ void OnScreenNotification::ensureQmlComponent()
     }
     m_qmlComponent = std::make_unique<QQmlComponent>(m_qmlEngine);
     const QString fileName = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                                    m_config->group(QStringLiteral("OnScreenNotification")).readEntry("QmlPath", QString(QStringLiteral("kwin-wayland/onscreennotification/plasma/main.qml"))));
+                                                    m_config->group(QStringLiteral("OnScreenNotification")).readEntry("QmlPath", QString(QStringLiteral("kwin/onscreennotification/plasma/main.qml"))));
     if (fileName.isEmpty()) {
         return;
     }
diff --git a/src/outline.cpp b/src/outline.cpp
index ee7e6a4d2a9..0ffb25fe659 100644
--- a/src/outline.cpp
+++ b/src/outline.cpp
@@ -148,7 +148,7 @@ void OutlineVisual::show()
     if (!m_qmlComponent) {
         m_qmlComponent = std::make_unique<QQmlComponent>(Scripting::self()->qmlEngine());
         const QString fileName = QStandardPaths::locate(QStandardPaths::GenericDataLocation,
-                                                        kwinApp()->config()->group(QStringLiteral("Outline")).readEntry("QmlPath", QStringLiteral("kwin-wayland/outline/plasma/outline.qml")));
+                                                        kwinApp()->config()->group(QStringLiteral("Outline")).readEntry("QmlPath", QStringLiteral("kwin/outline/plasma/outline.qml")));
         if (fileName.isEmpty()) {
             qCDebug(KWIN_CORE) << "Could not locate outline.qml";
             return;
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index b0067ac72ca..8ddfcfe6761 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -27,22 +27,22 @@ macro(kwin_add_builtin_effect name)
     kcoreaddons_add_plugin(${name} STATIC SOURCES ${ARGN} INSTALL_NAMESPACE "kwin/effects/plugins")
     target_compile_definitions(${name} PRIVATE -DTRANSLATION_DOMAIN=\"kwin\")
     kwin_strip_builtin_effect_metadata(${name} metadata.json)
-    install(FILES metadata.json DESTINATION ${KDE_INSTALL_DATADIR}/kwin-wayland/builtin-effects/ RENAME ${name}.json)
+    install(FILES metadata.json DESTINATION ${KDE_INSTALL_DATADIR}/kwin/builtin-effects/ RENAME ${name}.json)
 endmacro()
 
 function(kwin_add_scripted_effect name source)
-    kpackage_install_package(${source} ${name} effects kwin-wayland)
+    kpackage_install_package(${source} ${name} effects kwin)
 
     # necessary so tests are found without installing
-    file(COPY ${source}/contents ${source}/metadata.json DESTINATION ${CMAKE_BINARY_DIR}/bin/kwin-wayland/effects/${name})
+    file(COPY ${source}/contents ${source}/metadata.json DESTINATION ${CMAKE_BINARY_DIR}/bin/kwin/effects/${name})
 endfunction()
 
 function(kwin_add_script name source)
-    kpackage_install_package(${source} ${name} scripts kwin-wayland)
+    kpackage_install_package(${source} ${name} scripts kwin)
 
     # Copy the script to the build directory so one can run tests without prior
     # make install. FIXME: use add_custom_command.
-    file(COPY ${source}/contents ${source}/metadata.json DESTINATION ${CMAKE_BINARY_DIR}/bin/kwin-wayland/scripts/${name})
+    file(COPY ${source}/contents ${source}/metadata.json DESTINATION ${CMAKE_BINARY_DIR}/bin/kwin/scripts/${name})
 endfunction()
 
 add_subdirectory(private)
diff --git a/src/plugins/trackmouse/CMakeLists.txt b/src/plugins/trackmouse/CMakeLists.txt
index a5e4f9c8488..07ccdcf2b5e 100644
--- a/src/plugins/trackmouse/CMakeLists.txt
+++ b/src/plugins/trackmouse/CMakeLists.txt
@@ -1,7 +1,7 @@
 #######################################
 # Effect
 # Data files
-install(FILES data/tm_inner.png data/tm_outer.png DESTINATION ${KDE_INSTALL_DATADIR}/kwin-wayland)
+install(FILES data/tm_inner.png data/tm_outer.png DESTINATION ${KDE_INSTALL_DATADIR}/kwin)
 
 set(trackmouse_SOURCES
     main.cpp
diff --git a/src/plugins/trackmouse/trackmouse.cpp b/src/plugins/trackmouse/trackmouse.cpp
index 59e7bbcf1d3..de236e81f00 100644
--- a/src/plugins/trackmouse/trackmouse.cpp
+++ b/src/plugins/trackmouse/trackmouse.cpp
@@ -27,8 +27,8 @@ namespace KWin
 RotatingArcsItem::RotatingArcsItem(Item *parentItem)
     : Item(parentItem)
 {
-    const QString f[2] = {QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin-wayland/tm_outer.png")),
-                          QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin-wayland/tm_inner.png"))};
+    const QString f[2] = {QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/tm_outer.png")),
+                          QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/tm_inner.png"))};
     if (f[0].isEmpty() || f[1].isEmpty()) {
         return;
     }
diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt
index 9001fb89011..308f00b90d3 100644
--- a/src/qml/CMakeLists.txt
+++ b/src/qml/CMakeLists.txt
@@ -1,3 +1,3 @@
-install(DIRECTORY outline/plasma DESTINATION ${KDE_INSTALL_DATADIR}/kwin-wayland/outline)
-install(DIRECTORY onscreennotification/plasma DESTINATION ${KDE_INSTALL_DATADIR}/kwin-wayland/onscreennotification)
-install(DIRECTORY frames/plasma DESTINATION ${KDE_INSTALL_DATADIR}/kwin-wayland/frames)
+install(DIRECTORY outline/plasma DESTINATION ${KDE_INSTALL_DATADIR}/kwin/outline)
+install(DIRECTORY onscreennotification/plasma DESTINATION ${KDE_INSTALL_DATADIR}/kwin/onscreennotification)
+install(DIRECTORY frames/plasma DESTINATION ${KDE_INSTALL_DATADIR}/kwin/frames)
diff --git a/src/scripting/scriptedeffect.cpp b/src/scripting/scriptedeffect.cpp
index 21d673c7077..cae06cd17eb 100644
--- a/src/scripting/scriptedeffect.cpp
+++ b/src/scripting/scriptedeffect.cpp
@@ -174,13 +174,10 @@ static KWin::FPx2 fpx2FromScriptValue(const QJSValue &value)
 ScriptedEffect *ScriptedEffect::create(const KPluginMetaData &effect)
 {
     const QString name = effect.pluginId();
-    QString scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/effects/") + name + QLatin1StringView("/contents/code/main.js"));
+    const QString scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + name + QLatin1StringView("/contents/code/main.js"));
     if (scriptFile.isEmpty()) {
-        scriptFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + name + QLatin1StringView("/contents/code/main.js"));
-        if (scriptFile.isEmpty()) {
-            qCDebug(KWIN_SCRIPTING) << "Could not locate effect script" << name;
-            return nullptr;
-        }
+        qCDebug(KWIN_SCRIPTING) << "Could not locate effect script" << name;
+        return nullptr;
     }
 
     return ScriptedEffect::create(name, scriptFile, effect.value(QStringLiteral("X-KDE-Ordering"), 0), effect.value(QStringLiteral("X-KWin-Exclusive-Category")));
@@ -240,10 +237,7 @@ bool ScriptedEffect::init(const QString &effectName, const QString &pathToScript
     m_scriptFile = pathToScript;
 
     // does the effect contain an KConfigXT file?
-    QString kconfigXTFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/effects/") + m_effectName + QLatin1StringView("/contents/config/main.xml"));
-    if (kconfigXTFile.isNull()) {
-        kconfigXTFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + m_effectName + QLatin1StringView("/contents/config/main.xml"));
-    }
+    const QString kconfigXTFile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + m_effectName + QLatin1StringView("/contents/config/main.xml"));
     if (!kconfigXTFile.isNull()) {
         KConfigGroup cg = QCoreApplication::instance()->property("config").value<KSharedConfigPtr>()->group(QStringLiteral("Effect-%1").arg(m_effectName));
         QFile xmlFile(kconfigXTFile);
@@ -798,10 +792,8 @@ uint ScriptedEffect::addFragmentShader(ShaderTrait traits, const QString &fragme
 
     QString fragment;
     if (!fragmentShaderFile.isEmpty()) {
-        fragment = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/effects/") + m_effectName + QLatin1StringView("/contents/shaders/") + fragmentShaderFile);
-        if (fragment.isEmpty()) {
-            fragment = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + m_effectName + QLatin1StringView("/contents/shaders/") + fragmentShaderFile);
-        }
+        fragment = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + m_effectName + QLatin1StringView("/contents/shaders/") + fragmentShaderFile);
+
         // Ensure backwards compatibility with older effects,
         // which provide shaders for both "core" and legacy.
         QString coreVersion = fragment;
diff --git a/src/scripting/scriptedquicksceneeffect.cpp b/src/scripting/scriptedquicksceneeffect.cpp
index fbfe0168093..c420ddd9618 100644
--- a/src/scripting/scriptedquicksceneeffect.cpp
+++ b/src/scripting/scriptedquicksceneeffect.cpp
@@ -43,10 +43,7 @@ void ScriptedQuickSceneEffect::setMetaData(const KPluginMetaData &metaData)
     m_requestedEffectChainPosition = metaData.value(QStringLiteral("X-KDE-Ordering"), 50);
 
     KConfigGroup cg = kwinApp()->config()->group(QStringLiteral("Effect-%1").arg(metaData.pluginId()));
-    QString configFilePath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/effects/") + metaData.pluginId() + QLatin1StringView("/contents/config/main.xml"));
-    if (configFilePath.isNull()) {
-        configFilePath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + metaData.pluginId() + QLatin1StringView("/contents/config/main.xml"));
-    }
+    const QString configFilePath = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/effects/") + metaData.pluginId() + QLatin1StringView("/contents/config/main.xml"));
     if (configFilePath.isNull()) {
         m_configLoader = new KConfigLoader(cg, nullptr, this);
     } else {
diff --git a/src/scripting/scripting.cpp b/src/scripting/scripting.cpp
index b1a2449be02..f1cd393f312 100644
--- a/src/scripting/scripting.cpp
+++ b/src/scripting/scripting.cpp
@@ -754,40 +754,34 @@ LoadScriptList KWin::Scripting::queryScriptsToLoad()
     }
     QMap<QString, QString> pluginStates = KConfigGroup(_config, QStringLiteral("Plugins")).entryMap();
 
-    const QStringList scriptFolders{
-        QStringLiteral("kwin-wayland/scripts/"),
-        QStringLiteral("kwin/scripts/"),
-    };
-
     LoadScriptList scriptsToLoad;
-    for (const QString &scriptFolder : scriptFolders) {
-        const auto offers = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), scriptFolder);
-        for (const KPluginMetaData &service : offers) {
-            const QString value = pluginStates.value(service.pluginId() + QLatin1StringView("Enabled"), QString());
-            const bool enabled = value.isNull() ? service.isEnabledByDefault() : QVariant(value).toBool();
-            const bool javaScript = service.value(QStringLiteral("X-Plasma-API")) == QLatin1StringView("javascript");
-            const bool declarativeScript = service.value(QStringLiteral("X-Plasma-API")) == QLatin1StringView("declarativescript");
-            if (!javaScript && !declarativeScript) {
-                continue;
-            }
 
-            if (!enabled) {
-                if (isScriptLoaded(service.pluginId())) {
-                    // unload the script
-                    unloadScript(service.pluginId());
-                }
-                continue;
-            }
-            const QString pluginName = service.pluginId();
-            // The file we want to load depends on the specified API. We could check if one or the other file exists, but that is more error prone and causes IO overhead
-            const QString relScriptPath = scriptFolder + pluginName + QLatin1StringView("/contents/") + (javaScript ? QLatin1StringView("code/main.js") : QLatin1StringView("ui/main.qml"));
-            const QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, relScriptPath);
-            if (file.isEmpty()) {
-                qCDebug(KWIN_SCRIPTING) << "Could not find script file for " << pluginName;
-                continue;
+    const auto offers = KPackage::PackageLoader::self()->listPackages(QStringLiteral("KWin/Script"), QStringLiteral("kwin/scripts/"));
+    for (const KPluginMetaData &service : offers) {
+        const QString value = pluginStates.value(service.pluginId() + QLatin1StringView("Enabled"), QString());
+        const bool enabled = value.isNull() ? service.isEnabledByDefault() : QVariant(value).toBool();
+        const bool javaScript = service.value(QStringLiteral("X-Plasma-API")) == QLatin1StringView("javascript");
+        const bool declarativeScript = service.value(QStringLiteral("X-Plasma-API")) == QLatin1StringView("declarativescript");
+        if (!javaScript && !declarativeScript) {
+            continue;
+        }
+
+        if (!enabled) {
+            if (isScriptLoaded(service.pluginId())) {
+                // unload the script
+                unloadScript(service.pluginId());
             }
-            scriptsToLoad << qMakePair(javaScript, qMakePair(file, pluginName));
+            continue;
+        }
+        const QString pluginName = service.pluginId();
+        // The file we want to load depends on the specified API. We could check if one or the other file exists, but that is more error prone and causes IO overhead
+        const QString relScriptPath = QLatin1StringView("kwin/scripts/") + pluginName + QLatin1StringView("/contents/") + (javaScript ? QLatin1StringView("code/main.js") : QLatin1StringView("ui/main.qml"));
+        const QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, relScriptPath);
+        if (file.isEmpty()) {
+            qCDebug(KWIN_SCRIPTING) << "Could not find script file for " << pluginName;
+            continue;
         }
+        scriptsToLoad << qMakePair(javaScript, qMakePair(file, pluginName));
     }
 
     return scriptsToLoad;
diff --git a/src/tabbox/switchers/CMakeLists.txt b/src/tabbox/switchers/CMakeLists.txt
index 0fc63cf704c..d2d45695040 100644
--- a/src/tabbox/switchers/CMakeLists.txt
+++ b/src/tabbox/switchers/CMakeLists.txt
@@ -2,5 +2,5 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause
 
-set(TABBOX_DIR ${KDE_INSTALL_DATADIR}/kwin-wayland/tabbox)
+set(TABBOX_DIR ${KDE_INSTALL_DATADIR}/kwin/tabbox)
 install(DIRECTORY thumbnail_grid   DESTINATION ${TABBOX_DIR})
diff --git a/src/tabbox/tabboxhandler.cpp b/src/tabbox/tabboxhandler.cpp
index 636ef623e35..7ebec0e57b8 100644
--- a/src/tabbox/tabboxhandler.cpp
+++ b/src/tabbox/tabboxhandler.cpp
@@ -167,14 +167,11 @@ QObject *TabBoxHandlerPrivate::createSwitcherItem()
         QStandardPaths::GenericDataLocation,
         QStringLiteral("plasma/look-and-feel/%1/contents/windowswitcher/WindowSwitcher.qml").arg(config.layoutName()));
     if (file.isNull()) {
-        QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/tabbox/") + config.layoutName(), QStandardPaths::LocateDirectory);
-        if (path.isEmpty()) {
-            path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/tabbox/") + config.layoutName(), QStandardPaths::LocateDirectory);
-        }
+        QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/tabbox/") + config.layoutName(), QStandardPaths::LocateDirectory);
         if (path.isEmpty()) {
             // load default
             qCWarning(KWIN_TABBOX) << "Could not load window switcher package" << config.layoutName() << ". Falling back to default";
-            path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin-wayland/tabbox/") + TabBoxConfig::defaultLayoutName(), QStandardPaths::LocateDirectory);
+            path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1StringView("kwin/tabbox/") + TabBoxConfig::defaultLayoutName(), QStandardPaths::LocateDirectory);
         }
 
         KPackage::Package pkg = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("KWin/WindowSwitcher"));
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.