From ef675380a22521fb079486b0ca292fb662f7908b Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sun, 23 Mar 2025 17:54:22 +1100 Subject: wallpapers: fix error on no paths Also update on config change --- src/services/wallpapers.ts | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/services/wallpapers.ts b/src/services/wallpapers.ts index 87a9c62..0e0e1de 100644 --- a/src/services/wallpapers.ts +++ b/src/services/wallpapers.ts @@ -56,6 +56,14 @@ export default class Wallpapers extends GObject.Object { ); const successes = results.filter(r => r.status === "fulfilled").map(r => r.value); + if (!successes.length) { + this.#list = []; + this.notify("list"); + this.#categories = []; + this.notify("categories"); + return; + } + const files = successes.map(r => r.files.replaceAll("\n", " ")).join(" "); const list = (await execAsync(["fish", "-c", `identify -ping -format '%i\n' ${files} ; true`])).split("\n"); @@ -81,6 +89,7 @@ export default class Wallpapers extends GObject.Object { .get() .map(p => monitorDirectory(p.path, () => this.update().catch(console.error), p.recursive)); config.paths.subscribe(v => { + this.update().catch(console.error); for (const m of monitors) m.cancel(); monitors = v.map(p => monitorDirectory(p.path, () => this.update().catch(console.error), p.recursive)); }); -- cgit v1.2.3-freya