JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
added a marker for the flash fullscreen issue
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index f955d44..7cc4ea7 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -632,9 +632,9 @@ configurerequest(XEvent *e) {
                                c->h = ev->height;
                        }
                        if((c->x + c->w) > m->mx + m->mw && c->isfloating)
-                               c->x = m->mx + (m->mw / 2 - c->w / 2); /* center in x direction */
+                               c->x = m->mx + (m->mw / 2 - WIDTH(c) / 2); /* center in x direction */
                        if((c->y + c->h) > m->my + m->mh && c->isfloating)
-                               c->y = m->my + (m->mh / 2 - c->h / 2); /* center in y direction */
+                               c->y = m->my + (m->mh / 2 - HEIGHT(c) / 2); /* center in y direction */
                        if((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight)))
                                configure(c);
                        if(ISVISIBLE(c))
@@ -1127,7 +1127,7 @@ manage(Window w, XWindowAttributes *wa) {
        c->h = c->oldh = wa->height;
        c->oldbw = wa->border_width;
        if(c->w == c->mon->mw && c->h == c->mon->mh) {
-               c->isfloating = True;
+               c->isfloating = True; // regression with flash, XXXX
                c->x = c->mon->mx;
                c->y = c->mon->my;
                c->bw = 0;
@@ -1663,9 +1663,9 @@ tile(Monitor *m) {
        if(--n == 0)
                return;
        /* tile stack */
-       x = (m->wx + mw > c->x + c->w) ? c->x + c->w + 2 * c->bw : m->wx + mw;
+       x = (m->wx > c->x) ? c->x + mw + 2 * c->bw : m->wx + mw;
        y = m->wy;
-       w = (m->wx + mw > c->x + c->w) ? m->wx + m->ww - x : m->ww - mw;
+       w = (m->wx > c->x) ? m->wx + m->ww - x : m->ww - mw;
        h = m->wh / n;
        if(h < bh)
                h = m->wh;