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.rs30
1 files changed, 21 insertions, 9 deletions
diff --git a/alacritty/src/config/window.rs b/alacritty/src/config/window.rs
index f7a7511c..507a4f2c 100644
--- a/alacritty/src/config/window.rs
+++ b/alacritty/src/config/window.rs
@@ -4,7 +4,7 @@ use std::os::raw::c_ulong;
use glutin::window::Fullscreen;
use log::error;
use serde::de::{self, MapAccess, Visitor};
-use serde::{Deserialize, Deserializer};
+use serde::{Deserialize, Deserializer, Serialize};
use alacritty_config_derive::ConfigDeserialize;
use alacritty_terminal::config::{Percentage, LOG_TARGET_CONFIG};
@@ -39,11 +39,9 @@ pub struct WindowConfig {
/// Use dynamic title.
pub dynamic_title: bool,
- /// Window title.
- pub title: String,
-
- /// Window class.
- pub class: Class,
+ /// Information to identify a particular window.
+ #[config(flatten)]
+ pub identity: Identity,
/// Background opacity from 0.0 to 1.0.
pub opacity: Percentage,
@@ -59,14 +57,13 @@ impl Default for WindowConfig {
fn default() -> Self {
Self {
dynamic_title: true,
- title: DEFAULT_NAME.into(),
position: Default::default(),
decorations: Default::default(),
startup_mode: Default::default(),
embed: Default::default(),
gtk_theme_variant: Default::default(),
dynamic_padding: Default::default(),
- class: Default::default(),
+ identity: Identity::default(),
opacity: Default::default(),
padding: Default::default(),
dimensions: Default::default(),
@@ -109,6 +106,21 @@ impl WindowConfig {
}
}
+#[derive(ConfigDeserialize, Debug, Clone, PartialEq)]
+pub struct Identity {
+ /// Window title.
+ pub title: String,
+
+ /// Window class.
+ pub class: Class,
+}
+
+impl Default for Identity {
+ fn default() -> Self {
+ Self { title: DEFAULT_NAME.into(), class: Default::default() }
+ }
+}
+
#[derive(ConfigDeserialize, Debug, Copy, Clone, PartialEq, Eq)]
pub enum StartupMode {
Windowed,
@@ -153,7 +165,7 @@ pub struct Dimensions {
}
/// Window class hint.
-#[derive(Debug, Clone, PartialEq, Eq)]
+#[derive(Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Class {
pub instance: String,
pub general: String,