diff --git a/CHANGELOG.md b/CHANGELOG.md index 2facda65..a9fbbfaf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Option for evenly spreading extra padding around the terminal (`window.dynamic_padding`) +- Option for maximizing alacritty on start (`window.start_maximized`) - Display notice about errors and warnings inside Alacritty - Log all messages to both stderr and a log file in the system's temporary directory - New configuration option `persistent_logging` and CLI flag `--persistent-logging`, diff --git a/alacritty.yml b/alacritty.yml index ebba9920..fdd7f4f3 100644 --- a/alacritty.yml +++ b/alacritty.yml @@ -39,6 +39,9 @@ window: # - none: Neither borders nor title bar decorations: full + # When true, alacritty starts maximized. + start_maximized: false + scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. diff --git a/alacritty_macos.yml b/alacritty_macos.yml index db6fa8ca..9aa08f44 100644 --- a/alacritty_macos.yml +++ b/alacritty_macos.yml @@ -50,6 +50,9 @@ window: # - transparent: Title bar, transparent background, but no title bar buttons decorations: full + # When true, alacritty starts maximized. + start_maximized: false + scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. diff --git a/alacritty_windows.yml b/alacritty_windows.yml index b37a4532..b7ca1259 100644 --- a/alacritty_windows.yml +++ b/alacritty_windows.yml @@ -39,6 +39,9 @@ window: # - none: Neither borders nor title bar decorations: full + # When true, alacritty starts maximized. + start_maximized: false + scrolling: # Maximum number of lines in the scrollback buffer. # Specifying '0' will disable scrolling. diff --git a/src/config.rs b/src/config.rs index d56e8578..4f62440a 100644 --- a/src/config.rs +++ b/src/config.rs @@ -380,6 +380,10 @@ pub struct WindowConfig { /// Spread out additional padding evenly #[serde(default, deserialize_with = "failure_default")] dynamic_padding: bool, + + /// Start maximized + #[serde(default, deserialize_with = "failure_default")] + start_maximized: bool, } fn default_padding() -> Delta { @@ -406,6 +410,10 @@ impl WindowConfig { pub fn dynamic_padding(&self) -> bool { self.dynamic_padding } + + pub fn start_maximized(&self) -> bool { + self.start_maximized + } } impl Default for WindowConfig { @@ -415,6 +423,7 @@ impl Default for WindowConfig { padding: default_padding(), decorations: Default::default(), dynamic_padding: false, + start_maximized: false, } } } diff --git a/src/window.rs b/src/window.rs index 31b7c766..de3eb9a6 100644 --- a/src/window.rs +++ b/src/window.rs @@ -300,6 +300,7 @@ impl Window { .with_title(title) .with_visibility(false) .with_transparency(true) + .with_maximized(window_config.start_maximized()) .with_decorations(decorations) } @@ -317,6 +318,7 @@ impl Window { .with_visibility(cfg!(windows)) .with_decorations(decorations) .with_transparency(true) + .with_maximized(window_config.start_maximized()) .with_window_icon(Some(icon)) } @@ -327,7 +329,8 @@ impl Window { let window = WindowBuilder::new() .with_title(title) .with_visibility(false) - .with_transparency(true); + .with_transparency(true) + .with_maximized(window_config.start_maximized()); match window_config.decorations() { Decorations::Full => window,