From f41a145a4cc4f49595882422b9b25f5e6eec6807 Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Thu, 30 Oct 2008 19:40:50 +0100 Subject: [PATCH] layout: Fix nmaster --- src/bar.c | 8 ++++++-- src/client.c | 5 ++--- src/layout.c | 5 ++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/bar.c b/src/bar.c index d60c0d7..df63ec9 100644 --- a/src/bar.c +++ b/src/bar.c @@ -126,8 +126,12 @@ updatebar(void) sprintf(buf, "mwfact: %.2f - nmaster: %d", tags[seltag].mwfact, tags[seltag].nmaster); - draw_text(bar->dr, taglen[conf.ntag] + textw(tags[seltag].layout.symbol) + conf.tagbordwidth + PAD, - fonth, conf.colors.text, conf.colors.bar, 0, buf); + draw_text(bar->dr, + taglen[conf.ntag] + textw(tags[seltag].layout.symbol) + conf.tagbordwidth + PAD, + fonth, conf.colors.text, conf.colors.bar, 0, buf); + draw_rectangle(bar->dr, + taglen[conf.ntag] + textw(tags[seltag].layout.symbol) + textw(buf) + PAD * 2, + 0, conf.tagbordwidth, barheight, conf.colors.tagbord); /* Draw status text */ draw_text(bar->dr, mw - textw(bartext), fonth, conf.colors.text, conf.colors.bar, 0, bartext); diff --git a/src/client.c b/src/client.c index db55dd2..0977721 100644 --- a/src/client.c +++ b/src/client.c @@ -127,13 +127,11 @@ client_focus(Client *c) XSetWindowBorder(dpy, sel->win, conf.client.bordernormal); } - if(c) - grabbuttons(c, True); - selbytag[seltag] = sel = c; if(c) { + grabbuttons(c, True); XSetWindowBorder(dpy, c->win, conf.client.borderfocus); if(conf.raisefocus) client_raise(c); @@ -142,6 +140,7 @@ client_focus(Client *c) else XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); + /* Update all visible titlebar */ for(cc = clients; cc; cc = cc->next) if(!ishide(cc)) titlebar_update(cc); diff --git a/src/layout.c b/src/layout.c index b72b40f..9192884 100644 --- a/src/layout.c +++ b/src/layout.c @@ -200,9 +200,12 @@ multi_tile(Position type) int i, border = conf.client.borderheight * 2; for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next), ++n); - if(!n || n < nmaster) + if(!n) return; + /* FIX NMASTER */ + nmaster = (n < nmaster) ? n : nmaster; + /* SET MWFACT */ mwfact = (type == Top || type == Bottom) ? tags[seltag].mwfact * sgeo.height