Remove wallpaper engine plugin

This commit is contained in:
Sicheng Pan 2025-06-28 14:41:36 -05:00
parent 907106e54e
commit d6cc9a072d
Signed by: macronova
GPG key ID: CE969670FB4B4A56
4 changed files with 7 additions and 151 deletions

33
flake.lock generated
View file

@ -3,11 +3,11 @@
"candy-icons": {
"flake": false,
"locked": {
"lastModified": 1749333685,
"narHash": "sha256-bXUlc8SnLIEopGtqyXbqu50qe1PNW5875l8WdsfyANw=",
"lastModified": 1750718489,
"narHash": "sha256-UxuW9cRGmKS2t8ik2tMAQHU0Xj+W5WhWuBxnLkkPnoE=",
"ref": "refs/heads/master",
"rev": "9720f52c97f582780f0927541ba19963603ad7f5",
"revCount": 1313,
"rev": "29976b2036490599753766f869f83e9346d8cf8e",
"revCount": 1319,
"type": "git",
"url": "https://github.com/EliverLara/candy-icons"
},
@ -36,11 +36,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1749285348,
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
"lastModified": 1751011381,
"narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
"rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
"type": "github"
},
"original": {
@ -59,7 +59,6 @@
"sweet-ambar-blue-dark": "sweet-ambar-blue-dark",
"sweet-folders": "sweet-folders",
"sweet-kde": "sweet-kde",
"wallpaper-engine-plasma6-plugin": "wallpaper-engine-plasma6-plugin",
"yorha-grub-theme": "yorha-grub-theme",
"yorha-sound-theme": "yorha-sound-theme"
}
@ -146,24 +145,6 @@
"type": "github"
}
},
"wallpaper-engine-plasma6-plugin": {
"flake": false,
"locked": {
"lastModified": 1730612159,
"narHash": "sha256-ICQLtw+qaOMf0lkqKegp+Dkl7eUgPqKDn8Fj5Osb7eA=",
"ref": "refs/heads/main",
"rev": "ed58dd8b920dbb2bf0859ab64e0b5939b8a32a0e",
"revCount": 628,
"submodules": true,
"type": "git",
"url": "https://github.com/catsout/wallpaper-engine-kde-plugin"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://github.com/catsout/wallpaper-engine-kde-plugin"
}
},
"yorha-grub-theme": {
"flake": false,
"locked": {

View file

@ -24,10 +24,6 @@
flake = false;
url = "git+https://github.com/EliverLara/Sweet-kde?ref=plasma6";
};
wallpaper-engine-plasma6-plugin = {
flake = false;
url = "git+https://github.com/catsout/wallpaper-engine-kde-plugin?&submodules=1";
};
yorha-grub-theme = {
flake = false;
url = "github:OliveThePuffin/yorha-grub-theme";

View file

@ -1,69 +0,0 @@
{
inputs,
name,
pkgs,
}:
pkgs.kdePackages.callPackage (
{
extra-cmake-modules,
kpackage,
libplasma,
lib,
lz4,
mkKdeDerivation,
mpv,
pkg-config,
python3,
qtbase,
qtmultimedia,
qtwebchannel,
qtwebengine,
qtwebsockets,
}:
mkKdeDerivation {
pname = name;
version = "latest";
src = inputs.${name};
patches = [./${name}.patch];
extraNativeBuildInputs = [
kpackage
pkg-config
];
extraBuildInputs = [
extra-cmake-modules
libplasma
lz4
mpv
];
extraCmakeFlags = [
(lib.cmakeFeature "QML_LIB" (lib.makeSearchPathOutput "out" "lib/qt-6/qml" [
qtmultimedia
qtwebchannel
qtwebengine
qtwebsockets
]))
(lib.cmakeFeature "Qt6_DIR" "${qtbase}/lib/cmake/Qt6")
];
postInstall = let
py3-ws = python3.withPackages (ps: with ps; [websockets]);
in ''
cd $out/share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde
chmod +x ./contents/pyext.py
PATH=${py3-ws}/bin:$PATH patchShebangs --build ./contents/pyext.py
substituteInPlace ./contents/ui/Pyext.qml --replace-fail NIX_STORE_PACKAGE_PATH ${placeholder "out"}
'';
meta = with lib; {
description = "KDE wallpaper plugin integrating Wallpaper Engine";
homepage = "https://github.com/catsout/wallpaper-engine-kde-plugin";
license = licenses.gpl2Only;
};
}
)
{}

View file

@ -1,52 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e1298ba..1af7d0a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,7 @@ set(KF_MIN_VERSION "5.68.0")
project("WallpaperEngineKde")
+add_definitions(-DQML_LIB="${QML_LIB}")
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(NOT OpenGL_GL_PREFERENCE)
diff --git a/plugin/contents/pyext.py b/plugin/contents/pyext.py
old mode 100644
new mode 100755
diff --git a/plugin/contents/ui/Pyext.qml b/plugin/contents/ui/Pyext.qml
index 1a48f5e..7db2480 100644
--- a/plugin/contents/ui/Pyext.qml
+++ b/plugin/contents/ui/Pyext.qml
@@ -15,7 +15,8 @@ Item {
"[ -f /usr/share/$EXT ] && WKD=/usr/share/$EXT",
"[ -f \"$HOME/.local/share/$EXT\" ] && WKD=\"$HOME/.local/share/$EXT\"",
"[ -f \"$XDG_DATA_HOME/$EXT\" ] && WKD=\"$XDG_DATA_HOME/$EXT\"",
- `exec python3 "$WKD" "${ws_server.url}"`
+ "[ -f \"NIX_STORE_PACKAGE_PATH/share/$EXT\" ] && WKD=\"NIX_STORE_PACKAGE_PATH/share/$EXT\"",
+ `"$WKD" "${ws_server.url}"`
].join("\n");
return sh;
}
diff --git a/src/plugin.cpp b/src/plugin.cpp
index 4bc817e..a98cb4a 100644
--- a/src/plugin.cpp
+++ b/src/plugin.cpp
@@ -14,6 +14,18 @@ class Port : public QQmlExtensionPlugin {
Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
public:
+ void initializeEngine(QQmlEngine *engine, const char *uri) override {
+ if (strcmp(uri, "com.github.catsout.wallpaperEngineKde") != 0) return;
+ if (!engine) return;
+
+ QString pathList = QML_LIB;
+ QStringList paths = pathList.split(':', Qt::SkipEmptyParts);
+ for (const QString &path : paths) {
+ engine->addImportPath(path);
+ }
+
+ QQmlExtensionPlugin::initializeEngine(engine, uri);
+ }
void registerTypes(const char* uri) override {
if (strcmp(uri, "com.github.catsout.wallpaperEngineKde") != 0) return;
qmlRegisterType<wekde::PluginInfo>(uri, WPVer[0], WPVer[1], "PluginInfo");