aboutsummaryrefslogtreecommitdiff
path: root/src/layout/workspace.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/workspace.rs')
-rw-r--r--src/layout/workspace.rs18
1 files changed, 11 insertions, 7 deletions
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<W: LayoutElement> Workspace<W> {
}
pub fn window_under(&self, pos: Point<f64, Logical>) -> 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<f64, Logical>) -> Option<ResizeEdge> {