From 3e598c565e6e8ad4c34e93aec9a49e60d51d730e Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 24 Apr 2024 21:49:07 +0400 Subject: Implement border window rule --- src/layout/mod.rs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/layout/mod.rs') diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 4c570ef2..4889e9a7 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -463,8 +463,10 @@ impl Layout { ) -> Option<&Output> { let mut width = width.unwrap_or_else(|| ColumnWidth::Fixed(window.size().w)); if let ColumnWidth::Fixed(w) = &mut width { - if !self.options.border.off { - *w += self.options.border.width as i32 * 2; + let rules = window.rules(); + let border_config = rules.border.resolve_against(self.options.border); + if !border_config.off { + *w += border_config.width as i32 * 2; } } @@ -519,8 +521,10 @@ impl Layout { ) -> Option<&Output> { let mut width = width.unwrap_or_else(|| ColumnWidth::Fixed(window.size().w)); if let ColumnWidth::Fixed(w) = &mut width { - if !self.options.border.off { - *w += self.options.border.width as i32 * 2; + let rules = window.rules(); + let border_config = rules.border.resolve_against(self.options.border); + if !border_config.off { + *w += border_config.width as i32 * 2; } } @@ -555,8 +559,10 @@ impl Layout { ) { let mut width = width.unwrap_or_else(|| ColumnWidth::Fixed(window.size().w)); if let ColumnWidth::Fixed(w) = &mut width { - if !self.options.border.off { - *w += self.options.border.width as i32 * 2; + let rules = window.rules(); + let border_config = rules.border.resolve_against(self.options.border); + if !border_config.off { + *w += border_config.width as i32 * 2; } } -- cgit