Skip to content

Pin the terminal default colors to the ayu palette#54

Merged
Tannex merged 4 commits into
mainfrom
paint-explicit-backgrounds
Jul 20, 2026
Merged

Pin the terminal default colors to the ayu palette#54
Tannex merged 4 commits into
mainfrom
paint-explicit-backgrounds

Conversation

@Tannex

@Tannex Tannex commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Closes #47. Closes #41. Stacked on #53#52; retarget after those merge.

The garish-defaults captures showed the app relying on the terminal default in many places: data rows, popup fills, status/help text, filler lines. Auditing an explicit background onto every render site is the losing side of that fight — one missed cell reintroduces the bug (the popup fill already shipped that way once).

Instead, View() now pins the terminal's default colors to the palette (tea.View.BackgroundColor = ayu.bg, ForegroundColor = ayu.fg, i.e. OSC 11/10 for the app's lifetime). Every cell the app does not style explicitly renders on ayu by construction, and #41's design call resolves as "all chrome rows agree" without painting any of them individually. The palette's deliberately-unfilled popup style stays and now matches the data area on any terminal; the stale comment explaining why it couldn't fill is updated.

Regression check per #47: scripts/tui-shot runs on bright-pink/green defaults — captures of the main table, help popup, and query popup show zero bleed-through now (they were mostly pink before). TestViewPinsTerminalDefaultColors guards the pinning.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CS2LZMn2YJdebAiry2jzdP

Chrome rows disagreed about painting and many regions rendered on the
terminal default, so any host theme other than ayu's bled through as
inconsistent banding (see the garish-defaults tui-shot captures). Rather
than chasing an explicit background onto every cell, the view now pins
the terminal's default background and foreground to ayu via tea.View's
BackgroundColor/ForegroundColor, so every unstyled cell lands on the
palette by construction. The popup fill keeps deliberately painting no
background; it now matches the data area on every terminal.

Closes #47
Closes #41

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CS2LZMn2YJdebAiry2jzdP
Tannex and others added 2 commits July 20, 2026 06:23
The palette and View comments claimed unstyled fills match the data
area by construction; that holds only on terminals honoring OSC 10/11,
so the comments now say what happens elsewhere and on exit. The
tui-shot garish-defaults note is re-scoped to what the check verifies
since the pin: a regression of the pinning itself, not per-cell
styling gaps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CS2LZMn2YJdebAiry2jzdP
Base automatically changed from remove-wordy-status-texts to main July 20, 2026 06:15
@Tannex
Tannex merged commit 2cc1dd6 into main Jul 20, 2026
4 of 5 checks passed
@Tannex
Tannex deleted the paint-explicit-backgrounds branch July 20, 2026 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing background coloring in parts of the TUI Chrome styling inconsistencies under off-color terminal defaults

1 participant