From b984d6794eda473c4529ae397f874f0559bed521 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Wed, 17 Sep 2025 11:35:42 +0200 Subject: [PATCH] wallpaper selector: fix thumbnail generation (#1978, #1902) --- .config/quickshell/ii/modules/common/functions/FileUtils.qml | 4 +++- .config/quickshell/ii/services/Wallpapers.qml | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.config/quickshell/ii/modules/common/functions/FileUtils.qml b/.config/quickshell/ii/modules/common/functions/FileUtils.qml index 4ed8d8cb1..e7f5e6100 100644 --- a/.config/quickshell/ii/modules/common/functions/FileUtils.qml +++ b/.config/quickshell/ii/modules/common/functions/FileUtils.qml @@ -10,7 +10,9 @@ Singleton { * @returns {string} */ function trimFileProtocol(str) { - return str.startsWith("file://") ? str.slice(7) : str; + let s = str; + if (typeof s !== "string") s = str.toString(); // Convert to string if it's an url or whatever + return s.startsWith("file://") ? s.slice(7) : s; } /** diff --git a/.config/quickshell/ii/services/Wallpapers.qml b/.config/quickshell/ii/services/Wallpapers.qml index 4afffa1ff..07e984ff2 100644 --- a/.config/quickshell/ii/services/Wallpapers.qml +++ b/.config/quickshell/ii/services/Wallpapers.qml @@ -16,7 +16,7 @@ Singleton { id: root property string thumbgenScriptPath: `${FileUtils.trimFileProtocol(Directories.scriptPath)}/thumbnails/thumbgen.py` - property string generateThumbnailsMagicScriptPath: `${FileUtils.trimFileProtocol(Directories.scriptPath)}/thumbnails/generate-thumbnails-magick.sh` + property string generateThumbnailsMagickScriptPath: `${FileUtils.trimFileProtocol(Directories.scriptPath)}/thumbnails/generate-thumbnails-magick.sh` property alias directory: folderModel.folder readonly property string effectiveDirectory: FileUtils.trimFileProtocol(folderModel.folder.toString()) property url defaultFolder: Qt.resolvedUrl(`${Directories.pictures}/Wallpapers`) @@ -136,12 +136,13 @@ Singleton { // Thumbnail generation function generateThumbnail(size: string) { + // console.log("[Wallpapers] Updating thumbnails") if (!["normal", "large", "x-large", "xx-large"].includes(size)) throw new Error("Invalid thumbnail size"); thumbgenProc.directory = root.directory thumbgenProc.running = false thumbgenProc.command = [ "bash", "-c", - `${thumbgenScriptPath} --size ${size} --machine_progress -d ${root.directory} || ${generateThumbnailsMagicScriptPath} --size ${size} -d ${root.directory}`, + `${thumbgenScriptPath} --size ${size} --machine_progress -d ${FileUtils.trimFileProtocol(root.directory)} || ${generateThumbnailsMagickScriptPath} --size ${size} -d ${root.directory}`, ] root.thumbnailGenerationProgress = 0 thumbgenProc.running = true