dwm

Extremely fast, small, and dynamic window manager for X
git clone git://git.janpasierb.com/dwm.git
Log | 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; }