Layout/Client: Fix factor cleaning when new client appears in another tag

This commit is contained in:
Martin Duquesnoy 2011-04-29 17:49:38 +02:00
parent 89ff1ffcc5
commit 3e3b18e6a3
2 changed files with 5 additions and 6 deletions

View File

@ -888,8 +888,6 @@ client_manage(Window w, XWindowAttributes *wa, Bool ar)
c->free_geo = c->pgeo = c->geo;
c->tag = seltag[c->screen];
c->focusontag = -1;
tags[c->screen][c->tag].cleanfact = True;
client_clean_tile_fact(c);
at.event_mask = PropertyChangeMask;
@ -920,6 +918,9 @@ client_manage(Window w, XWindowAttributes *wa, Bool ar)
client_attach(c);
client_set_rules(c);
tags[c->screen][c->tag].cleanfact = True;
client_get_name(c);
if(c->tag == (uint)seltag[selscreen])
{

View File

@ -54,10 +54,7 @@ arrange(int screen, Bool update_layout)
if(tags[screen][seltag[screen]].layout.func)
{
if(update_layout)
{
tags[screen][seltag[screen]].cleanfact = True;
tags[screen][seltag[screen]].layout.func(screen);
}
tags[screen][seltag[screen]].layout.func(screen);
infobar_draw(screen);
}
@ -841,6 +838,7 @@ uicb_set_layout(uicb_t cmd)
if(layout_list[i].func == conf.layout[j].func)
tags[selscreen][seltag[selscreen]].layout = conf.layout[j];
tags[selscreen][seltag[selscreen]].cleanfact = True;
arrange(selscreen, True);
return;