From 8903b1d1ab21368d60fd478eb8969c01ca2f7e9b Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 18 Jun 2025 17:34:11 +1000 Subject: scheme: handle no wallpaper dynamic scheme Throw actually readable error and notify --- src/caelestia/utils/scheme.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/caelestia') diff --git a/src/caelestia/utils/scheme.py b/src/caelestia/utils/scheme.py index ac52ea7..1e95376 100644 --- a/src/caelestia/utils/scheme.py +++ b/src/caelestia/utils/scheme.py @@ -157,7 +157,19 @@ class Scheme: def _update_colours(self) -> None: if self.name == "dynamic": - self._colours = get_colours_for_image() + try: + self._colours = get_colours_for_image() + except FileNotFoundError: + if self.notify: + notify( + "-u", + "critical", + "Unable to set dynamic scheme", + "No wallpaper set. Please set a wallpaper via `caelestia wallpaper` before setting a dynamic scheme.", + ) + raise ValueError( + "No wallpaper set. Please set a wallpaper via `caelestia wallpaper` before setting a dynamic scheme." + ) else: self._colours = read_colours_from_file(self.get_colours_path()) -- cgit v1.2.3-freya