Merge pull request #2230 from zed-industries/fix-tab-x

Mikayla Maki created

Fix tab bar x

Change summary

crates/search/src/project_search.rs       | 2 +-
crates/terminal_view/src/terminal_view.rs | 2 +-
crates/theme/src/theme.rs                 | 3 ++-
crates/workspace/src/pane.rs              | 2 +-
crates/workspace/src/shared_screen.rs     | 2 +-
styles/src/styleTree/tabBar.ts            | 5 ++++-
6 files changed, 10 insertions(+), 6 deletions(-)

Detailed changes

crates/search/src/project_search.rs 🔗

@@ -253,7 +253,7 @@ impl Item for ProjectSearchView {
                 Svg::new("icons/magnifying_glass_12.svg")
                     .with_color(tab_theme.label.text.color)
                     .constrained()
-                    .with_width(tab_theme.icon_width)
+                    .with_width(tab_theme.type_icon_width)
                     .aligned()
                     .contained()
                     .with_margin_right(tab_theme.spacing)

crates/terminal_view/src/terminal_view.rs 🔗

@@ -585,7 +585,7 @@ impl Item for TerminalView {
                 gpui::elements::Svg::new("icons/terminal_12.svg")
                     .with_color(tab_theme.label.text.color)
                     .constrained()
-                    .with_width(tab_theme.icon_width)
+                    .with_width(tab_theme.type_icon_width)
                     .aligned()
                     .contained()
                     .with_margin_right(tab_theme.spacing)

crates/theme/src/theme.rs 🔗

@@ -215,7 +215,8 @@ pub struct Tab {
     pub label: LabelStyle,
     pub description: ContainedText,
     pub spacing: f32,
-    pub icon_width: f32,
+    pub close_icon_width: f32,
+    pub type_icon_width: f32,
     pub icon_close: Color,
     pub icon_close_active: Color,
     pub icon_dirty: Color,

crates/workspace/src/pane.rs 🔗

@@ -1355,7 +1355,7 @@ impl Pane {
                     } else {
                         Empty::new().boxed()
                     })
-                    .with_width(tab_style.icon_width)
+                    .with_width(tab_style.close_icon_width)
                     .boxed(),
                 )
                 .boxed(),

crates/workspace/src/shared_screen.rs 🔗

@@ -108,7 +108,7 @@ impl Item for SharedScreen {
                 Svg::new("icons/disable_screen_sharing_12.svg")
                     .with_color(style.label.text.color)
                     .constrained()
-                    .with_width(style.icon_width)
+                    .with_width(style.type_icon_width)
                     .aligned()
                     .contained()
                     .with_margin_right(style.spacing)

styles/src/styleTree/tabBar.ts 🔗

@@ -23,8 +23,11 @@ export default function tabBar(colorScheme: ColorScheme) {
         },
         spacing: 8,
 
+        // Tab type icons (e.g. Project Search)
+        typeIconWidth: 14,
+
         // Close icons
-        iconWidth: 14,
+        closeIconWidth: 8,
         iconClose: foreground(layer, "variant"),
         iconCloseActive: foreground(layer, "hovered"),