From c9f92bdd0ed8163c55f56a49490c555a48dd0b6d Mon Sep 17 00:00:00 2001 From: Guido Cella Date: Thu, 27 Aug 2020 05:22:27 +0200 Subject: set a monitor geometry only when creating it Lets layers with an exclusive area shrink the usable area --- dwl.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dwl.c b/dwl.c index b4364a8..d4170e5 100644 --- a/dwl.c +++ b/dwl.c @@ -461,9 +461,6 @@ applyrules(Client *c) void arrange(Monitor *m) { - /* Get effective monitor geometry to use for window area */ - m->m = *wlr_output_layout_get_box(output_layout, m->wlr_output); - m->w = m->m; if (m->lt[m->sellt]->arrange) m->lt[m->sellt]->arrange(m); /* XXX recheck pointer focus here... or in resize()? */ @@ -833,6 +830,10 @@ createmon(struct wl_listener *listener, void *data) wlr_output_layout_add_auto(output_layout, wlr_output); sgeom = *wlr_output_layout_get_box(output_layout, NULL); + /* Get effective monitor geometry to use for window area */ + m->m = *wlr_output_layout_get_box(output_layout, m->wlr_output); + m->w = m->m; + len = LENGTH(m->layers); for (size_t i = 0; i < len; ++i) { wl_list_init(&m->layers[i]); -- cgit v1.2.3