aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src
diff options
context:
space:
mode:
authorKirill Chibisov <contact@kchibisov.com>2023-10-29 16:18:33 +0400
committerGitHub <noreply@github.com>2023-10-29 16:18:33 +0400
commita0663c522537b65ea83ff6706da1e28651997c1b (patch)
treeb2159100e6fad4831049479d91b97f007563c02b /alacritty/src
parent0db2fc7865cff5c7455889093042329b9f5ef68c (diff)
downloadr-alacritty-a0663c522537b65ea83ff6706da1e28651997c1b.tar.gz
r-alacritty-a0663c522537b65ea83ff6706da1e28651997c1b.tar.bz2
r-alacritty-a0663c522537b65ea83ff6706da1e28651997c1b.zip
Add `window.blur` config option
Fixes #972.
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());