xiwm

simple window manager
git clone https://git.ce9e.org/xiwm.git

commit
6131ae67648b7045a28257b87defd230f8a28747
parent
2991a5981a55b47b6f1921c5c46fdcc7d2da9423
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2019-10-18 05:48
avoid flicker in layout

Diffstat

M xiwm.c 12 ++++++++----

1 files changed, 8 insertions, 4 deletions


diff --git a/xiwm.c b/xiwm.c

@@ -272,11 +272,11 @@ layout(void)
  272   272 {
  273   273 	Client *c;
  274   274 
   -1   275 	// show before hide to avoid flicker
  275   276 	for (c = clients; c; c = c->next) {
  276    -1 		if (c->isdock) {}
  277    -1 		else if (!ISVISIBLE(c))
  278    -1 			XMoveWindow(dpy, c->win, sw * -2, c->y);
  279    -1 		else if (c->isfullscreen)
   -1   277 		if (c->isdock || !ISVISIBLE(c))
   -1   278 			continue;
   -1   279 		if (c->isfullscreen)
  280   280 			resize(c, 0, 0, sw, sh, 0);
  281   281 		else if (c->position == PFloat)
  282   282 			resize(c, c->fx, c->fy, c->fw, c->fh, 1);
@@ -284,6 +284,10 @@ layout(void)
  284   284 			resize(c, 0, bh, sw, sh - bh, 0);
  285   285 	}
  286   286 
   -1   287 	for (c = clients; c; c = c->next)
   -1   288 		if (!ISVISIBLE(c) && !c->isdock)
   -1   289 			XMoveWindow(dpy, c->win, sw * -2, c->y);
   -1   290 
  287   291 	layoutcolumn(PLeft, 0, sw * mfact);
  288   292 	layoutcolumn(PRight, sw * mfact, sw - sw * mfact);
  289   293 }