Wallpaper: bring back customizable default wallpaper that is NOT monitor specific

This commit is contained in:
ItsLemmy
2025-11-30 00:18:15 -05:00
parent ae2bf590ee
commit 3f00bec8f4

View File

@@ -30,7 +30,8 @@ Singleton {
property string wallpaperCacheFile: "" property string wallpaperCacheFile: ""
readonly property bool scanning: (scanningCount > 0) 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 // Signals for reactive UI updates
signal wallpaperChanged(string screenName, string path) signal wallpaperChanged(string screenName, string path)
@@ -521,11 +522,22 @@ Singleton {
adapter: JsonAdapter { adapter: JsonAdapter {
id: wallpaperCacheAdapter id: wallpaperCacheAdapter
property var wallpapers: ({}) property var wallpapers: ({})
property string defaultWallpaper: root.noctaliaDefaultWallpaper
} }
onLoaded: { onLoaded: {
// Load wallpapers from cache file // Load wallpapers from cache file
root.currentWallpapers = wallpaperCacheAdapter.wallpapers || {}; 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"); Logger.d("Wallpaper", "Loaded wallpapers from cache file:", Object.keys(root.currentWallpapers).length, "screens");
root.isInitialized = true; root.isInitialized = true;
} }
@@ -544,6 +556,7 @@ Singleton {
repeat: false repeat: false
onTriggered: { onTriggered: {
wallpaperCacheAdapter.wallpapers = root.currentWallpapers; wallpaperCacheAdapter.wallpapers = root.currentWallpapers;
wallpaperCacheAdapter.defaultWallpaper = root.defaultWallpaper;
wallpaperCacheView.writeAdapter(); wallpaperCacheView.writeAdapter();
Logger.d("Wallpaper", "Saved wallpapers to cache file"); Logger.d("Wallpaper", "Saved wallpapers to cache file");
} }