From a43b5ae5000e70cbe4cccc126acfb0fb8381f1e8 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 9 Jul 2026 14:32:41 -0600 Subject: [PATCH] Remove background shading when not focused --- src/terminal_box.rs | 36 +++++++++--------------------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/src/terminal_box.rs b/src/terminal_box.rs index b8d1c01..6f568b8 100644 --- a/src/terminal_box.rs +++ b/src/terminal_box.rs @@ -429,7 +429,6 @@ where // Pane too small for content, but still fill background let terminal = self.terminal.lock().unwrap(); let meta = &terminal.metadata_set[terminal.default_attrs().metadata]; - let background_color = shade(meta.bg, state.is_focused && !self.disabled); renderer.fill_quad( Quad { bounds: layout.bounds(), @@ -446,12 +445,12 @@ where ..Default::default() }, Color::from_rgba( - f32::from(background_color.r()) / 255.0, - f32::from(background_color.g()) / 255.0, - f32::from(background_color.b()) / 255.0, + f32::from(meta.bg.r()) / 255.0, + f32::from(meta.bg.g()) / 255.0, + f32::from(meta.bg.b()) / 255.0, match self.opacity { Some(opacity) => opacity, - None => f32::from(background_color.a()) / 255.0, + None => f32::from(meta.bg.a()) / 255.0, }, ), ); @@ -472,8 +471,6 @@ where // Render default background { let meta = &terminal.metadata_set[terminal.default_attrs().metadata]; - let background_color = shade(meta.bg, state.is_focused && !self.disabled); - renderer.fill_quad( Quad { bounds: layout.bounds(), @@ -490,12 +487,12 @@ where ..Default::default() }, Color::from_rgba( - f32::from(background_color.r()) / 255.0, - f32::from(background_color.g()) / 255.0, - f32::from(background_color.b()) / 255.0, + f32::from(meta.bg.r()) / 255.0, + f32::from(meta.bg.g()) / 255.0, + f32::from(meta.bg.b()) / 255.0, match self.opacity { Some(opacity) => opacity, - None => f32::from(background_color.a()) / 255.0, + None => f32::from(meta.bg.a()) / 255.0, }, ), ); @@ -574,10 +571,9 @@ where let metadata = &self.metadata_set[self.metadata]; if metadata.bg != self.metadata_set[self.default_metadata].bg { - let color = shade(metadata.bg, is_focused); renderer.fill_quad( mk_quad!(mk_pos_offset!(0.0, self.line_height), self.line_height), - cosmic_text_to_iced_color(color), + cosmic_text_to_iced_color(metadata.bg), ); } @@ -1754,20 +1750,6 @@ fn accumulate_wheel_lines(y: f32, accumulator: f32) -> (i32, f32) { (lines, total - lines as f32) } -fn shade(color: cosmic_text::Color, is_focused: bool) -> cosmic_text::Color { - if is_focused { - color - } else { - let shade = 0.92; - cosmic_text::Color::rgba( - (f32::from(color.r()) * shade) as u8, - (f32::from(color.g()) * shade) as u8, - (f32::from(color.b()) * shade) as u8, - color.a(), - ) - } -} - impl<'a, Message> From> for Element<'a, Message, cosmic::Theme, Renderer> where Message: Clone + 'a,