JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
prepared 0.3
[dwm.git] / client.c
index 62d4afc..3b6a0e1 100644 (file)
--- a/client.c
+++ b/client.c
@@ -25,7 +25,11 @@ resizetitle(Client *c)
                c->bw = *c->w + 2;
        c->bx = *c->x + *c->w - c->bw + 2;
        c->by = *c->y;
-       XMoveResizeWindow(dpy, c->title, c->bx, c->by, c->bw, c->bh);
+       if(c->tags[tsel])
+               XMoveResizeWindow(dpy, c->title, c->bx, c->by, c->bw, c->bh);
+       else
+               XMoveResizeWindow(dpy, c->title, c->bx + 2 * sw, c->by, c->bw, c->bh);
+
 }
 
 static int
@@ -201,16 +205,17 @@ manage(Window w, XWindowAttributes *wa)
        c->win = w;
        c->bx = c->fx = c->tx = wa->x;
        c->by = c->fy = c->ty = wa->y;
-       if(c->fy < bh)
-               c->by = c->fy = c->ty += bh;
        c->bw = c->fw = c->tw = wa->width;
        c->fh = c->th = wa->height;
        c->bh = bh;
 
        diff = sw - c->fw;
-       c->fx = sx + (random() % diff ? diff : 1);
-       diff = sh - c->fh;
-       c->fy = sx + (random() % diff ? diff : 1);
+       c->fx = random() % (diff ? diff : 1);
+       diff = sh - c->fh - bh;
+       c->fy = random() % (diff ? diff : 1);
+
+       if(c->fy < bh)
+               c->by = c->fy = c->ty = bh;
 
        c->border = 1;
        c->proto = getproto(c->win);
@@ -257,10 +262,8 @@ manage(Window w, XWindowAttributes *wa)
                focus(c);
        }
        else {
-               ban(c);
                XMapRaised(dpy, c->win);
                XMapRaised(dpy, c->title);
-               XSync(dpy, False);
        }
 }
 
@@ -314,13 +317,15 @@ resize(Client *c, Bool inc, Corner sticky)
                *c->w = c->maxw;
        if(c->maxh && *c->h > c->maxh)
                *c->h = c->maxh;
-       if(sticky == TopRight || sticky == BottomRight)
+       if(sticky == TopRight || sticky == BotRight)
                *c->x = right - *c->w;
-       if(sticky == BottomLeft || sticky == BottomRight)
+       if(sticky == BotLeft || sticky == BotRight)
                *c->y = bottom - *c->h;
+
        resizetitle(c);
        XSetWindowBorderWidth(dpy, c->win, 1);
        XMoveResizeWindow(dpy, c->win, *c->x, *c->y, *c->w, *c->h);
+
        e.type = ConfigureNotify;
        e.event = c->win;
        e.window = c->win;