From 95ac5fa2cef607809189ca73cf05ef8903c19291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Thu, 1 Mar 2012 10:41:17 +0100 Subject: [PATCH] Service Type property to exclude KWin Scripts from listing in KCM This is useful for scripts controlled from other KCMs, like e.g. DesktopChangeOSD which is controlled by the virtual desktop KCM and should not be listed in the scripts section. --- kcmkwin/kwinscripts/module.cpp | 2 +- scripting/kwinscript.desktop | 3 +++ scripts/desktopchangeosd/metadata.desktop | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kcmkwin/kwinscripts/module.cpp b/kcmkwin/kwinscripts/module.cpp index a3084a461a..585f8d57ac 100644 --- a/kcmkwin/kwinscripts/module.cpp +++ b/kcmkwin/kwinscripts/module.cpp @@ -85,7 +85,7 @@ void Module::importScript() void Module::updateListViewContents() { - KService::List offers = KServiceTypeTrader::self()->query("KWin/Script"); + KService::List offers = KServiceTypeTrader::self()->query("KWin/Script", "not (exist [X-KWin-Exclude-Listing]) or [X-KWin-Exclude-Listing] == false"); QList scriptinfos = KPluginInfo::fromServices(offers); ui->scriptSelector->addPlugins(scriptinfos, KPluginSelector::ReadConfigFile, QString(), QString(), m_kwinConfig); } diff --git a/scripting/kwinscript.desktop b/scripting/kwinscript.desktop index 8716bba653..b15d7c059b 100644 --- a/scripting/kwinscript.desktop +++ b/scripting/kwinscript.desktop @@ -17,3 +17,6 @@ Type=QString [PropertyDef::X-Plasma-MainScript] Type=QString + +[PropertyDef::X-KWin-Exclude-Listing] +Type=bool diff --git a/scripts/desktopchangeosd/metadata.desktop b/scripts/desktopchangeosd/metadata.desktop index ff2578c58b..030ea8932c 100644 --- a/scripts/desktopchangeosd/metadata.desktop +++ b/scripts/desktopchangeosd/metadata.desktop @@ -5,6 +5,7 @@ Icon=preferences-system-windows-script-test X-Plasma-API=declarativescript X-Plasma-MainScript=ui/main.qml +X-KWin-Exclude-Listing=true X-KDE-PluginInfo-Author=Martin Gräßlin X-KDE-PluginInfo-Email=mgraesslin@kde.org