aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/config/window.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/config/window.rs')
-rw-r--r--alacritty/src/config/window.rs29
1 files changed, 11 insertions, 18 deletions
diff --git a/alacritty/src/config/window.rs b/alacritty/src/config/window.rs
index f1a74232..476172d1 100644
--- a/alacritty/src/config/window.rs
+++ b/alacritty/src/config/window.rs
@@ -4,7 +4,10 @@ use std::os::raw::c_ulong;
use log::{error, warn};
use serde::de::{self, MapAccess, Visitor};
use serde::{Deserialize, Deserializer, Serialize};
-use winit::window::Fullscreen;
+use winit::window::{Fullscreen, Theme};
+
+#[cfg(target_os = "macos")]
+use winit::platform::macos::OptionAsAlt;
use alacritty_config_derive::{ConfigDeserialize, SerdeReplace};
use alacritty_terminal::config::{Percentage, LOG_TARGET_CONFIG};
@@ -30,14 +33,8 @@ pub struct WindowConfig {
#[config(skip)]
pub embed: Option<c_ulong>,
- /// GTK theme variant.
- #[config(deprecated = "use window.decorations_theme_variant instead")]
- gtk_theme_variant: Option<String>,
-
/// System decorations theme variant.
- ///
- /// Controls GTK theme variant on X11 and winit client side decorations on Wayland.
- decorations_theme_variant: Option<String>,
+ pub decorations_theme_variant: Option<Theme>,
/// Spread out additional padding evenly.
pub dynamic_padding: bool,
@@ -52,6 +49,10 @@ pub struct WindowConfig {
/// Background opacity from 0.0 to 1.0.
pub opacity: Percentage,
+ /// Controls which `Option` key should be treated as `Alt`.
+ #[cfg(target_os = "macos")]
+ pub option_as_alt: OptionAsAlt,
+
/// Pixel padding.
padding: Delta<u8>,
@@ -68,12 +69,13 @@ impl Default for WindowConfig {
startup_mode: Default::default(),
embed: Default::default(),
decorations_theme_variant: Default::default(),
- gtk_theme_variant: Default::default(),
dynamic_padding: Default::default(),
identity: Identity::default(),
opacity: Default::default(),
padding: Default::default(),
dimensions: Default::default(),
+ #[cfg(target_os = "macos")]
+ option_as_alt: Default::default(),
}
}
}
@@ -111,15 +113,6 @@ impl WindowConfig {
}
}
- #[cfg(not(any(target_os = "macos", windows)))]
- #[inline]
- pub fn decorations_theme_variant(&self) -> Option<&str> {
- self.gtk_theme_variant
- .as_ref()
- .or(self.decorations_theme_variant.as_ref())
- .map(|theme| theme.as_str())
- }
-
#[inline]
pub fn padding(&self, scale_factor: f32) -> (f32, f32) {
let padding_x = (f32::from(self.padding.x) * scale_factor).floor();