some restack fixes, still odd behavior if n>1 on unmanaging clients

This commit is contained in:
Anselm R Garbe 2009-06-23 19:09:30 +01:00
parent fa5ae54bbb
commit 5c4913e983

10
dwm.c
View file

@ -1045,8 +1045,8 @@ manage(Window w, XWindowAttributes *wa) {
c->y = sy + sh - HEIGHT(c); c->y = sy + sh - HEIGHT(c);
c->x = MAX(c->x, sx); c->x = MAX(c->x, sx);
/* only fix client y-offset, if the client center might cover the bar */ /* only fix client y-offset, if the client center might cover the bar */
c->y = MAX(c->y, ((selmon->by == 0) && (c->x + (c->w / 2) >= selmon->wx) c->y = MAX(c->y, ((c->mon->by == 0) && (c->x + (c->w / 2) >= c->mon->wx)
&& (c->x + (c->w / 2) < selmon->wx + selmon->ww)) ? bh : sy); && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : sy);
c->bw = borderpx; c->bw = borderpx;
} }
@ -1271,10 +1271,10 @@ restack(Monitor *m) {
XWindowChanges wc; XWindowChanges wc;
drawbars(); drawbars();
if(!selmon->sel) if(!m->sel)
return; return;
if(m == selmon && (selmon->sel->isfloating || !lt[m->sellt]->arrange)) if(m->sel->isfloating || !lt[m->sellt]->arrange)
XRaiseWindow(dpy, selmon->sel->win); XRaiseWindow(dpy, m->sel->win);
if(lt[m->sellt]->arrange) { if(lt[m->sellt]->arrange) {
wc.stack_mode = Below; wc.stack_mode = Below;
wc.sibling = m->barwin; wc.sibling = m->barwin;