diff options
Diffstat (limited to 'sway/tree/container.c')
-rw-r--r-- | sway/tree/container.c | 14 |
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); } |