dwm

my fork of dwm
Index Commits Files Refs README LICENSE
commit b1701adf75297747c52e0c3ed2c314cd10129907
parent 2e836ecce1ba0629a6088b739c1092d27fccd72b
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Wed, 12 Jul 2006 17:50:31 +0200

new stuff, fixed several issues

Diffstat:
Mclient.c | 4++--
Mconfig.mk | 2+-
Mdraw.c | 1+
Mevent.c | 8++++----
Mutil.c | 5+++--
Mwm.c | 5++---
6 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/client.c b/client.c
@@ -44,8 +44,8 @@ arrange(void *aux)
     else
         cols = rows;
 
-    gw = (sw - 2 * c->border)  / cols;
-    gh = (sh - bh - 2 * c->border) / rows;
+    gw = (sw - 2)  / cols;
+    gh = (sh - bh - 2) / rows;
 
     for(i = j = 0, c = clients; c; c = c->next) {
         c->x = i * gw;
diff --git a/config.mk b/config.mk
@@ -14,7 +14,7 @@ VERSION = 0.0
 LIBS = -L${PREFIX}/lib -L/usr/lib -lc -lm -L${X11LIB} -lX11
 
 # Linux/BSD
-CFLAGS = -g -Wall -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \
+CFLAGS = -g -Wall -O2 -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \
     -DVERSION=\"${VERSION}\"
 LDFLAGS = -g ${LIBS}
 
diff --git a/draw.c b/draw.c
@@ -39,6 +39,7 @@ draw(Display *dpy, Brush *b, Bool border, const char *text)
     XSetForeground(dpy, b->gc, b->bg);
     XFillRectangles(dpy, b->drawable, b->gc, &r, 1);
 
+    w = 0;
     if(border)
         drawborder(dpy, b);
 
diff --git a/event.c b/event.c
@@ -186,11 +186,11 @@ propertynotify(XEvent *e)
     if(ev->state == PropertyDelete)
         return; /* ignore */
 
-    if(ev->atom == wm_atom[WMProtocols]) {
-        c->proto = win_proto(c->win);
-        return;
-    }
     if((c = getclient(ev->window))) {
+        if(ev->atom == wm_atom[WMProtocols]) {
+            c->proto = win_proto(c->win);
+            return;
+        }
         switch (ev->atom) {
             default: break;
             case XA_WM_TRANSIENT_FOR:
diff --git a/util.c b/util.c
@@ -126,13 +126,14 @@ pipe_spawn(char *buf, unsigned int len, Display *dpy, char *argv[])
         perror(" failed");
     }
     else {
-        n = 0;
+        l = n = 0;
         close(pfd[1]);
-        while(l > n) {
+        while(n < len) {
             if((l = read(pfd[0], buf + n, len - n)) < 1)
                 break;
             n += l;
         }
+        while(l > n);
         close(pfd[0]);
         buf[n < len ? n : len - 1] = 0;
     }
diff --git a/wm.c b/wm.c
@@ -95,13 +95,12 @@ win_property(Window w, Atom a, Atom t, long l, unsigned char **prop)
 int
 win_proto(Window w)
 {
-    Atom *protocols;
+    unsigned char *protocols;
     long res;
     int protos = 0;
     int i;
 
-    res = win_property(w, wm_atom[WMProtocols], XA_ATOM, 20L,
-            ((unsigned char **) &protocols));
+    res = win_property(w, wm_atom[WMProtocols], XA_ATOM, 20L, &protocols);
     if(res <= 0) {
         return protos;
     }