Skip to content

FIX: make terminal backgrounds consistent and approval buttons visible - #78

Merged
merefield merged 4 commits into
mainfrom
fix/terminal-background-rendering
Oct 9, 2026
Merged

merefield merged 4 commits into
mainfrom
fix/terminal-background-rendering

Conversation

@merefield

Copy link
Copy Markdown
Owner

Apple Terminal could show patches of the profile background inside themed panels and buttons: nested text styles reset the background, borders used a separate default background, and unused screen cells retained the Terminal profile colour. These changes paint the intended theme backgrounds explicitly and give approval decisions solid, high-contrast fills.

  • Fill default-background cells while preserving explicit editor tints, highlights, text attributes and hyperlinks; reset styling at component boundaries.
  • Paint the full alternate-screen canvas and panel/button borders consistently. Inline mode remains bounded to its rendered content, and the Terminal profile is not modified.
  • Recognise local Apple Terminal true-colour support on macOS Tahoe (26) and newer. Respect explicit colour preferences and retain normal detection for older, remote and multiplexed terminals. Windows colour detection is unchanged.
  • Make approval decision buttons visible before hover, with distinct armed-confirmation and hover colours. Keep decision routing, confirmation requirements and hit targets intact.
  • Add cell-colour, contrast, geometry, inline-mode and capability-detection regressions; update the rendering snapshot and troubleshooting guidance.

The shared background fills and approval-button styling also change Windows appearance. Native Windows Terminal visual verification is still pending; font-dependent box-character seams may still vary.

Validation completed on macOS:

  • Core suite: go test -race -cover -timeout 10m -skip '^TestLocalisedScreens$' ./...
  • All 17 locale options: go test -race -cover -timeout 10m -run '^TestLocalisedScreens$' ./internal/ui
  • go vet ./..., formatting and git diff --check
  • make build and local binary version smoke check
  • Windows amd64 cross-compilation of both the application and UI test executable; these were not executed on Windows.

Windows visual check before merge: build this branch, compare all themes and normal/hover/pressed button states, open an approval pill to inspect decision controls, and check editor/queue tints, resizing and inline rendering.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Treat an empty NO_COLOR value as an explicit opt-out.

1 open finding
What changed in this PR

This PR standardizes terminal backgrounds, improves approval-button visibility, and adds Apple Terminal true-colour detection.

Changes:

  • Adds explicit backgrounds across canvases, panels, editors, borders, and buttons.
  • Adds approval-control styling and rendering regressions.
  • Adds macOS Tahoe capability detection and documentation.
  • Requires handling empty NO_COLOR values as an opt-out.
File Summary
README.md Updates rendering and troubleshooting guidance.
main.go Applies terminal-specific options.
main_terminal.go Detects Apple Terminal true-colour support.
main_terminal_test.go Tests capability detection.
main_terminal_other.go Provides non-macOS fallback.
main_terminal_darwin.go Detects supported macOS versions.
internal/​ui/​view.go Paints canvas and panel backgrounds.
internal/​ui/​monitor.go Applies button backgrounds.
internal/​ui/​monitor_suggestions.go Paints suggestion-popup borders.
internal/​ui/​monitor_editor.go Preserves editor tint backgrounds.
internal/​ui/​monitor_approval.go Styles approval decision controls.
internal/​ui/​english_snapshot_test.go Updates rendering snapshots.
internal/​ui/​background.go Implements background filling.
internal/​ui/​background_test.go Adds background and rendering regressions.
go.mod Promotes rendering dependencies to direct requirements.

🧠 Review effort: Lite


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread main_terminal.go
@merefield
merefield merged commit 35d3ddd into main Oct 9, 2026
6 checks passed
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.

2 participants