iavoid reverting the border if it's not necessary (avoids some flashing on view()) - dwm - dynamic window manager Err parazyd.org 70 hgit clone https://git.parazyd.org/dwm URL:https://git.parazyd.org/dwm parazyd.org 70 1Log /git/dwm/log.gph parazyd.org 70 1Files /git/dwm/files.gph parazyd.org 70 1Refs /git/dwm/refs.gph parazyd.org 70 1README /git/dwm/file/README.gph parazyd.org 70 1LICENSE /git/dwm/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 76d7e80fc47f869f177ce694c45d4c8f2e86bdc7 /git/dwm/commit/76d7e80fc47f869f177ce694c45d4c8f2e86bdc7.gph parazyd.org 70 1parent af8049bce8e20818f50e6197d0212be24dce358e /git/dwm/commit/af8049bce8e20818f50e6197d0212be24dce358e.gph parazyd.org 70 hAuthor: a@null URL:mailto:unknown parazyd.org 70 iDate: Sun, 8 Feb 2009 09:46:23 +0000 Err parazyd.org 70 i Err parazyd.org 70 iavoid reverting the border if it's not necessary (avoids some flashing on view()) Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M dwm.c | 17 +++++++++++------ Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 11 insertions(+), 6 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/dwm.c b/dwm.c /git/dwm/file/dwm.c.gph parazyd.org 70 i@@ -179,7 +179,7 @@ static void setclientstate(Client *c, long state); Err parazyd.org 70 i static void setlayout(const Arg *arg); Err parazyd.org 70 i static void setmfact(const Arg *arg); Err parazyd.org 70 i static void setup(void); Err parazyd.org 70 i-static void showhide(Client *c); Err parazyd.org 70 i+static void showhide(Client *c, unsigned int ntiled); Err parazyd.org 70 i static void sigchld(int signal); Err parazyd.org 70 i static void spawn(const Arg *arg); Err parazyd.org 70 i static void tag(const Arg *arg); Err parazyd.org 70 i@@ -283,7 +283,11 @@ applyrules(Client *c) { Err parazyd.org 70 i Err parazyd.org 70 i void Err parazyd.org 70 i arrange(void) { Err parazyd.org 70 i- showhide(stack); Err parazyd.org 70 i+ unsigned int nt; Err parazyd.org 70 i+ Client *c; Err parazyd.org 70 i+ Err parazyd.org 70 i+ for(nt = 0, c = nexttiled(clients); c; c = nexttiled(c->next), nt++); Err parazyd.org 70 i+ showhide(stack, nt); Err parazyd.org 70 i focus(NULL); Err parazyd.org 70 i if(lt[sellt]->arrange) Err parazyd.org 70 i lt[sellt]->arrange(); Err parazyd.org 70 i@@ -1341,18 +1345,19 @@ setup(void) { Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i void Err parazyd.org 70 i-showhide(Client *c) { Err parazyd.org 70 i+showhide(Client *c, unsigned int ntiled) { Err parazyd.org 70 i if(!c) Err parazyd.org 70 i return; Err parazyd.org 70 i if(ISVISIBLE(c)) { /* show clients top down */ Err parazyd.org 70 i- adjustborder(c, borderpx); Err parazyd.org 70 i+ if(ntiled > 1) /* avoid unnecessary border reverts */ Err parazyd.org 70 i+ adjustborder(c, borderpx); Err parazyd.org 70 i XMoveWindow(dpy, c->win, c->x, c->y); Err parazyd.org 70 i if(!lt[sellt]->arrange || c->isfloating) Err parazyd.org 70 i resize(c, c->x, c->y, c->w, c->h, True); Err parazyd.org 70 i- showhide(c->snext); Err parazyd.org 70 i+ showhide(c->snext, ntiled); Err parazyd.org 70 i } Err parazyd.org 70 i else { /* hide clients bottom up */ Err parazyd.org 70 i- showhide(c->snext); Err parazyd.org 70 i+ showhide(c->snext, ntiled); Err parazyd.org 70 i XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y); Err parazyd.org 70 i } Err parazyd.org 70 i } Err parazyd.org 70 .