dwl

My patch set and modifications to dwl
git clone git://git.ethandl.dev/dwl
Log | Files | Refs | README | LICENSE

commit 07bf1832bf2c435107f4664c82efc756f3fdd784
parent 174919ec5342af19504661b30359068af5fcf1c1
Author: Leonardo Hernández Hernández <leohdz172@protonmail.com>
Date:   Thu, 18 Aug 2022 16:59:38 -0500

set monitor for clients that don't have one in updatemons()

only if selmon is enabled and the clients are mapped

Diffstat:
Mclient.h | 10++++++++++
Mdwl.c | 6++++++
2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/client.h b/client.h @@ -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 diff --git a/dwl.c b/dwl.c @@ -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); }