diff options
author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-08-18 16:59:38 -0500 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-08-23 13:28:01 -0500 |
commit | 07bf1832bf2c435107f4664c82efc756f3fdd784 (patch) | |
tree | 6af390afaa17c0781b5c8b29fd9557732c517edc | |
parent | 174919ec5342af19504661b30359068af5fcf1c1 (diff) |
set monitor for clients that don't have one in updatemons()
only if selmon is enabled and the clients are mapped
-rw-r--r-- | client.h | 10 | ||||
-rw-r--r-- | dwl.c | 6 |
2 files changed, 16 insertions, 0 deletions
@@ -184,6 +184,16 @@ client_is_float_type(Client *c) } static inline int +client_is_mapped(Client *c) +{ +#ifdef XWAYLAND + if (client_is_x11(c)) + return c->surface.xwayland->mapped; +#endif + return c->surface.xdg->mapped; +} + +static inline int client_wants_fullscreen(Client *c) { #ifdef XWAYLAND @@ -2365,6 +2365,7 @@ updatemons(struct wl_listener *listener, void *data) */ struct wlr_output_configuration_v1 *config = wlr_output_configuration_v1_create(); + Client *c; Monitor *m; sgeom = *wlr_output_layout_get_box(output_layout, NULL); wl_list_for_each(m, &mons, link) { @@ -2388,6 +2389,11 @@ updatemons(struct wl_listener *listener, void *data) config_head->state.y = m->m.y; } + if (selmon && selmon->wlr_output->enabled) + wl_list_for_each(c, &clients, link) + if (!c->mon && client_is_mapped(c)) + setmon(c, selmon, c->tags); + wlr_output_manager_v1_set_configuration(output_mgr, config); } |