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:
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;
}