JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
merged my changes
authorAnselm R Garbe <garbeam@gmail.com>
Wed, 27 Aug 2008 14:03:35 +0000 (15:03 +0100)
committerAnselm R Garbe <garbeam@gmail.com>
Wed, 27 Aug 2008 14:03:35 +0000 (15:03 +0100)
1  2 
dwm.c

diff --combined dwm.c
--- 1/dwm.c
--- 2/dwm.c
+++ b/dwm.c
@@@ -53,7 -53,6 +53,7 @@@
  #define MIN(a, b)               ((a) < (b) ? (a) : (b))
  #define MAXTAGLEN               16
  #define MOUSEMASK               (BUTTONMASK|PointerMotionMask)
 +#define NOBORDER(x)             ((x) - 2 * c->bw)
  #define TAGMASK                 ((int)((1LL << LENGTH(tags)) - 1))
  #define TEXTW(x)                (textnw(x, strlen(x)) + dc.font.height)
  
@@@ -61,7 -60,7 +61,7 @@@
  enum { CurNormal, CurResize, CurMove, CurLast };        /* cursor */
  enum { ColBorder, ColFG, ColBG, ColLast };              /* color */
  enum { NetSupported, NetWMName, NetLast };              /* EWMH atoms */
- enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */
+ enum { WMProtocols, WMDelete, WMState, WMLast };        /* default atoms */
  enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
         ClkClientWin, ClkRootWin, ClkLast };             /* clicks */
  
@@@ -228,6 -227,7 +228,6 @@@ static void (*handler[LASTEvent]) (XEve
  static Atom wmatom[WMLast], netatom[NetLast];
  static Bool otherwm;
  static Bool running = True;
 -static unsigned int tagset[] = {1, 1}; /* after start, first tag is selected */
  static Client *clients = NULL;
  static Client *sel = NULL;
  static Client *stack = NULL;
@@@ -880,9 -880,9 +880,9 @@@ manage(Window w, XWindowAttributes *wa
        }
        else {
                if(c->x + c->w + 2 * c->bw > sx + sw)
 -                      c->x = sx + sw - c->w - 2 * c->bw;
 +                      c->x = sx + sw - NOBORDER(c->w);
                if(c->y + c->h + 2 * c->bw > sy + sh)
 -                      c->y = sy + sh - c->h - 2 * c->bw;
 +                      c->y = sy + sh - NOBORDER(c->h);
                c->x = MAX(c->x, sx);
                /* only fix client y-offset, if the client center might cover the bar */
                c->y = MAX(c->y, ((by == 0) && (c->x + (c->w / 2) >= wx) && (c->x + (c->w / 2) < wx + ww)) ? bh : sy);
@@@ -942,7 -942,7 +942,7 @@@ monocle(void) 
        Client *c;
  
        for(c = nexttiled(clients); c; c = nexttiled(c->next))
 -              resize(c, wx, wy, ww - 2 * c->bw, wh - 2 * c->bw, resizehints);
 +              resize(c, wx, wy, NOBORDER(ww), NOBORDER(wh), resizehints);
  }
  
  void
@@@ -979,11 -979,11 +979,11 @@@ movemouse(const Arg *arg) 
                                if(abs(wx - nx) < snap)
                                        nx = wx;
                                else if(abs((wx + ww) - (nx + c->w + 2 * c->bw)) < snap)
 -                                      nx = wx + ww - c->w - 2 * c->bw;
 +                                      nx = wx + ww - NOBORDER(c->w);
                                if(abs(wy - ny) < snap)
                                        ny = wy;
                                else if(abs((wy + wh) - (ny + c->h + 2 * c->bw)) < snap)
 -                                      ny = wy + wh - c->h - 2 * c->bw;
 +                                      ny = wy + wh - NOBORDER(c->h);
                                if(!c->isfloating && lt[sellt]->arrange && (abs(nx - c->x) > snap || abs(ny - c->y) > snap))
                                        togglefloating(NULL);
                        }
@@@ -1091,9 -1091,9 +1091,9 @@@ resize(Client *c, int x, int y, int w, 
        if(w <= 0 || h <= 0)
                return;
        if(x > sx + sw)
 -              x = sw - w - 2 * c->bw;
 +              x = sw - NOBORDER(w);
        if(y > sy + sh)
 -              y = sh - h - 2 * c->bw;
 +              y = sh - NOBORDER(h);
        if(x + w + 2 * c->bw < sx)
                x = sx;
        if(y + h + 2 * c->bw < sy)
@@@ -1141,8 -1141,8 +1141,8 @@@ resizemouse(const Arg *arg) 
                        break;
                case MotionNotify:
                        XSync(dpy, False);
 -                      nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
 -                      nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1);
 +                      nw = MAX(ev.xmotion.x - NOBORDER(ocx) + 1, 1);
 +                      nh = MAX(ev.xmotion.y - NOBORDER(ocy) + 1, 1);
  
                        if(snap && nw >= wx && nw <= wx + ww
                                && nh >= wy && nh <= wy + wh) {
@@@ -1326,7 -1326,6 +1326,6 @@@ setup(void) 
        /* init atoms */
        wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
        wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
-       wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False);
        wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False);
        netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
        netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
@@@ -1430,7 -1429,7 +1429,7 @@@ tile(void) 
        /* master */
        c = nexttiled(clients);
        mw = mfact * ww;
 -      resize(c, wx, wy, (n == 1 ? ww : mw) - 2 * c->bw, wh - 2 * c->bw, resizehints);
 +      resize(c, wx, wy, NOBORDER(n == 1 ? ww : mw), NOBORDER(wh), resizehints);
  
        if(--n == 0)
                return;
                h = wh;
  
        for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) {
 -              resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n)
 -                     ? (wy + wh) - y : h) - 2 * c->bw, resizehints);
 +              resize(c, x, y, NOBORDER(w), /* remainder */ ((i + 1 == n)
 +                     ? NOBORDER(wy + wh) - y : h), resizehints);
                if(h != wh)
                        y = c->y + c->h + 2 * c->bw;
        }
@@@ -1634,7 -1633,7 +1633,7 @@@ updatesizehints(Client *c) 
  void
  updatetitle(Client *c) {
        if(!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name))
-               gettextprop(c->win, wmatom[WMName], c->name, sizeof c->name);
+               gettextprop(c->win, XA_WM_NAME, c->name, sizeof c->name);
  }
  
  void