diff --git a/src/client.c b/src/client.c index be31a81..bcf6320 100644 --- a/src/client.c +++ b/src/client.c @@ -405,7 +405,7 @@ client_map(Client *c) * \return The managed client */ Client* -client_manage(Window w, XWindowAttributes *wa) +client_manage(Window w, XWindowAttributes *wa, Bool ar) { Client *c, *t = NULL; Window trans; @@ -480,7 +480,8 @@ client_manage(Window w, XWindowAttributes *wa) client_set_wanted_tag(c); client_update_attributes(c); - arrange(c->screen); + if(ar) + arrange(c->screen); return c; } diff --git a/src/event.c b/src/event.c index 44582b7..1ffc1ff 100644 --- a/src/event.c +++ b/src/event.c @@ -436,7 +436,7 @@ maprequest(XMapRequestEvent *ev) CHECK(!at.override_redirect); if(!(c = client_gb_win(ev->window))) - client_manage(ev->window, &at); + client_manage(ev->window, &at, True); return; } diff --git a/src/wmfs.c b/src/wmfs.c index 78526f7..0ef122b 100644 --- a/src/wmfs.c +++ b/src/wmfs.c @@ -218,7 +218,7 @@ scan(void) XFree(ret); } - c = client_manage(w[i], &wa); + c = client_manage(w[i], &wa, False); if(tag != -1) c->tag = tag; diff --git a/src/wmfs.h b/src/wmfs.h index 58e2db3..bc6eb70 100644 --- a/src/wmfs.h +++ b/src/wmfs.h @@ -141,7 +141,7 @@ void client_hide(Client *c); void client_kill(Client *c); Bool ishide(Client *c, int screen); void client_map(Client *c); -Client* client_manage(Window w, XWindowAttributes *wa); +Client* client_manage(Window w, XWindowAttributes *wa, Bool ar); void client_moveresize(Client *c, XRectangle geo, Bool r); void client_maximize(Client *c); void client_size_hints(Client *c);