aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-06-13 09:50:11 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-06-17 09:02:22 +0300
commit032589446a4bb0ae856cfa035feeb3113d50ca8f (patch)
tree456cfd2f7882e23b44d13feeaea04c1f4936eefd /src/layout/mod.rs
parent9ae98e09cb66da8ec8e1cd716ca1db64cd30cbd9 (diff)
downloadniri-032589446a4bb0ae856cfa035feeb3113d50ca8f.tar.gz
niri-032589446a4bb0ae856cfa035feeb3113d50ca8f.tar.bz2
niri-032589446a4bb0ae856cfa035feeb3113d50ca8f.zip
Fix cached data not updating on config change
Diffstat (limited to 'src/layout/mod.rs')
-rw-r--r--src/layout/mod.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index 2183bdf1..135f694f 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -3912,6 +3912,27 @@ mod tests {
assert_eq!(workspaces.len(), 2);
}
+ #[test]
+ fn config_change_updates_cached_sizes() {
+ let mut config = Config::default();
+ config.layout.border.off = false;
+ config.layout.border.width = 2;
+
+ let mut layout = Layout::new(&config);
+
+ Op::AddWindow {
+ id: 1,
+ bbox: Rectangle::from_loc_and_size((0, 0), (1280, 200)),
+ min_max_size: Default::default(),
+ }
+ .apply(&mut layout);
+
+ config.layout.border.width = 4;
+ layout.update_config(&config);
+
+ layout.verify_invariants();
+ }
+
fn arbitrary_spacing() -> impl Strategy<Value = u16> {
// Give equal weight to:
// - 0: the element is disabled