~ruther/dwl

a5a0674f6a92bc47eed51fa5e08279d9d6b1b369 — Leonardo Hernández Hernández 3 years ago 4dfa456
improve client_from_wlr_surface()
1 files changed, 15 insertions(+), 3 deletions(-)

M client.h
M client.h => client.h +15 -3
@@ 232,10 232,22 @@ client_min_size(Client *c, int *width, int *height)
}

static inline Client *
client_from_wlr_surface(struct wlr_surface *surface)
client_from_wlr_surface(struct wlr_surface *s)
{
	struct wlr_scene_node *n = surface->data;
	return n ? n->data : NULL;
	struct wlr_xdg_surface *surface;

#ifdef XWAYLAND
	struct wlr_xwayland_surface *xsurface;
	if (s->role_data && wlr_surface_is_xwayland_surface(s)
			&& (xsurface = wlr_xwayland_surface_from_wlr_surface(s)))
		return xsurface->data;
#endif
	if (s->role_data && wlr_surface_is_xdg_surface(s)
			&& (surface = wlr_xdg_surface_from_wlr_surface(s))
			&& surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL)
		return surface->data;

	return NULL;
}

static inline Client *