Fix pywal-brown theme regression: stop clobbering the curated black palette

Round-3's autostart fix (breadpaper set instead of raw awww img) had a side
effect I missed: breadpaper set always runs real pywal against the wallpaper
image, which overwrote the curated colors.json baked into skel (#0c0c0c
black background, bread-toned browns reserved for accent slots only) with
colors genuinely extracted from bread-background.png — an all-beige photo,
so every bread-theme app (breadbar included) turned brown on first boot.

Revert autostart to plain `awww img`. Bake .cache/wal/wal (pywal's own
"last image" marker — the only thing breadpaper get/the bos-settings panel
actually read) alongside the existing colors.json instead, so the panel
still shows the real default without ever running pywal for real. pywal
only generates a genuine palette once the user picks their own wallpaper.
This commit is contained in:
Breadway 2026-07-03 22:35:50 +08:00
parent d78a2343f4
commit 9119d99ba9
2 changed files with 13 additions and 6 deletions

View file

@ -212,12 +212,18 @@ hl.on("hyprland.start", function()
-- rather than an exec-once here.
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1",
"awww-daemon",
-- Set the default wallpaper once the daemon is up (retry until
-- ready) via `breadpaper set`, not raw `awww img` — breadpaper also
-- generates the pywal palette and reloads bread-theme, and records
-- the path so `breadpaper get` (and its bos-settings panel) show
-- the real default instead of "No wallpaper set" on a fresh install.
[[bash -c 'until breadpaper set /usr/share/backgrounds/bos/bread-background.png 2>/dev/null; do sleep 0.3; done']],
-- Set the default wallpaper once the daemon is up (retry until ready).
-- Raw `awww img`, NOT `breadpaper set` — breadpaper set also runs real
-- pywal against the image, which would clobber the curated black-base
-- colors.json baked into skel (.cache/wal/colors.json: #0c0c0c bg,
-- bread-toned browns reserved for accent slots only) with colors
-- actually extracted from bread-background.png — which is an all-beige
-- photo, so every bread-theme app (breadbar included) turns brown.
-- `breadpaper get` still works on a fresh install without ever running
-- pywal: .cache/wal/wal (pywal's own "last image" marker, which is all
-- breadpaper reads) is baked into skel too, right beside colors.json.
-- pywal only runs for real once the user picks a wallpaper themselves.
[[bash -c 'until awww img /usr/share/backgrounds/bos/bread-background.png 2>/dev/null; do sleep 0.3; done']],
-- breadd runs as a systemd user service (~/.config/systemd/user/breadd.service,
-- enabled in skel). It autostarts at login but before Hyprland exists, so
-- push the compositor's Wayland env into the user manager and restart breadd