wallpaper: random prevent duplicate

This commit is contained in:
2 * r + 2 * t
2025-08-23 16:22:09 +10:00
parent 78be122d0c
commit 6cdfe72e8b
+15 -1
View File
@@ -160,4 +160,18 @@ def set_wallpaper(wall: Path | str, no_smart: bool) -> None:
def set_random(args: Namespace) -> None:
set_wallpaper(random.choice(get_wallpapers(args)), args.no_smart)
wallpapers = get_wallpapers(args)
if not wallpapers:
raise ValueError("No valid wallpapers found")
try:
last_wall = wallpaper_path_path.read_text()
wallpapers.remove(Path(last_wall))
if not wallpapers:
raise ValueError("Only valid wallpaper is current")
except (FileNotFoundError, ValueError):
pass
set_wallpaper(random.choice(wallpapers), args.no_smart)