diff --git a/frontends/rioterm/src/renderer/mod.rs b/frontends/rioterm/src/renderer/mod.rs index 9d9d6ef929..d02aad0f86 100644 --- a/frontends/rioterm/src/renderer/mod.rs +++ b/frontends/rioterm/src/renderer/mod.rs @@ -60,13 +60,8 @@ impl Renderer { let mut dynamic_background = (named_colors.background.0, named_colors.background.1, false); - if config.window.opacity < 1. { - dynamic_background.1.a = config.window.opacity as f64; - dynamic_background.2 = true; - } else if config.window.background_image.is_some() { - dynamic_background.1 = wgpu::Color::TRANSPARENT; - dynamic_background.2 = true; - } + dynamic_background.1 = wgpu::Color::TRANSPARENT; + dynamic_background.2 = true; let mut color_automation: HashMap> = HashMap::new(); @@ -110,6 +105,7 @@ impl Renderer { let mut foreground_color = self.compute_color(&square.fg, flags); let mut background_color = self.compute_bg_color(square); + background_color[3] = 0.0; let content = if square.c == '\t' || flags.contains(Flags::HIDDEN) { ' ' diff --git a/frontends/rioterm/src/screen/mod.rs b/frontends/rioterm/src/screen/mod.rs index f52264a869..2cb8913f1b 100644 --- a/frontends/rioterm/src/screen/mod.rs +++ b/frontends/rioterm/src/screen/mod.rs @@ -243,11 +243,7 @@ impl Screen<'_> { sugarloaf_errors, )?; - if cfg!(target_os = "macos") { - sugarloaf.set_background_color(None); - } else { - sugarloaf.set_background_color(Some(renderer.dynamic_background.1)); - } + sugarloaf.set_background_color(None); if let Some(image) = &config.window.background_image { sugarloaf.set_background_image(image); diff --git a/rio-window/src/platform_impl/windows/window.rs b/rio-window/src/platform_impl/windows/window.rs index 1615718c9d..ea994b9418 100644 --- a/rio-window/src/platform_impl/windows/window.rs +++ b/rio-window/src/platform_impl/windows/window.rs @@ -137,7 +137,19 @@ impl Window { }); } - pub fn set_blur(&self, _blur: bool) {} + pub fn set_blur(&self, blur: bool) { + if true { // use blur + let window = self.window; + unsafe { + DwmSetWindowAttribute( + window, + DWMWA_SYSTEMBACKDROP_TYPE as _, + &BackdropType::TransientWindow as *const _ as _, + 4, + ); + } + } + } #[inline] pub fn set_visible(&self, visible: bool) {