Chris pointed me to the fact, that the window geoms calculation can be done once for each monitor, so I applied this remark - dwm - dynamic window manager HTML git clone https://git.parazyd.org/dwm DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit 954db46bac481fd3f514f7af50d2af7e73fb9115 DIR parent 508922b90db66b88cfb66e81b8d48065d13f6bc1 HTML Author: Anselm R Garbe <garbeam@gmail.com> Date: Mon, 11 Feb 2008 20:57:56 +0000 Chris pointed me to the fact, that the window geoms calculation can be done once for each monitor, so I applied this remark Diffstat: M dwm.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) --- DIR diff --git a/dwm.c b/dwm.c @@ -1724,12 +1724,13 @@ tile(void) { for(n = 0, c = nexttiled(clients, i); c; c = nexttiled(c->next, i)) n++; + /* window geoms */ + mw = (n == 1) ? m->waw : m->mwfact * m->waw; + th = (n > 1) ? m->wah / (n - 1) : 0; + if(n > 1 && th < bh) + th = m->wah; + for(j = 0, c = mc = nexttiled(clients, i); c; c = nexttiled(c->next, i)) { - /* window geoms */ - mw = (n == 1) ? m->waw : m->mwfact * m->waw; - th = (n > 1) ? m->wah / (n - 1) : 0; - if(n > 1 && th < bh) - th = m->wah; if(j == 0) { /* master */ nx = m->wax; ny = m->way;