diff options
| -rw-r--r-- | dmenu.c | 7 | ||||
| -rw-r--r-- | draw.c | 24 | ||||
| -rw-r--r-- | draw.h | 9 | 
3 files changed, 10 insertions, 30 deletions
| @@ -66,7 +66,6 @@ main(int argc, char *argv[]) {  	Bool fast = False;  	int i; -	progname = "dmenu";  	for(i = 1; i < argc; i++)  		/* single flags */  		if(!strcmp(argv[i], "-v")) { @@ -383,10 +382,9 @@ keypress(XKeyEvent *ev) {  void  match(void) { -	size_t len; +	size_t len = strlen(text);  	Item *item, *lexact, *lprefix, *lsubstr, *exactend, *prefixend, *substrend; -	len = strlen(text);  	matches = lexact = lprefix = lsubstr = matchend = exactend = prefixend = substrend = NULL;  	for(item = items; item && item->text; item++)  		if(!fstrncmp(text, item->text, len + 1)) @@ -424,9 +422,8 @@ match(void) {  size_t  nextrune(int incr) { -	size_t n, len; +	size_t n, len = strlen(text); -	len = strlen(text);  	for(n = cursor + incr; n >= 0 && n < len && (text[n] & 0xc0) == 0x80; n += incr);  	return n;  } @@ -29,10 +29,9 @@ drawrect(DC *dc, int x, int y, unsigned int w, unsigned int h, Bool fill, unsign  void  drawtext(DC *dc, const char *text, unsigned long col[ColLast]) {  	char buf[256]; -	size_t n, mn; +	size_t mn, n = strlen(text);  	/* shorten text if necessary */ -	n = strlen(text);  	for(mn = MIN(n, sizeof buf); textnw(dc, text, mn) > dc->w - dc->font.height/2; mn--)  		if(mn == 0)  			return; @@ -46,10 +45,8 @@ drawtext(DC *dc, const char *text, unsigned long col[ColLast]) {  void  drawtextn(DC *dc, const char *text, size_t n, unsigned long col[ColLast]) { -	int x, y; - -	x = dc->x + dc->font.height/2; -	y = dc->y + dc->font.ascent+1; +	int x = dc->x + dc->font.height/2; +	int y = dc->y + dc->font.ascent+1;  	XSetForeground(dc->dpy, dc->gc, FG(dc, col));  	if(dc->font.set) @@ -64,7 +61,6 @@ void  eprintf(const char *fmt, ...) {  	va_list ap; -	fprintf(stderr, "%s: ", progname);  	va_start(ap, fmt);  	vfprintf(stderr, fmt, ap);  	va_end(ap); @@ -104,7 +100,7 @@ initdc(void) {  	DC *dc;  	if(!setlocale(LC_CTYPE, "") || !XSupportsLocale()) -		weprintf("no locale support\n"); +		fprintf(stderr, "no locale support\n");  	if(!(dc = calloc(1, sizeof *dc)))  		eprintf("cannot malloc %u bytes:", sizeof *dc);  	if(!(dc->dpy = XOpenDisplay(NULL))) @@ -119,7 +115,7 @@ void  initfont(DC *dc, const char *fontstr) {  	if(!loadfont(dc, fontstr ? fontstr : DEFFONT)) {  		if(fontstr != NULL) -			weprintf("cannot load font '%s'\n", fontstr); +			fprintf(stderr, "cannot load font '%s'\n", fontstr);  		if(fontstr == NULL || !loadfont(dc, DEFFONT))  			eprintf("cannot load font '%s'\n", DEFFONT);  	} @@ -184,13 +180,3 @@ int  textw(DC *dc, const char *text) {  	return textnw(dc, text, strlen(text)) + dc->font.height;  } - -void -weprintf(const char *fmt, ...) { -	va_list ap; - -	fprintf(stderr, "%s: ", progname); -	va_start(ap, fmt); -	vfprintf(stderr, fmt, ap); -	va_end(ap); -} @@ -20,18 +20,15 @@ typedef struct {  	} font;  } DC;  /* draw context */ -unsigned long getcolor(DC *dc, const char *colstr);  void drawrect(DC *dc, int x, int y, unsigned int w, unsigned int h, Bool fill, unsigned long color);  void drawtext(DC *dc, const char *text, unsigned long col[ColLast]);  void drawtextn(DC *dc, const char *text, size_t n, unsigned long col[ColLast]); -void initfont(DC *dc, const char *fontstr); +void eprintf(const char *fmt, ...);  void freedc(DC *dc); +unsigned long getcolor(DC *dc, const char *colstr);  DC *initdc(void); +void initfont(DC *dc, const char *fontstr);  void mapdc(DC *dc, Window win, unsigned int w, unsigned int h);  void resizedc(DC *dc, unsigned int w, unsigned int h);  int textnw(DC *dc, const char *text, size_t len);  int textw(DC *dc, const char *text); -void eprintf(const char *fmt, ...); -void weprintf(const char *fmt, ...); - -const char *progname; | 
