dmenu

Dmenu fork with patches: numbers, nonblocking_stdin, height, input_text
git clone http://milesalan.com/git/dmenu
Log | Files | Refs | Mirror | README | LICENSE

commit d066975e78d98f368ab0e3106e00804a28697373
parent 26236a4900657e8e6e9c5fcf277b51ca242fa3e8
Author: Connor Lane Smith <cls@lubutu.com>
Date:   Sat, 14 May 2011 22:43:42 +0100

cleanup
Diffstat:
Mdmenu.c | 7++-----
Mdraw.c | 24+++++-------------------
Mdraw.h | 9+++------
3 files changed, 10 insertions(+), 30 deletions(-)

diff --git a/dmenu.c b/dmenu.c @@ -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; } diff --git a/draw.c b/draw.c @@ -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); -} diff --git a/draw.h b/draw.h @@ -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;