fix(hyprland): migrate window rules to Hyprland 0.53+ syntax
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
The default desktop showed a red Hyprland config-error banner on every boot, occluding the Waybar. Root cause: Hyprland 0.53 rewrote window rules — the `windowrulev2` keyword is a hard error and the old rule-first order (`float, class:^…$`) no longer parses, so the float rules were not applying either. Confirmed against the Hyprland 0.55.4 source (`handleWindowrule`): each comma field is now `<keyword> <value>`, so effects carry a value and matchers take a `match:` prefix. Migrated the 7-rule block to `float 1, match:class ^…$` form. Verified: V0 nix flake check --no-build; built the generated hyprland.conf; V2 theme-shot re-render — banner gone, themed Waybar renders. Journal + MEMORY gotcha added. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,23 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-09 — Fix Hyprland windowrule config-error banner (windowrule 0.53 migration)
|
||||
- **Task:** bug tripped over while doing #45 (VM Boreal verify) — the default
|
||||
desktop showed a red Hyprland config-error banner on every boot, occluding
|
||||
the Waybar.
|
||||
- **Did:** Root-caused via the theme-shot harness + Hyprland 0.55.4 source
|
||||
(`handleWindowrule`): Hyprland 0.53 rewrote window rules — `windowrulev2` is a
|
||||
hard error and the old rule-first `float, class:^…$` order no longer parses
|
||||
(so the float rules weren't even applying). Migrated the 7-rule block in
|
||||
`modules/home/hyprland.nix` to the new hyprlang grammar `<effect> <value>,
|
||||
match:<prop> ^…$` (e.g. `float 1, match:class ^…$`).
|
||||
- **Verified:** V0 `nix flake check --no-build` green; built the generated
|
||||
`hyprland.conf` and confirmed emitted lines; **V2** theme-shot re-render —
|
||||
banner gone, themed Waybar now renders (violet accent, GeistMono clock).
|
||||
- **Pending:** none for the fix. A cheap `checks.*` that greps the generated
|
||||
conf for the dead rule-first pattern could lock it (PROPOSED).
|
||||
- **Next suggestion:** finish #45 (capture boreal preview.png), then #46.
|
||||
|
||||
## 2026-07-09 — Default theme → Boreal (item #42)
|
||||
- **Task:** NEXT #42 — distro default theme Tokyo Night → Boreal (`VISION § B` / v1.0 bar).
|
||||
- **Did:** Seeded `theme-state.json` + `templates/downstream/theme-state.json` from `themes/boreal.json` (incl. border + settings). Eval fallbacks: `theme.nix` preset → boreal.json; plymouth + live ISO splash hex fallbacks; theme-shot / theme-sync examples; TESTING/RECOVERY wording.
|
||||
|
||||
Reference in New Issue
Block a user