From f1c92b05fb124d6865d4dfb0c121b3dbf7fd5407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= Date: Fri, 18 Mar 2022 00:49:47 -0600 Subject: [PATCH] get old client by surface's node --- dwl.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/dwl.c b/dwl.c index 347178b..4df0e95 100644 --- a/dwl.c +++ b/dwl.c @@ -1076,7 +1076,6 @@ focusclient(Client *c, int lift) { struct wlr_surface *old = seat->keyboard_state.focused_surface; struct wlr_keyboard *kb; - Client *w; int i; /* Raise client in stacking order if requested */ @@ -1114,15 +1113,11 @@ focusclient(Client *c, int lift) )) return; } else { -#ifdef XWAYLAND - if (wlr_surface_is_xwayland_surface(old)) - w = wlr_xwayland_surface_from_wlr_surface(old)->data; - else -#endif - w = wlr_xdg_surface_from_wlr_surface(old)->data; - - for (i = 0; i < 4; i++) - wlr_scene_rect_set_color(w->border[i], bordercolor); + Client *w; + struct wlr_scene_node *node = old->data; + if ((w = node->data)) + for (i = 0; i < 4; i++) + wlr_scene_rect_set_color(w->border[i], bordercolor); client_activate_surface(old, 0); }