aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src')
-rw-r--r--alacritty/src/config/window.rs16
-rw-r--r--alacritty/src/display/window.rs5
-rw-r--r--alacritty/src/window_context.rs3
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());