diff options
author | Sabu Siyad <hello@ssiyad.com> | 2022-08-03 02:13:37 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-02 20:43:37 +0000 |
commit | 76c5d01ee2b2178e71df578a109108655a97c24a (patch) | |
tree | 186412c5a5f1f8bb24c286b8b4c202c1ce05a4eb /alacritty/src/config/window.rs | |
parent | 1df32309fe69d4e8113813a3e9049a7039650f44 (diff) | |
download | r-alacritty-76c5d01ee2b2178e71df578a109108655a97c24a.tar.gz r-alacritty-76c5d01ee2b2178e71df578a109108655a97c24a.tar.bz2 r-alacritty-76c5d01ee2b2178e71df578a109108655a97c24a.zip |
Warn if only columns XOR lines is set
Co-authored-by: Christian Duerr <contact@christianduerr.com>
Diffstat (limited to 'alacritty/src/config/window.rs')
-rw-r--r-- | alacritty/src/config/window.rs | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/alacritty/src/config/window.rs b/alacritty/src/config/window.rs index 813c0f3a..08f38b57 100644 --- a/alacritty/src/config/window.rs +++ b/alacritty/src/config/window.rs @@ -2,7 +2,7 @@ use std::fmt::{self, Formatter}; use std::os::raw::c_ulong; use glutin::window::Fullscreen; -use log::error; +use log::{error, warn}; use serde::de::{self, MapAccess, Visitor}; use serde::{Deserialize, Deserializer, Serialize}; @@ -74,11 +74,31 @@ impl Default for WindowConfig { impl WindowConfig { #[inline] pub fn dimensions(&self) -> Option<Dimensions> { - if self.dimensions.columns.0 != 0 - && self.dimensions.lines != 0 - && self.startup_mode != StartupMode::Maximized - { + let (lines, columns) = (self.dimensions.lines, self.dimensions.columns.0); + let (lines_is_non_zero, columns_is_non_zero) = (lines != 0, columns != 0); + + if lines_is_non_zero && columns_is_non_zero { + // Return dimensions if both `lines` and `columns` are non-zero. Some(self.dimensions) + } else if lines_is_non_zero || columns_is_non_zero { + // Warn if either `columns` or `lines` is non-zero. + + let (zero_key, non_zero_key, non_zero_value) = if lines_is_non_zero { + ("columns", "lines", lines) + } else { + ("lines", "columns", columns) + }; + + warn!( + target: LOG_TARGET_CONFIG, + "Both `lines` and `columns` must be non-zero for `window.dimensions` to take \ + effect. Configured value of `{}` is 0 while that of `{}` is {}", + zero_key, + non_zero_key, + non_zero_value, + ); + + None } else { None } |