Fwd: Custom shell and corona

Marco Martin notmart at gmail.com
Tue Dec 1 16:42:39 UTC 2015


You can take a look at my branch and this patch to your shell
With this it will be able to install and search for its own plasmoids
in "/usr/share/amarok" instead of "/usr/share/plasma" so things won't
get mixed up
-------------- next part --------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 89d5d30..5c3e3fb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 project(plasma-skrath)
 
-cmake_minimum_required(VERSION 3.2)
+cmake_minimum_required(VERSION 3.0)
 
 find_package(ECM 1.7.0 REQUIRED CONFIG)
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
@@ -15,8 +15,8 @@ include(ECMSetupVersion)
 include(ECMAddTests)
 include(ECMAddAppIcon)
 
-find_package( Qt5 REQUIRED COMPONENTS Widgets Quick)
+find_package( Qt5 REQUIRED COMPONENTS Widgets Quick DBus Xml)
 find_package( KF5 REQUIRED COMPONENTS Declarative I18n Plasma PlasmaQuick WindowSystem XmlGui)
 
 add_subdirectory(plugins)
-add_subdirectory(src)
\ No newline at end of file
+add_subdirectory(src)
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index b55ef58..5494d15 100644
--- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt
@@ -1,6 +1,6 @@
 
 #plasma_install_package(folder target target_path kservice_path)
 plasma_install_package(shell org.kde.myapp.shell shells shell)
-plasma_install_package(containment org.kde.myapp.containment plasmoids containment)
+kpackage_install_package(containment org.kde.myapp.containment plasmoids amarok)
 
 add_subdirectory(applets)
diff --git a/src/MyCorona.cpp b/src/MyCorona.cpp
index 0e8cca5..1e5c846 100644
--- a/src/MyCorona.cpp
+++ b/src/MyCorona.cpp
@@ -23,9 +23,12 @@
 #include <KPackage/Package>
 #include <KPackage/PackageLoader>
 
+#include <Plasma/PluginLoader>
+
 MyCorona::MyCorona(QObject *parent)
     : Plasma::Corona(parent)
 {
+    Plasma::PluginLoader::self()->setAppletsDataDirectory("amarok");
     KPackage::Package package = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/Shell"));
 
     package.setPath(QStringLiteral("org.kde.myapp.shell"));


More information about the Plasma-devel mailing list