diff --git a/include/wlr/xwayland/xwayland.h b/include/wlr/xwayland/xwayland.h index 240ee3a5..75e9cdac 100644 --- a/include/wlr/xwayland/xwayland.h +++ b/include/wlr/xwayland/xwayland.h @@ -124,8 +124,11 @@ struct wlr_xwayland_surface { xcb_icccm_wm_hints_t *hints; xcb_size_hints_t *size_hints; /* - * _NET_WM_STRUT_PARTIAL (used by e.g. XWayland panels; - * right/bottom are translated into root x/y coordinates) + * _NET_WM_STRUT_PARTIAL (used by e.g. XWayland panels). + * Note that right/bottom values are offsets from the lower + * right corner of the X11 screen, and the exact relation + * between X11 screen coordinates and the wlr_output_layout + * depends on the XWayland implementation. */ xcb_ewmh_wm_strut_partial_t *strut_partial; diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 6597af9a..92d68c7b 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -775,20 +775,6 @@ static void read_surface_strut_partial(struct wlr_xwm *xwm, return; } xcb_ewmh_get_wm_strut_partial_from_reply(xsurface->strut_partial, reply); - - /* - * Translate right/bottom into root x/y coordinates here since - * the compositor is ignorant of X11 screen width/height. - * - * (This could result in an incorrect position if the X11 screen - * size changes but _NET_WM_STRUT_PARTIAL doesn't. It's probably - * not worth the additional code to fix this corner case.) - */ - xsurface->strut_partial->right = - xwm->screen->width_in_pixels - xsurface->strut_partial->right; - xsurface->strut_partial->bottom = - xwm->screen->height_in_pixels - xsurface->strut_partial->bottom; - wl_signal_emit_mutable(&xsurface->events.set_strut_partial, NULL); }