From 310614bdd29fa21610c975a4fff5506990969bd4 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Sun, 5 Jul 2026 20:08:35 +0100 Subject: [PATCH] =?UTF-8?q?feat(hyprland):=20themed=20backdrop=20=E2=80=94?= =?UTF-8?q?=20misc:background=5Fcolor=20from=20the=20palette=20(item=2028c?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The compositor backdrop behind a missing or still-loading wallpaper was hard black; on light themes that flash reads as a glitch (caught by the 1080p capture harness on summer-day). Now the theme's base color, so every wallpaper-less moment stays in-palette. Also from the summer-day capture review: the authored whole-swap menu + island bar survive the 28b retunes as one coherent identity (the slate menu deliberately mirrors the bar strip — an earlier "polarity" concern retracted); nit filed for the undimmed placeholder in the two summer rasi. Punch list updated in item 28. Verified: V0; V1 — template-home rebuilt, hyprland.conf renders background_color=rgb(1a1b26). Visual confirmation rides the next capture run. Co-Authored-By: Claude Fable 5 --- agent/BACKLOG.md | 13 ++++++++++++- agent/JOURNAL.md | 20 ++++++++++++++++++++ modules/home/hyprland.nix | 5 +++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/agent/BACKLOG.md b/agent/BACKLOG.md index 1772f76..a55eede 100644 --- a/agent/BACKLOG.md +++ b/agent/BACKLOG.md @@ -82,9 +82,20 @@ review: - **Semantic dim:** bar dim states are `alpha(@text, 0.5)` tints; the palette's `muted` role is now floor-guaranteed (28b) — one semantic source, use `@muted`. + - ✓ **compositor backdrop** (shipped iteration #35): Hyprland + `misc:background_color` now the theme's base — no more black flash + behind a missing/slow wallpaper (glaring on light themes in the + summer-day capture). + - summer-day whole-swap capture reviewed (iteration #35): the + authored slate menu + island-pill bar survive the 28b retunes and + read as one coherent identity — keep. One nit: its rasi doesn't + dim the entry placeholder, so "Menu Type to search…" reads as one + run-on phrase (generated theme dims it; mirror that in the two + summer rasi). - Harness gap: wallpaper needs `~/.nomarchy` seeded in the guest (theme-sync reads runtime state there) — add before vibe-review - captures; whole-swap captures (summer-day/night) still pending; + captures; latte + an identity theme (lumon/retro-82) captures + still pending; (d) the whole-swap themes brought to the same bar (module parity verified textually 2026-07-05: whole-swaps carry every functional module; omitting cpu/memory is identity). Visual work is diff --git a/agent/JOURNAL.md b/agent/JOURNAL.md index 198d771..1ec8425 100644 --- a/agent/JOURNAL.md +++ b/agent/JOURNAL.md @@ -17,6 +17,26 @@ Template: --- +## 2026-07-05 — summer-day capture review + themed backdrop (iteration #35, item 28c) +- **Task:** item 28 slice (c) — whole-swap capture review + the first + cheap polish fix. +- **Did:** captured summer-day at 1080p (harness, VM): the authored + slate menu + island-pill bar hold up with the 28b retunes — + initially misread as polarity soup, but the rasi whole-swap + deliberately mirrors the bar's slate strip: identity, keep (nit + filed: undimmed entry placeholder). The surviving cross-theme fix: + Hyprland `misc:background_color` = theme base (was compositor + black — a glitch-looking flash behind missing/slow wallpaper, + glaring on light themes). Punch list updated. +- **Verified:** V0; V1 — template-home rebuilt, rendered hyprland.conf + carries `background_color=rgb(1a1b26)` (theme base). Backdrop + visible confirmation rides the next capture run / V3. +- **Pending:** captures for latte + one identity theme; polish items + queued: bar group margins, @muted adoption, rofi hint column, icon + weight `[human]`. +- **Next suggestion:** bar polish slice (group margins + @muted) — + code-level, verifiable by build + re-capture. + ## 2026-07-05 — 1080p capture harness + first slice-c review (iteration #34, item 28c) - **Task:** item 28 slice (c) prep — full-res captures for the per-surface polish pass. diff --git a/modules/home/hyprland.nix b/modules/home/hyprland.nix index 47b5a44..a514cbe 100644 --- a/modules/home/hyprland.nix +++ b/modules/home/hyprland.nix @@ -377,6 +377,11 @@ in disable_hyprland_logo = lib.mkDefault true; disable_splash_rendering = lib.mkDefault true; force_default_wallpaper = lib.mkDefault 0; + # The backdrop when no wallpaper is painted (awww still starting, + # a slow first paint, or a wallpaper-less setup): the theme's base + # instead of compositor black — on light themes the black flash + # reads as a glitch (item 28c, seen in the capture harness). + background_color = rgb c.base; }; # Rendered from ./keybinds.nix (the cheatsheet reads the same list),