From 6078fc30bad23d62edf04df5bcee7ca458b72a9d Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Thu, 25 May 2023 16:42:01 +0200 Subject: [PATCH] tiling: Fix sizing when removing windows from group. At least partially fixes #118. --- src/shell/layout/tiling/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/shell/layout/tiling/mod.rs b/src/shell/layout/tiling/mod.rs index 69dbea82..12d9e997 100644 --- a/src/shell/layout/tiling/mod.rs +++ b/src/shell/layout/tiling/mod.rs @@ -217,9 +217,11 @@ impl Data { Orientation::Vertical => last_geometry.size.w, }; let old_size = sizes.remove(idx); + let remaining_size: i32 = sizes.iter().sum(); + for size in sizes.iter_mut() { *size += - ((old_size as f64 / last_length as f64) * (*size as f64)).round() as i32; + ((*size as f64 / remaining_size as f64) * old_size as f64).round() as i32; } let used_size: i32 = sizes.iter().sum(); let overflow = last_length - used_size;