diff options
author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-10-29 16:56:23 -0500 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-10-29 18:11:28 -0500 |
commit | 6a0ec2a8c3e470ce76353008e79da7e764c0af6f (patch) | |
tree | cce7820f66b796c9d97a26465def70fa06cfda20 /client.h | |
parent | 1eeb3689d3ec5b917b5ccf730a6497e4b9fcd0a6 (diff) | |
parent | 846ce52b926797dc51f9fcdc2d121ee63fb68580 (diff) |
Merge remote-tracking branch 'upstream/main' into wlroots-next
Diffstat (limited to 'client.h')
-rw-r--r-- | client.h | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -287,6 +287,17 @@ client_surface_at(Client *c, double cx, double cy, double *sx, double *sy) } static inline int +client_wants_focus(Client *c) +{ +#ifdef XWAYLAND + return client_is_unmanaged(c) + && wlr_xwayland_or_surface_wants_focus(c->surface.xwayland) + && wlr_xwayland_icccm_input_model(c->surface.xwayland) != WLR_ICCCM_INPUT_MODEL_NONE; +#endif + return 0; +} + +static inline int client_wants_fullscreen(Client *c) { #ifdef XWAYLAND @@ -318,3 +329,18 @@ toplevel_from_popup(struct wlr_xdg_popup *popup) } } } + +static inline void * +toplevel_from_wlr_layer_surface(struct wlr_surface *s) +{ + Client *c; + struct wlr_layer_surface_v1 *wlr_layer_surface; + + if ((c = client_from_wlr_surface(s))) + return c; + else if (s && wlr_surface_is_layer_surface(s) + && (wlr_layer_surface = wlr_layer_surface_v1_from_wlr_surface(s))) + return wlr_layer_surface->data; + + return NULL; +} |