aboutsummaryrefslogtreecommitdiff
path: root/sway/tree/container.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r--sway/tree/container.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sway/tree/container.c b/sway/tree/container.c
index 03d7e49c..995da5ce 100644
--- a/sway/tree/container.c
+++ b/sway/tree/container.c
@@ -423,8 +423,8 @@ struct sway_container *container_at(struct sway_container *parent,
soutput->sway_output->wlr_output);
double ox = lx - output_box->x;
double oy = ly - output_box->y;
- double view_sx = ox - swayc->x;
- double view_sy = oy - swayc->y;
+ double view_sx = ox - sview->x;
+ double view_sy = oy - sview->y;
double _sx, _sy;
struct wlr_surface *_surface;
@@ -455,6 +455,16 @@ struct sway_container *container_at(struct sway_container *parent,
*surface = _surface;
return swayc;
}
+ // Check the view's decorations
+ struct wlr_box swayc_box = {
+ .x = swayc->x,
+ .y = swayc->y,
+ .width = swayc->width,
+ .height = swayc->height,
+ };
+ if (wlr_box_contains_point(&swayc_box, ox, oy)) {
+ return swayc;
+ }
} else {
list_cat(queue, swayc->children);
}