From 9993418f58b1885652d45b33da14c964387060d0 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Thu, 18 Jan 2024 21:56:37 -0500 Subject: [PATCH] Prevent diagnostics from overflowing the status bar (#4145) This PR makes it so long diagnostic messages no longer overflow the status bar and push the right tools off-screen. Here is an example with a long (placeholder) diagnostic message: Screenshot 2024-01-18 at 9 47 07 PM Release Notes: - Fixed long diagnostic messages overflowing the status bar. --- crates/workspace/src/status_bar.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/crates/workspace/src/status_bar.rs b/crates/workspace/src/status_bar.rs index 34a1412533..f6fe91a574 100644 --- a/crates/workspace/src/status_bar.rs +++ b/crates/workspace/src/status_bar.rs @@ -1,6 +1,6 @@ use crate::{ItemHandle, Pane}; use gpui::{ - div, AnyView, IntoElement, ParentElement, Render, Styled, Subscription, View, ViewContext, + AnyView, IntoElement, ParentElement, Render, Styled, Subscription, View, ViewContext, WindowContext, }; use std::any::TypeId; @@ -34,13 +34,12 @@ pub struct StatusBar { impl Render for StatusBar { fn render(&mut self, cx: &mut ViewContext) -> impl IntoElement { - div() + h_flex() + .w_full() + .justify_between() + .gap_2() .py_0p5() .px_1() - .flex() - .items_center() - .justify_between() - .w_full() .h_8() .bg(cx.theme().colors().status_bar_background) .child(self.render_left_tools(cx)) @@ -51,14 +50,13 @@ impl Render for StatusBar { impl StatusBar { fn render_left_tools(&self, _: &mut ViewContext) -> impl IntoElement { h_flex() - .items_center() .gap_2() + .overflow_hidden_x() .children(self.left_items.iter().map(|item| item.to_any())) } fn render_right_tools(&self, _: &mut ViewContext) -> impl IntoElement { h_flex() - .items_center() .gap_2() .children(self.right_items.iter().rev().map(|item| item.to_any())) }