bos/iso/airootfs/etc/skel/.config/hypr
Breadway 232ee0c7a9 skel/hypr: GSK_RENDERER=cairo + wire up the shell layer rules
Two fixes for the black-shell / no-blur symptoms (seen first in a VM,
but the renderer one bites real hardware too):

1. `GSK_RENDERER=cairo` in the session env. GTK4's default renderer
   (ngl/vulkan on 4.14+) draws transparent layer-shell surfaces as
   opaque black on wlroots — the whole bread shell (breadbox launcher,
   breadclip popup, breadbar, breadhelp, bos-settings) goes black-on-
   black, and it's guaranteed under a VM's virtio-gpu where there's no
   real GL/Vulkan context. cairo (software) always composites
   transparency correctly; the shell is flat colour/text/icons so
   there's no visible cost, and idle memory drops (~40%, no Mesa
   driver resident). Override with GSK_RENDERER=gl in the session for a
   GPU-heavy GTK4 app.

2. `scripts/ui/rules.lua` (new) + a `pcall(dofile ...)` for it in
   hyprland.lua + `bread-theme layerrules` in the bootstrap. The
   shell-theme work added layer-rule *generation* (bread-theme writes
   ~/.config/hypr/layerrules.json from the theme's [compositor] table)
   but BOS never shipped the read side, so no blur / ignore-alpha /
   per-namespace motion was ever applied to breadbar / breadbox /
   breadclip. rules.lua reads the JSON and emits `hl.layer_rule`,
   with the pre-theme hardcoded rule set as a pcall-guarded fallback
   (matches the live reference config). Layer rules only — window /
   workspace / focus rules stay in hyprland.lua.
2026-08-31 20:27:41 +08:00
..
scripts skel/hypr: GSK_RENDERER=cairo + wire up the shell layer rules 2026-08-31 20:27:41 +08:00
autostart.json iso: audit-sweep UID, bakery update, lockfile, welcome, autostart 2026-08-23 14:32:30 +08:00
binds.json Add notification history bind; pin bakery versions 2026-08-15 23:11:28 +08:00
hypridle.conf Fix boot-critical, session, and UX bugs found in round-3 UX audit 2026-07-03 22:04:26 +08:00
hyprland.lua skel/hypr: GSK_RENDERER=cairo + wire up the shell layer rules 2026-08-31 20:27:41 +08:00
monitors.json Extract bos-settings to its own repo; add breadhelp; JSON-driven Hyprland config 2026-07-05 09:16:14 +08:00
settings.json Extract bos-settings to its own repo; add breadhelp; JSON-driven Hyprland config 2026-07-05 09:16:14 +08:00