From cd092a9fedf3d7b44be4d4e1cf91585a82b5e8f0 Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Sat, 24 Oct 2026 20:41:56 +0800 Subject: [PATCH] fix: increase contrast between workspace chrome and content --- docs/ui-workspace-audit.md | 10 ++++++++++ src/system_ui/theme.rs | 3 ++- src/tabs.rs | 6 +++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/ui-workspace-audit.md b/docs/ui-workspace-audit.md index d1319fe..e18a242 100644 --- a/docs/ui-workspace-audit.md +++ b/docs/ui-workspace-audit.md @@ -79,3 +79,13 @@ bundle and diff whitespace checks passed. No test suite or smoke script was run. All earlier requirements were reviewed against the table above; isolated Chrome motion comparison and the explicitly listed cross-window/DPI verification gaps remain unverified, rather than being marked complete. + + +## Chrome contrast correction + +The continuous top/left chrome now uses #E6E9ED instead of #F5F5F5, +separating it visibly from the #F7F7F5 content canvas. Selected tabs retain +white fill and dark text; inactive titles use muted text. Geometry and borderless +selection are unchanged. After rebuilding and restarting, the native window +showed one startup tab; a + click added a second tab and the two states were +visually checked. Formatting, all-target offline Clippy and release bundling passed. diff --git a/src/system_ui/theme.rs b/src/system_ui/theme.rs index 096d444..a718e07 100644 --- a/src/system_ui/theme.rs +++ b/src/system_ui/theme.rs @@ -1,6 +1,7 @@ use crate::display_list::Color; pub const BG: Color = Color::rgb(255, 255, 255); -pub const BAR: Color = Color::rgb(245, 245, 245); +// A visibly separate chrome layer against the warm, near-white content canvas. +pub const BAR: Color = Color::rgb(230, 233, 237); pub const BORDER: Color = Color::rgb(226, 226, 226); pub const TEXT: Color = Color::rgb(35, 42, 53); pub const MUTED: Color = Color::rgb(103, 114, 130); diff --git a/src/tabs.rs b/src/tabs.rs index c9fbe5b..e0fab2c 100644 --- a/src/tabs.rs +++ b/src/tabs.rs @@ -374,7 +374,11 @@ pub fn draw( ), value: title.into(), style: TextStyle::ui(1).scaled(scale), - color: crate::system_ui::theme::TEXT, + color: if active { + crate::system_ui::theme::TEXT + } else { + crate::system_ui::theme::MUTED + }, }); list.push(DrawCommand::PopClip); if item.navigation.is_none() && item.rect.width >= 44.0 {