Skip to content

fix: input fields paint the theme input color, readable under win98 - #1072

Open
SOUMITRO-SAHA wants to merge 3 commits into
herdrdev:masterfrom
SOUMITRO-SAHA:fix/input-fields-theme-input-color
Open

SOUMITRO-SAHA wants to merge 3 commits into
herdrdev:masterfrom
SOUMITRO-SAHA:fix/input-fields-theme-input-color

Conversation

@SOUMITRO-SAHA

Copy link
Copy Markdown
Contributor

Fixes #824

Problem

With the Win98 theme, input fields painted .bg(t.background) + .text_color(t.foreground), and the theme sets both to #000000 — typed text was invisible in the command palette (Cmd+Shift+P), the picker (Cmd+P), help, prompt, worktree, machine-add, settings (machine rename, font picker search), feedback and the changes commit-message field.

Selected text was unreadable too: the theme's selection is opaque #000080 (navy) and selected glyphs keep their black ink.

Fix

Input fields take the theme's input color as their background — no hardcoded values, each theme decides:

  • win98 ships colors.input: #ffffff → the white Win98 text box with black text
  • stock themes derive a translucent field wash (#ffffff24 dark / #00000026 light), so fields read as fields in every theme

Fields that had no background of their own (settings font-picker search, changes commit message) get bg(t.input) as well, so they are readable under win98 too.

Selection readability (defaults/themes/win98.json): theme files require opaque #rrggbb for palette fields but allow #rrggbbaa in colors, and the terminal drops alpha when it reads this token. So a colors.selection: "#00008080" override gives panels a translucent navy band (black selected text reads on the white field) while the terminal keeps its authentic opaque navy selection.

Docs: defaults/AGENTS.md and defaults/herdr.d.ts now describe input as "text fields, a stronger border".

Testing

  • just test: 148 bun + 490 cargo tests pass
  • herdr-app check passes for all six changed mods
  • Verified live on macOS in an isolated home: win98 palette, picker, prompt and settings fields are white with readable text; selected text readable; main layout (atom-one-dark) shows only the subtle field wash; terminal selection unchanged

@SOUMITRO-SAHA

Copy link
Copy Markdown
Contributor Author

Demo recording — left: dev build with this PR · right: production app — both on the Win98 layout.

What to look for:

  • Command palette (Cmd+Shift+P), typing "test": right side — the field is black and the typed text is invisible; left side — the white Win98 text box, every keystroke readable.
  • Picker (Cmd+P), typing "test": same story — invisible on the right, white field with readable text on the left.
  • Settings → Machines → Rename, select the name: right side — black text on the navy selection band, unreadable; left side — same navy selection, text readable (panels get the translucent band; terminals keep the opaque navy).
2026-11-15_02-24-11.mp4

This branch has not been deployed

No deployments
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.

Win98 theme: command palette input is black text on a black field

1 participant