diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2024-03-09 19:15:15 +0530 |
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2024-03-09 19:15:15 +0530 |
| commit | e4abf501157bbca7978ffa35d53283117755859d (patch) | |
| tree | 53886b30b39e74fdfee242275a90141a423fbfe4 /client.h | |
| parent | baac62e103c5ea317801f89056dd44479cb6b3db (diff) | |
reset
Diffstat (limited to 'client.h')
| -rw-r--r-- | client.h | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -172,14 +172,29 @@ client_get_parent(Client *c) { Client *p = NULL; #ifdef XWAYLAND - if (client_is_x11(c) && c->surface.xwayland->parent) - toplevel_from_wlr_surface(c->surface.xwayland->parent->surface, &p, NULL); + if (client_is_x11(c)) { + if (c->surface.xwayland->parent) + toplevel_from_wlr_surface(c->surface.xwayland->parent->surface, &p, NULL); + return p; + } #endif if (c->surface.xdg->toplevel->parent) toplevel_from_wlr_surface(c->surface.xdg->toplevel->parent->base->surface, &p, NULL); return p; } +static inline int +client_has_children(Client *c) +{ +#ifdef XWAYLAND + if (client_is_x11(c)) + return !wl_list_empty(&c->surface.xwayland->children); +#endif + /* surface.xdg->link is never empty because it always contains at least the + * surface itself. */ + return wl_list_length(&c->surface.xdg->link) > 1; +} + static inline const char * client_get_title(Client *c) { |
