From 3f00bec8f4ef855fb957b6fc8e82ec88184cc6fe Mon Sep 17 00:00:00 2001 From: ItsLemmy Date: Sun, 30 Nov 2025 00:18:15 -0500 Subject: [PATCH] Wallpaper: bring back customizable default wallpaper that is NOT monitor specific --- Services/UI/WallpaperService.qml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Services/UI/WallpaperService.qml b/Services/UI/WallpaperService.qml index 8b275141..7b1d9da0 100644 --- a/Services/UI/WallpaperService.qml +++ b/Services/UI/WallpaperService.qml @@ -30,7 +30,8 @@ Singleton { property string wallpaperCacheFile: "" readonly property bool scanning: (scanningCount > 0) - readonly property string defaultWallpaper: Quickshell.shellDir + "/Assets/Wallpaper/noctalia.png" + readonly property string noctaliaDefaultWallpaper: Quickshell.shellDir + "/Assets/Wallpaper/noctalia.png" + property string defaultWallpaper: noctaliaDefaultWallpaper // Signals for reactive UI updates signal wallpaperChanged(string screenName, string path) @@ -521,11 +522,22 @@ Singleton { adapter: JsonAdapter { id: wallpaperCacheAdapter property var wallpapers: ({}) + property string defaultWallpaper: root.noctaliaDefaultWallpaper } onLoaded: { // Load wallpapers from cache file root.currentWallpapers = wallpaperCacheAdapter.wallpapers || {}; + + // Load default wallpaper from cache if it exists, otherwise use Noctalia default + if (wallpaperCacheAdapter.defaultWallpaper && wallpaperCacheAdapter.defaultWallpaper !== "") { + root.defaultWallpaper = wallpaperCacheAdapter.defaultWallpaper; + Logger.d("Wallpaper", "Loaded default wallpaper from cache:", wallpaperCacheAdapter.defaultWallpaper); + } else { + root.defaultWallpaper = root.noctaliaDefaultWallpaper; + Logger.d("Wallpaper", "Using Noctalia default wallpaper"); + } + Logger.d("Wallpaper", "Loaded wallpapers from cache file:", Object.keys(root.currentWallpapers).length, "screens"); root.isInitialized = true; } @@ -544,6 +556,7 @@ Singleton { repeat: false onTriggered: { wallpaperCacheAdapter.wallpapers = root.currentWallpapers; + wallpaperCacheAdapter.defaultWallpaper = root.defaultWallpaper; wallpaperCacheView.writeAdapter(); Logger.d("Wallpaper", "Saved wallpapers to cache file"); }