diff --git a/src/backend/wayland/wl_pointer_focus.c b/src/backend/wayland/wl_pointer_focus.c index 8dd9053..0197584 100644 --- a/src/backend/wayland/wl_pointer_focus.c +++ b/src/backend/wayland/wl_pointer_focus.c @@ -95,8 +95,9 @@ view_surface_at(int px, int py, double *sx_out, double *sy_out, return v->xw_surface->surface; } if (v->xdg_surface) { - double sx = px - (double)v->x; - double sy = py - (double)v->y; + struct wlr_box geo = v->xdg_surface->geometry; + double sx = px - (double)v->x + geo.x; + double sy = py - (double)v->y + geo.y; double sub_sx, sub_sy; struct wlr_surface *sub = wlr_xdg_surface_surface_at( v->xdg_surface, sx, sy, &sub_sx, &sub_sy);