From 6942ecc13a40867850fc26429da21603647e8026 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 10 Feb 2025 13:12:53 +0300 Subject: Implement clicking on tab to switch --- src/layout/workspace.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/layout/workspace.rs') diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index b5392644..25d2bb80 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -1475,14 +1475,18 @@ impl Workspace { } pub fn window_under(&self, pos: Point) -> Option<(&W, HitType)> { - self.tiles_with_render_positions() - .find_map(|(tile, tile_pos, visible)| { - if !visible { - return None; - } + // This logic is consistent with tiles_with_render_positions(). + if self.is_floating_visible() { + if let Some(rv) = self + .floating + .tiles_with_render_positions() + .find_map(|(tile, tile_pos)| HitType::hit_tile(tile, tile_pos, pos)) + { + return Some(rv); + } + } - HitType::hit_tile(tile, tile_pos, pos) - }) + self.scrolling.window_under(pos) } pub fn resize_edges_under(&self, pos: Point) -> Option { -- cgit