aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src
diff options
context:
space:
mode:
authorSabu Siyad <hello@ssiyad.com>2022-08-03 02:13:37 +0530
committerGitHub <noreply@github.com>2022-08-02 20:43:37 +0000
commit76c5d01ee2b2178e71df578a109108655a97c24a (patch)
tree186412c5a5f1f8bb24c286b8b4c202c1ce05a4eb /alacritty/src
parent1df32309fe69d4e8113813a3e9049a7039650f44 (diff)
downloadr-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')
-rw-r--r--alacritty/src/config/window.rs30
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
}