fix(theme): #130 the chip moves, not the label; #129 pins the pair so it is checkable
All checks were successful
Check / eval (push) Successful in 3m44s
All checks were successful
Check / eval (push) Successful in 3m44s
Light-theme accent buttons sat at 2.72:1 — under AA and under even the 3:1
large-text floor. Bernardo: fix it. The plan on file ("darken the label")
turned out to be IMPOSSIBLE, and measuring all 24 palettes is what showed
it: on a saturated mid-tone accent nothing clears 4.5 — cream base 2.72,
dark text 1.65. That is why adw-gtk3 ships white-on-accent at ~2.7. The
chip has to move.
The chip is now the accent pulled AWAY from the label: toward white when
the label is dark, toward black when it is cream. One factor (0.70), only
the anchor flips, so "solid accent button + base label" stays the design
and just shifts tone. Worst dark 4.86 (nord/bad), worst light 5.59
(summer-day). The old 0.90 chip failed SEVEN themes (miasma/bad 3.43,
rose-pine 2.70) — never only a light-theme bug, contrary to the item.
#129 rides along, and the two are one idea. #98 shipped an invisible button
with every check green because the background was not a palette role —
adw-gtk3 computed it from currentColor. So the guard is not a CSS lint
(which would flag the harmless generic-button rule and get muted) but
arithmetic: pin both ends and the pair becomes checkable.
check-theme-contrast.py now models GTK's own mix(a,b,f) = a + (b-a)*f —
READ from gtkcsscolorvalue.c:234, not assumed — and asserts base-on-chip
>= 4.5 for all 24 themes. Its negative test reproduces the item's reported
2.72/2.74 exactly from an independent model, which is the best evidence
available that the arithmetic matches the pixels.
Invariant to keep: pin the pair, or pin neither. Both chips are pinned now
(suggested + .default + destructive), where #98 pinned only destructive.
tools/dialog-shot.nix deliberately not built: the checker covers the
numbers, and a VM that only ever confirms arithmetic is maintenance for
nothing. Render if a new widget class appears.
Also sweeps #127 with the latch finding (ff5017e): symptom 2 solved, not
DPMS — which raises the odds the mitigation treats the wrong cause.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,36 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-16 — #129/#130 buttons; #133; #132; branding; and a latch bug from TEST A
|
||||
- **Task:** Bernardo triaged the queue (#136 settled, #130 decided, #143 → wait,
|
||||
#120 → PROPOSED), then #133, #132, the codename drop, and #129+#130.
|
||||
- **The one to read: a latch bug, found by his TEST A.** He undocked, the panel
|
||||
stayed dark, re-docking+undocking fixed it — *opening the lid* was the actual
|
||||
cure. `awaiting_lid_open` is cleared only when the external is gone AND the
|
||||
lid is open, so a clamshell undock latches it and the NEXT undock is silently
|
||||
dropped. His journal proved it (first undock logged nothing). 1 of 3 undocks
|
||||
ran; now 3 of 3. **This is very likely #127's second symptom, and it is not
|
||||
DPMS** — so the brick may be two mundane bugs, not one exotic one. TEST B is
|
||||
now the only thing between that and the truth.
|
||||
- **#129/#130:** the planned fix ("darken the label") was **impossible** —
|
||||
measuring all 24 palettes showed nothing clears 4.5 on a saturated mid-tone
|
||||
accent (cream 2.72, dark text 1.65). The chip had to move: it is now the
|
||||
accent pulled away from the label (white anchor for dark themes, black for
|
||||
light), factor 0.70, worst 4.86/5.59. The old chip failed **seven** themes,
|
||||
not the four the item assumed. #129 became arithmetic rather than a CSS lint:
|
||||
pin both ends and the pair is checkable — the checker models GTK's real
|
||||
`mix()` (read from gtkcsscolorvalue.c:234) and its negative test re-derives
|
||||
the item's own 2.72/2.74 figures independently.
|
||||
- **Verified:** every change negative-tested — the chip guard by reverting to
|
||||
the old 0.90 chip (9 failures across 7 themes, matching the filed numbers),
|
||||
#133's shim check by breaking lib.nix twice, the latch by replaying his
|
||||
sequence. V0 green throughout; the branding by reading the built os-release.
|
||||
- **Pending:** Bernardo runs TEST B tonight (**relogin first** — the latch fix
|
||||
is exec-once). Buttons want an eyeball on a light theme at some point, but the
|
||||
numbers are pinned and the render harness was declined on purpose.
|
||||
- **Next suggestion:** whatever TEST B says. If input wakes the screen, revert
|
||||
the #127 mitigation wholesale and #135 dies with it.
|
||||
|
||||
## 2026-07-16 — #137 + #145: the splash follows the canvas, and says your layout
|
||||
- **Task:** #137 (splash off-centre docked) + #145 (keyboard layout on the LUKS
|
||||
prompt, with Fedora's icon).
|
||||
|
||||
Reference in New Issue
Block a user