diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-08 19:50:49 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-08 19:50:49 +0200 |
| commit | 3462bcc46ecf74f576ea4397f16492c16bd75b10 (patch) | |
| tree | c5ab7aef4498647e057bda8d49c11e5f9dda74c9 /raveos-hyprland-theme/theme-data/dms/PLUGINS/WallpaperWatcherDaemon/WallpaperWatcherDaemon.qml | |
| parent | 56616f693b4f263cbf0d47da43b67424efa6022d (diff) | |
| download | RaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.tar.gz RaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/PLUGINS/WallpaperWatcherDaemon/WallpaperWatcherDaemon.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/dms/PLUGINS/WallpaperWatcherDaemon/WallpaperWatcherDaemon.qml | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/PLUGINS/WallpaperWatcherDaemon/WallpaperWatcherDaemon.qml b/raveos-hyprland-theme/theme-data/dms/PLUGINS/WallpaperWatcherDaemon/WallpaperWatcherDaemon.qml new file mode 100644 index 0000000..ffed6c1 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/dms/PLUGINS/WallpaperWatcherDaemon/WallpaperWatcherDaemon.qml @@ -0,0 +1,66 @@ +import QtQuick +import Quickshell +import Quickshell.Io +import qs.Common +import qs.Services +import qs.Modules.Plugins + +PluginComponent { + id: root + + property string scriptPath: pluginData.scriptPath || "" + property var popoutService: null + + Connections { + target: SessionData + function onWallpaperPathChanged() { + if (scriptPath) { + var scriptProcess = scriptProcessComponent.createObject(root, { + wallpaperPath: SessionData.wallpaperPath + }) + scriptProcess.running = true + } + } + } + + Component { + id: scriptProcessComponent + + Process { + property string wallpaperPath: "" + + command: [scriptPath, wallpaperPath] + + stdout: StdioCollector { + onStreamFinished: { + if (text.trim()) { + console.log("WallpaperWatcherDaemon script output:", text.trim()) + } + } + } + + stderr: StdioCollector { + onStreamFinished: { + if (text.trim()) { + ToastService.showError("Wallpaper Change Script Error", text.trim()) + } + } + } + + onExited: (exitCode) => { + if (exitCode !== 0) { + ToastService.showError("Wallpaper Change Script Error", "Script exited with code: " + exitCode) + } + destroy() + } + } + } + + Component.onCompleted: { + console.info("WallpaperWatcherDaemon: Started monitoring wallpaper changes") + } + + Component.onDestruction: { + console.info("WallpaperWatcherDaemon: Stopped monitoring wallpaper changes") + } +} |