From f59bac8c8b41211f5fa5606b8e0d1c2d78c752c6 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Fri, 3 Oct 2025 16:30:28 +0800 Subject: [PATCH] tab_bar: Let normal/active tab has same border to avoid flash on active change. (#1327) --- crates/ui/src/tab/tab.rs | 3 ++- themes/ayu.json | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/crates/ui/src/tab/tab.rs b/crates/ui/src/tab/tab.rs index ff50304f..8b3d8191 100644 --- a/crates/ui/src/tab/tab.rs +++ b/crates/ui/src/tab/tab.rs @@ -156,6 +156,7 @@ impl TabVariant { fg: cx.theme().tab_foreground, bg: cx.theme().transparent, borders: Edges { + top: px(1.), left: px(1.), right: px(1.), ..Default::default() @@ -307,7 +308,7 @@ impl TabVariant { match self { TabVariant::Tab => TabStyle { fg: cx.theme().muted_foreground, - bg: cx.theme().tab, + bg: cx.theme().transparent, border_color: if selected { cx.theme().border } else { diff --git a/themes/ayu.json b/themes/ayu.json index c060337f..8c641e9a 100644 --- a/themes/ayu.json +++ b/themes/ayu.json @@ -8,9 +8,9 @@ "name": "Ayu Light", "mode": "light", "colors": { - "accent.background": "#dbdbdb", + "accent.background": "#dadadc", "accent.foreground": "#5C6773", - "background": "#ECECED", + "background": "#FCFCFC", "foreground": "#5c6166", "border": "#cfd1d2ff", "ring": "#FF9940", @@ -20,7 +20,8 @@ "list.even.background": "#E6E6E6", "list.head.background": "#E6E6E6", "muted.background": "#F3F4F5", - "muted.foreground": "#ABB0B6", + "muted.foreground": "#99a0a6", + "sidebar.background": "#ECECED", "panel.background": "#F3F4F5", "popover.background": "#ECECED", "popover.foreground": "#5C6773", @@ -31,13 +32,12 @@ "scrollbar.background": "#FAFAFA00", "scrollbar.thumb.background": "#5c61664c", "secondary.active.background": "#CECECE", - "secondary.background": "#dbdbdb", + "secondary.background": "#ECECED", "secondary.foreground": "#5C6773", "secondary.hover.background": "#e0e0e0", - "tab.active.background": "#fafafa", + "tab.active.background": "#FCFCFC", "tab.active.foreground": "#5C6773", "tab.background": "#ECECED00", - "tab.foreground": "#8d8986", "tab_bar.background": "#ECECED", "title_bar.background": "#dcddde", "title_bar.border": "#CFD1D2", @@ -237,16 +237,17 @@ "colors": { "accent.background": "#2D2F34", "accent.foreground": "#B3B1AD", - "background": "#1F2127", + "background": "#0D1016", "border": "#3d3e40", "ring": "#FFB454", "foreground": "#B3B1AD", - "input.border": "#444444", + "input.border": "#2D2F34", "list.active.background": "#36A3D922", "list.active.border": "#36A3D9", "list.even.background": "#191F2A99", + "sidebar.background": "#1F2127", "muted.background": "#1F2430", - "muted.foreground": "#6a6967", + "muted.foreground": "#52514f", "panel.background": "#1F2126", "popover.background": "#1F2127", "popover.foreground": "#B3B1AD", @@ -256,13 +257,12 @@ "primary.hover.background": "#3DAEE9", "scrollbar.background": "#0A0E1400", "scrollbar.thumb.background": "#bfbdb64c", - "secondary.active.background": "#2D2F34", - "secondary.background": "#2D2F34", + "secondary.active.background": "#181a1e", + "secondary.background": "#1F2127", "secondary.foreground": "#B3B1AD", - "secondary.hover.background": "#2D2F3499", + "secondary.hover.background": "#26282f", "tab.active.foreground": "#B3B1AD", - "tab.background": "#1F2127", - "tab.foreground": "#82807d", + "tab.active.background": "#0D1016", "tab_bar.background": "#1F2127", "title_bar.background": "#313337", "base.yellow": "#feb454",