Fix transparency (#14010)

Conrad Irwin created

Release Notes:

- (preview only) Fix transparent themes

Change summary

crates/title_bar/src/title_bar.rs  | 4 ++++
crates/workspace/src/status_bar.rs | 6 +++++-
crates/workspace/src/workspace.rs  | 1 -
3 files changed, 9 insertions(+), 2 deletions(-)

Detailed changes

crates/title_bar/src/title_bar.rs 🔗

@@ -99,6 +99,10 @@ impl Render for TitleBar {
                             el.rounded_tr(theme::CLIENT_SIDE_DECORATION_ROUNDING)
                         })
                         .when(!(tiling.top || tiling.left), |el| el.rounded_tl(theme::CLIENT_SIDE_DECORATION_ROUNDING))
+                        // this border is to avoid a transparent gap in the rounded corners
+                        .mt(px(-1.))
+                        .border(px(1.))
+                        .border_color(cx.theme().colors().title_bar_background),
                 }
             })
             .bg(cx.theme().colors().title_bar_background)

crates/workspace/src/status_bar.rs 🔗

@@ -50,7 +50,11 @@ impl Render for StatusBar {
                     })
                     .when(!(tiling.bottom || tiling.left), |el| {
                         el.rounded_bl(CLIENT_SIDE_DECORATION_ROUNDING)
-                    }),
+                    })
+                    // This border is to avoid a transparent gap in the rounded corners
+                    .mb(px(-1.))
+                    .border_b(px(1.0))
+                    .border_color(cx.theme().colors().status_bar_background),
             })
             .child(self.render_left_tools(cx))
             .child(self.render_right_tools(cx))

crates/workspace/src/workspace.rs 🔗

@@ -6596,7 +6596,6 @@ pub fn client_side_decorations(element: impl IntoElement, cx: &mut WindowContext
                 .on_mouse_move(|_e, cx| {
                     cx.stop_propagation();
                 })
-                .bg(cx.theme().colors().border)
                 .size_full()
                 .child(element),
         )