From b1c40a9079b37aeac55a924e1826de77fd989645 Mon Sep 17 00:00:00 2001 From: Rémi Labeyrie Date: Sat, 21 Dec 2024 15:34:14 +0100 Subject: fix: check for layer surface under cursor when clicking --- src/niri.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/niri.rs b/src/niri.rs index 336446b3..03b4b4e4 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -2420,7 +2420,19 @@ impl Niri { // Check if some layer-shell surface is on top. let layers = layer_map_for_output(output); - let layer_under = |layer| layers.layer_under(layer, pos_within_output).is_some(); + let layer_under = |layer| { + layers + .layer_under(layer, pos_within_output) + .and_then(|layer| { + let layer_pos_within_output = + layers.layer_geometry(layer).unwrap().loc.to_f64(); + layer.surface_under( + pos_within_output - layer_pos_within_output, + WindowSurfaceType::ALL, + ) + }) + .is_some() + }; if layer_under(Layer::Overlay) { return None; } -- cgit