Layout: Add update_layout boolean argument in arrange() function
This commit is contained in:
parent
0cc60f8d68
commit
c7a0fc9c3f
@ -493,7 +493,7 @@ client_manage(Window w, XWindowAttributes *wa, Bool ar)
|
|||||||
client_update_attributes(c);
|
client_update_attributes(c);
|
||||||
|
|
||||||
if(ar)
|
if(ar)
|
||||||
arrange(c->screen);
|
arrange(c->screen, True);
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -462,7 +462,7 @@ propertynotify(XPropertyEvent *ev)
|
|||||||
case XA_WM_TRANSIENT_FOR:
|
case XA_WM_TRANSIENT_FOR:
|
||||||
XGetTransientForHint(dpy, c->win, &trans);
|
XGetTransientForHint(dpy, c->win, &trans);
|
||||||
if((c->tile || c->max) && (c->hint = (client_gb_win(trans) != NULL)))
|
if((c->tile || c->max) && (c->hint = (client_gb_win(trans) != NULL)))
|
||||||
arrange(c->screen);
|
arrange(c->screen, True);
|
||||||
break;
|
break;
|
||||||
case XA_WM_NORMAL_HINTS:
|
case XA_WM_NORMAL_HINTS:
|
||||||
client_size_hints(c);
|
client_size_hints(c);
|
||||||
|
|||||||
@ -289,7 +289,7 @@ infobar_set_position(int pos)
|
|||||||
barwin_move(infobar[selscreen].bar, sgeo[selscreen].x - BORDH, infobar[selscreen].geo.y);
|
barwin_move(infobar[selscreen].bar, sgeo[selscreen].x - BORDH, infobar[selscreen].geo.y);
|
||||||
infobar_draw(selscreen);
|
infobar_draw(selscreen);
|
||||||
ewmh_set_workarea();
|
ewmh_set_workarea();
|
||||||
arrange(selscreen);
|
arrange(selscreen, True);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
/** Arrange All
|
/** Arrange All
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
arrange(int screen)
|
arrange(int screen, Bool update_layout)
|
||||||
{
|
{
|
||||||
Client *c;
|
Client *c;
|
||||||
|
|
||||||
@ -51,7 +51,9 @@ arrange(int screen)
|
|||||||
client_hide(c);
|
client_hide(c);
|
||||||
}
|
}
|
||||||
|
|
||||||
tags[screen][seltag[screen]].layout.func(screen);
|
if(update_layout)
|
||||||
|
tags[screen][seltag[screen]].layout.func(screen);
|
||||||
|
|
||||||
infobar_draw(screen);
|
infobar_draw(screen);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -752,7 +754,7 @@ uicb_set_layout(uicb_t cmd)
|
|||||||
if(layout_list[i].func == conf.layout[j].func)
|
if(layout_list[i].func == conf.layout[j].func)
|
||||||
tags[selscreen][seltag[selscreen]].layout = conf.layout[j];
|
tags[selscreen][seltag[selscreen]].layout = conf.layout[j];
|
||||||
|
|
||||||
arrange(selscreen);
|
arrange(selscreen, True);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -118,9 +118,9 @@ mouse_move(Client *c)
|
|||||||
c->screen = selscreen;
|
c->screen = selscreen;
|
||||||
c->tag = i;
|
c->tag = i;
|
||||||
tags[c->screen][c->tag].request_update = True;
|
tags[c->screen][c->tag].request_update = True;
|
||||||
arrange(oscreen);
|
arrange(oscreen, True);
|
||||||
if(oscreen != c->screen)
|
if(oscreen != c->screen)
|
||||||
arrange(c->screen);
|
arrange(c->screen, True);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
15
src/tag.c
15
src/tag.c
@ -65,20 +65,11 @@ tag_set(int tag)
|
|||||||
|
|
||||||
ewmh_update_current_tag_prop();
|
ewmh_update_current_tag_prop();
|
||||||
|
|
||||||
|
/* Arrange infobar position */
|
||||||
if(tags[selscreen][otag].barpos != tags[selscreen][seltag[selscreen]].barpos)
|
if(tags[selscreen][otag].barpos != tags[selscreen][seltag[selscreen]].barpos)
|
||||||
infobar_set_position(tags[selscreen][seltag[selscreen]].barpos);
|
infobar_set_position(tags[selscreen][seltag[selscreen]].barpos);
|
||||||
|
|
||||||
/* arrange(selscreen); */
|
arrange(selscreen, False);
|
||||||
for(c = clients; c; c = c->next)
|
|
||||||
if(c->screen == selscreen)
|
|
||||||
{
|
|
||||||
if(!ishide(c, selscreen))
|
|
||||||
client_unhide(c);
|
|
||||||
else
|
|
||||||
client_hide(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
infobar_draw(selscreen);
|
|
||||||
|
|
||||||
if(tags[selscreen][tag].request_update)
|
if(tags[selscreen][tag].request_update)
|
||||||
{
|
{
|
||||||
@ -113,7 +104,7 @@ tag_transfert(Client *c, int tag)
|
|||||||
|
|
||||||
c->tag = tag;
|
c->tag = tag;
|
||||||
|
|
||||||
arrange(c->screen);
|
arrange(c->screen, True);
|
||||||
|
|
||||||
if(c == sel)
|
if(c == sel)
|
||||||
client_focus(NULL);
|
client_focus(NULL);
|
||||||
|
|||||||
@ -228,7 +228,7 @@ scan(void)
|
|||||||
tags[c->screen][c->tag].request_update = True;
|
tags[c->screen][c->tag].request_update = True;
|
||||||
|
|
||||||
for(i = 0; i < screen_count(); ++i)
|
for(i = 0; i < screen_count(); ++i)
|
||||||
arrange(i);
|
arrange(i, True);
|
||||||
|
|
||||||
XFree(w);
|
XFree(w);
|
||||||
|
|
||||||
|
|||||||
@ -268,7 +268,7 @@ void uicb_screen_next(uicb_t);
|
|||||||
void uicb_screen_prev(uicb_t);
|
void uicb_screen_prev(uicb_t);
|
||||||
|
|
||||||
/* layout.c */
|
/* layout.c */
|
||||||
void arrange(int screen);
|
void arrange(int screen, Bool update_layout);
|
||||||
void freelayout(int screen);
|
void freelayout(int screen);
|
||||||
void layoutswitch(Bool b);
|
void layoutswitch(Bool b);
|
||||||
void maxlayout(int screen);
|
void maxlayout(int screen);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user