new stuff, fixed several issues

keyboard
Anselm R. Garbe 19 years ago
parent 2e836ecce1
commit b1701adf75
  1. 4
      client.c
  2. 2
      config.mk
  3. 1
      draw.c
  4. 8
      event.c
  5. 5
      util.c
  6. 5
      wm.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;

@ -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}

@ -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);

@ -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:

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

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

Loading…
Cancel
Save