about summary refs log tree commit diff
diff options
context:
space:
mode:
authorConnor Lane Smith <cls@lubutu.com>2011-05-15 02:37:49 +0100
committerConnor Lane Smith <cls@lubutu.com>2011-05-15 02:37:49 +0100
commit1654d6cd6269bc784ee99045edd89e4bda24149f (patch)
tree9d440b1133201d2083e99213412f92d094adc516
parentincrement version (diff)
downloaddmenu-1654d6cd6269bc784ee99045edd89e4bda24149f.tar.gz
dmenu-1654d6cd6269bc784ee99045edd89e4bda24149f.tar.bz2
dmenu-1654d6cd6269bc784ee99045edd89e4bda24149f.zip
cleanup
-rw-r--r--Makefile19
-rw-r--r--config.mk6
-rw-r--r--dmenu.14
-rw-r--r--draw.c8
4 files changed, 18 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 60e53d1..5871fa7 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,9 @@
 
 include config.mk
 
+SRC = dmenu.c draw.c
+OBJ = ${SRC:.c=.o}
+
 all: options dmenu
 
 options:
@@ -11,22 +14,24 @@ options:
 	@echo "LDFLAGS  = ${LDFLAGS}"
 	@echo "CC       = ${CC}"
 
-dmenu: dmenu.o draw.o
-	@echo CC -o $@
-	@${CC} -o $@ dmenu.o draw.o ${LDFLAGS}
-
-.c.o: config.mk
+.c.o:
 	@echo CC -c $<
 	@${CC} -c $< ${CFLAGS}
 
+${OBJ}: config.mk
+
+dmenu: ${OBJ}
+	@echo CC -o $@
+	@${CC} -o $@ ${OBJ} ${LDFLAGS}
+
 clean:
 	@echo cleaning
-	@rm -f dmenu dmenu.o draw.o dmenu-${VERSION}.tar.gz
+	@rm -f dmenu ${OBJ} dmenu-${VERSION}.tar.gz
 
 dist: clean
 	@echo creating dist tarball
 	@mkdir -p dmenu-${VERSION}
-	@cp LICENSE Makefile README config.mk dmenu.1 dmenu.c draw.c draw.h dmenu_path dmenu_run dmenu-${VERSION}
+	@cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_path dmenu_run ${SRC} dmenu-${VERSION}
 	@tar -cf dmenu-${VERSION}.tar dmenu-${VERSION}
 	@gzip dmenu-${VERSION}.tar
 	@rm -rf dmenu-${VERSION}
diff --git a/config.mk b/config.mk
index aedd13c..126bd79 100644
--- a/config.mk
+++ b/config.mk
@@ -1,10 +1,6 @@
 # dmenu version
 VERSION = 4.3
 
-# dmenu_path cache (absolute or relative to $HOME)
-CACHE = .dmenu_cache
-
-
 # paths
 PREFIX = /usr/local
 MANPREFIX = ${PREFIX}/share/man
@@ -21,7 +17,7 @@ INCS = -I${X11INC}
 LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS}
 
 # flags
-CPPFLAGS = -D_BSD_SOURCE -DVERSION=\"${VERSION}\" -DCACHE=\"${CACHE}\" ${XINERAMAFLAGS}
+CPPFLAGS = -D_BSD_SOURCE -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
 CFLAGS   = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
 LDFLAGS  = -s ${LIBS}
 
diff --git a/dmenu.1 b/dmenu.1
index 5f138c8..e5aa8cd 100644
--- a/dmenu.1
+++ b/dmenu.1
@@ -31,9 +31,9 @@ dmenu \- dynamic menu
 .B dmenu
 is a dynamic menu for X, originally designed for
 .BR dwm (1).
-It manages huge numbers of user-defined menu items efficiently.
+It manages huge numbers of user\-defined menu items efficiently.
 .P
-dmenu reads a list of newline-separated items from stdin and creates a menu.
+dmenu reads a list of newline\-separated items from stdin and creates a menu.
 When the user selects an item or enters any text and presses Return, their
 choice is printed to stdout and dmenu terminates.
 .P
diff --git a/draw.c b/draw.c
index f9b8957..95ff072 100644
--- a/draw.c
+++ b/draw.c
@@ -25,14 +25,13 @@ drawrect(DC *dc, int x, int y, unsigned int w, unsigned int h, Bool fill, unsign
 	(fill ? XFillRectangles : XDrawRectangles)(dc->dpy, dc->canvas, dc->gc, &r, 1);
 }
 
-
 void
 drawtext(DC *dc, const char *text, unsigned long col[ColLast]) {
-	char buf[256];
+	char buf[BUFSIZ];
 	size_t mn, n = strlen(text);
 
 	/* shorten text if necessary */
-	for(mn = MIN(n, sizeof buf); textnw(dc, text, mn) > dc->w - dc->font.height/2; mn--)
+	for(mn = MIN(n, sizeof buf); textnw(dc, text, mn) + dc->font.height/2 > dc->w; mn--)
 		if(mn == 0)
 			return;
 	memcpy(buf, text, mn);
@@ -157,12 +156,11 @@ void
 resizedc(DC *dc, unsigned int w, unsigned int h) {
 	if(dc->canvas)
 		XFreePixmap(dc->dpy, dc->canvas);
+
 	dc->canvas = XCreatePixmap(dc->dpy, DefaultRootWindow(dc->dpy), w, h,
 	                           DefaultDepth(dc->dpy, DefaultScreen(dc->dpy)));
-	dc->x = dc->y = 0;
 	dc->w = w;
 	dc->h = h;
-	dc->invert = False;
 }
 
 int