diff options
Diffstat (limited to 'alacritty/src')
-rw-r--r-- | alacritty/src/config/window.rs | 16 | ||||
-rw-r--r-- | alacritty/src/display/window.rs | 5 | ||||
-rw-r--r-- | alacritty/src/window_context.rs | 3 |
3 files changed, 17 insertions, 7 deletions
diff --git a/alacritty/src/config/window.rs b/alacritty/src/config/window.rs index 9d40b5ad..bb7c4080 100644 --- a/alacritty/src/config/window.rs +++ b/alacritty/src/config/window.rs @@ -48,6 +48,9 @@ pub struct WindowConfig { /// Background opacity from 0.0 to 1.0. pub opacity: Percentage, + /// Request blur behind the window. + pub blur: bool, + /// Controls which `Option` key should be treated as `Alt`. #[cfg(target_os = "macos")] option_as_alt: OptionAsAlt, @@ -66,17 +69,18 @@ impl Default for WindowConfig { fn default() -> Self { Self { dynamic_title: true, + blur: Default::default(), + embed: Default::default(), + padding: Default::default(), + opacity: Default::default(), position: Default::default(), + identity: Default::default(), + dimensions: Default::default(), decorations: Default::default(), startup_mode: Default::default(), - embed: Default::default(), - decorations_theme_variant: Default::default(), dynamic_padding: Default::default(), - identity: Identity::default(), - opacity: Default::default(), - padding: Default::default(), - dimensions: Default::default(), resize_increments: Default::default(), + decorations_theme_variant: Default::default(), #[cfg(target_os = "macos")] option_as_alt: Default::default(), } diff --git a/alacritty/src/display/window.rs b/alacritty/src/display/window.rs index 5606ca4f..f5128e75 100644 --- a/alacritty/src/display/window.rs +++ b/alacritty/src/display/window.rs @@ -167,6 +167,7 @@ impl Window { .with_theme(config.window.decorations_theme_variant) .with_visible(false) .with_transparent(true) + .with_blur(config.window.blur) .with_maximized(config.window.maximized()) .with_fullscreen(config.window.fullscreen()) .build(event_loop)?; @@ -343,6 +344,10 @@ impl Window { self.window.set_transparent(transparent); } + pub fn set_blur(&self, blur: bool) { + self.window.set_blur(blur); + } + pub fn set_maximized(&self, maximized: bool) { self.window.set_maximized(maximized); } diff --git a/alacritty/src/window_context.rs b/alacritty/src/window_context.rs index 5c017cab..a80aecca 100644 --- a/alacritty/src/window_context.rs +++ b/alacritty/src/window_context.rs @@ -345,8 +345,9 @@ impl WindowContext { #[cfg(target_os = "macos")] self.display.window.set_option_as_alt(self.config.window.option_as_alt()); - // Change opacity state. + // Change opacity and blur state. self.display.window.set_transparent(!opaque); + self.display.window.set_blur(self.config.window.blur); // Update hint keys. self.display.hint_state.update_alphabet(self.config.hints.alphabet()); |