From e409453fbd49a30e2059271b78567b430dc5800a Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 23 Dec 2024 08:52:45 +0300 Subject: floating: Update stored size only on removal --- src/layout/mod.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/layout/mod.rs') diff --git a/src/layout/mod.rs b/src/layout/mod.rs index bc2716af..be5eadc1 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -1164,12 +1164,6 @@ impl Layout { if let Some(InteractiveMoveState::Moving(move_)) = &mut self.interactive_move { if move_.tile.window().id() == window { move_.tile.update_window(); - - // Update the floating size in case the window resizes itself during an interactive - // move. - let floating_size = move_.tile.window().expected_size(); - move_.tile.set_floating_window_size(floating_size); - return; } } @@ -3464,7 +3458,13 @@ impl Layout { } InsertPosition::Floating => { let pos = move_.tile_render_location() - offset; - mon.add_floating_tile(ws_idx, move_.tile, Some(pos), true); + + // Set the floating size so it takes into account any window resizing that + // took place during the move. + let mut tile = move_.tile; + tile.set_floating_window_size(tile.window().expected_size()); + + mon.add_floating_tile(ws_idx, tile, Some(pos), true); } } -- cgit