cosmetic fixes
This commit is contained in:
		
							parent
							
								
									596033b781
								
							
						
					
					
						commit
						a45f106d3c
					
				
							
								
								
									
										4
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								config.h
									
									
									
									
									
								
							| @ -6,5 +6,5 @@ | |||||||
| #define NORMFGCOLOR             "#000000" | #define NORMFGCOLOR             "#000000" | ||||||
| #define SELBGCOLOR              "#0066ff" | #define SELBGCOLOR              "#0066ff" | ||||||
| #define SELFGCOLOR              "#ffffff" | #define SELFGCOLOR              "#ffffff" | ||||||
| /* next macro defines the space between menu items */ | 
 | ||||||
| #define SPACE			30 /* px */ | static uint spaceitem           = 30; /* px between menu items */ | ||||||
|  | |||||||
| @ -20,10 +20,8 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS} | |||||||
| 
 | 
 | ||||||
| # flags
 | # flags
 | ||||||
| CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} | CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} | ||||||
| CFLAGS = -Os ${INCS} ${CPPFLAGS} | CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} | ||||||
| LDFLAGS = -s ${LIBS} | LDFLAGS = -s ${LIBS} | ||||||
| #CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\"
 |  | ||||||
| #LDFLAGS = -g ${LIBS}
 |  | ||||||
| 
 | 
 | ||||||
| # Solaris
 | # Solaris
 | ||||||
| #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
 | #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
 | ||||||
|  | |||||||
							
								
								
									
										130
									
								
								dmenu.c
									
									
									
									
									
								
							
							
						
						
									
										130
									
								
								dmenu.c
									
									
									
									
									
								
							| @ -2,13 +2,14 @@ | |||||||
| #include <ctype.h> | #include <ctype.h> | ||||||
| #include <locale.h> | #include <locale.h> | ||||||
| #include <stdarg.h> | #include <stdarg.h> | ||||||
| #include <stdlib.h> |  | ||||||
| #include <stdio.h> | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  | #include <strings.h> | ||||||
| #include <unistd.h> | #include <unistd.h> | ||||||
|  | #include <X11/keysym.h> | ||||||
| #include <X11/Xlib.h> | #include <X11/Xlib.h> | ||||||
| #include <X11/Xutil.h> | #include <X11/Xutil.h> | ||||||
| #include <X11/keysym.h> |  | ||||||
| #ifdef XINERAMA | #ifdef XINERAMA | ||||||
| #include <X11/extensions/Xinerama.h> | #include <X11/extensions/Xinerama.h> | ||||||
| #endif | #endif | ||||||
| @ -45,55 +46,54 @@ struct Item { | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /* forward declarations */ | /* forward declarations */ | ||||||
| void appenditem(Item *i, Item **list, Item **last); | static void appenditem(Item *i, Item **list, Item **last); | ||||||
| void calcoffsets(void); | static void calcoffsets(void); | ||||||
| char *cistrstr(const char *s, const char *sub); | static char *cistrstr(const char *s, const char *sub); | ||||||
| void cleanup(void); | static void cleanup(void); | ||||||
| void drawmenu(void); | static void drawmenu(void); | ||||||
| void drawtext(const char *text, ulong col[ColLast]); | static void drawtext(const char *text, ulong col[ColLast]); | ||||||
| void *emalloc(uint size); | static void *emalloc(uint size); | ||||||
| void eprint(const char *errstr, ...); | static void eprint(const char *errstr, ...); | ||||||
| char *estrdup(const char *str); | static ulong getcolor(const char *colstr); | ||||||
| ulong getcolor(const char *colstr); | static Bool grabkeyboard(void); | ||||||
| Bool grabkeyboard(void); | static void initfont(const char *fontstr); | ||||||
| void initfont(const char *fontstr); | static void kpress(XKeyEvent * e); | ||||||
| void kpress(XKeyEvent * e); | static void match(char *pattern); | ||||||
| void match(char *pattern); | static void readstdin(void); | ||||||
| void readstdin(void); | static void run(void); | ||||||
| void run(void); | static void setup(Bool topbar); | ||||||
| void setup(Bool topbar); | static int textnw(const char *text, uint len); | ||||||
| uint textnw(const char *text, uint len); | static int textw(const char *text); | ||||||
| uint textw(const char *text); |  | ||||||
| 
 | 
 | ||||||
| #include "config.h" | #include "config.h" | ||||||
| 
 | 
 | ||||||
| /* variables */ | /* variables */ | ||||||
| char *font = FONT; | static char *font = FONT; | ||||||
| char *maxname = NULL; | static char *maxname = NULL; | ||||||
| char *normbg = NORMBGCOLOR; | static char *normbg = NORMBGCOLOR; | ||||||
| char *normfg = NORMFGCOLOR; | static char *normfg = NORMFGCOLOR; | ||||||
| char *prompt = NULL; | static char *prompt = NULL; | ||||||
| char *selbg = SELBGCOLOR; | static char *selbg = SELBGCOLOR; | ||||||
| char *selfg = SELFGCOLOR; | static char *selfg = SELFGCOLOR; | ||||||
| char text[4096]; | static char text[4096]; | ||||||
| int screen; | static int cmdw = 0; | ||||||
| int ret = 0; | static int promptw = 0; | ||||||
| uint cmdw = 0; | static int ret = 0; | ||||||
| uint mw, mh; | static int screen; | ||||||
| uint promptw = 0; | static uint mw, mh; | ||||||
| uint numlockmask = 0; | static uint numlockmask = 0; | ||||||
| Bool running = True; | static Bool running = True; | ||||||
| Display *dpy; | static Display *dpy; | ||||||
| DC dc = {0}; | static DC dc = {0}; | ||||||
| Item *allitems = NULL;	/* first of all items */ | static Item *allitems = NULL;	/* first of all items */ | ||||||
| Item *item = NULL;	/* first of pattern matching items */ | static Item *item = NULL;	/* first of pattern matching items */ | ||||||
| Item *sel = NULL; | static Item *sel = NULL; | ||||||
| Item *next = NULL; | static Item *next = NULL; | ||||||
| Item *prev = NULL; | static Item *prev = NULL; | ||||||
| Item *curr = NULL; | static Item *curr = NULL; | ||||||
| Window root, win; | static Window root, win; | ||||||
| int (*fstrncmp)(const char *, const char *, size_t n) = strncmp; | static int (*fstrncmp)(const char *, const char *, size_t n) = strncmp; | ||||||
| char *(*fstrstr)(const char *, const char *) = strstr; | static char *(*fstrstr)(const char *, const char *) = strstr; | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
| appenditem(Item *i, Item **list, Item **last) { | appenditem(Item *i, Item **list, Item **last) { | ||||||
| @ -108,11 +108,12 @@ appenditem(Item *i, Item **list, Item **last) { | |||||||
| 
 | 
 | ||||||
| void | void | ||||||
| calcoffsets(void) { | calcoffsets(void) { | ||||||
| 	uint tw, w; | 	int tw; | ||||||
|  | 	uint w; | ||||||
| 
 | 
 | ||||||
| 	if(!curr) | 	if(!curr) | ||||||
| 		return; | 		return; | ||||||
| 	w = promptw + cmdw + 2 * SPACE; | 	w = promptw + cmdw + 2 * spaceitem; | ||||||
| 	for(next = curr; next; next=next->right) { | 	for(next = curr; next; next=next->right) { | ||||||
| 		tw = textw(next->text); | 		tw = textw(next->text); | ||||||
| 		if(tw > mw / 3) | 		if(tw > mw / 3) | ||||||
| @ -121,7 +122,7 @@ calcoffsets(void) { | |||||||
| 		if(w > mw) | 		if(w > mw) | ||||||
| 			break; | 			break; | ||||||
| 	} | 	} | ||||||
| 	w = promptw + cmdw + 2 * SPACE; | 	w = promptw + cmdw + 2 * spaceitem; | ||||||
| 	for(prev = curr; prev && prev->left; prev=prev->left) { | 	for(prev = curr; prev && prev->left; prev=prev->left) { | ||||||
| 		tw = textw(prev->left->text); | 		tw = textw(prev->left->text); | ||||||
| 		if(tw > mw / 3) | 		if(tw > mw / 3) | ||||||
| @ -197,7 +198,7 @@ drawmenu(void) { | |||||||
| 	drawtext(text[0] ? text : NULL, dc.norm); | 	drawtext(text[0] ? text : NULL, dc.norm); | ||||||
| 	dc.x += cmdw; | 	dc.x += cmdw; | ||||||
| 	if(curr) { | 	if(curr) { | ||||||
| 		dc.w = SPACE; | 		dc.w = spaceitem; | ||||||
| 		drawtext((curr && curr->left) ? "<" : NULL, dc.norm); | 		drawtext((curr && curr->left) ? "<" : NULL, dc.norm); | ||||||
| 		dc.x += dc.w; | 		dc.x += dc.w; | ||||||
| 		/* determine maximum items */ | 		/* determine maximum items */ | ||||||
| @ -208,8 +209,8 @@ drawmenu(void) { | |||||||
| 			drawtext(i->text, (sel == i) ? dc.sel : dc.norm); | 			drawtext(i->text, (sel == i) ? dc.sel : dc.norm); | ||||||
| 			dc.x += dc.w; | 			dc.x += dc.w; | ||||||
| 		} | 		} | ||||||
| 		dc.x = mw - SPACE; | 		dc.x = mw - spaceitem; | ||||||
| 		dc.w = SPACE; | 		dc.w = spaceitem; | ||||||
| 		drawtext(next ? ">" : NULL, dc.norm); | 		drawtext(next ? ">" : NULL, dc.norm); | ||||||
| 	} | 	} | ||||||
| 	XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, mw, mh, 0, 0); | 	XCopyArea(dpy, dc.drawable, win, dc.gc, 0, 0, mw, mh, 0, 0); | ||||||
| @ -275,15 +276,6 @@ eprint(const char *errstr, ...) { | |||||||
| 	exit(EXIT_FAILURE); | 	exit(EXIT_FAILURE); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| char * |  | ||||||
| estrdup(const char *str) { |  | ||||||
| 	void *res = strdup(str); |  | ||||||
| 
 |  | ||||||
| 	if(!res) |  | ||||||
| 		eprint("fatal: could not malloc() %u bytes\n", strlen(str)); |  | ||||||
| 	return res; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| ulong | ulong | ||||||
| getcolor(const char *colstr) { | getcolor(const char *colstr) { | ||||||
| 	Colormap cmap = DefaultColormap(dpy, screen); | 	Colormap cmap = DefaultColormap(dpy, screen); | ||||||
| @ -358,14 +350,15 @@ kpress(XKeyEvent * e) { | |||||||
| 	len = strlen(text); | 	len = strlen(text); | ||||||
| 	buf[0] = 0; | 	buf[0] = 0; | ||||||
| 	num = XLookupString(e, buf, sizeof buf, &ksym, 0); | 	num = XLookupString(e, buf, sizeof buf, &ksym, 0); | ||||||
| 	if(IsKeypadKey(ksym)) | 	if(IsKeypadKey(ksym)) { | ||||||
| 		if(ksym == XK_KP_Enter) | 		if(ksym == XK_KP_Enter) | ||||||
| 			ksym = XK_Return; | 			ksym = XK_Return; | ||||||
| 		else if(ksym >= XK_KP_0 && ksym <= XK_KP_9) | 		else if(ksym >= XK_KP_0 && ksym <= XK_KP_9) | ||||||
| 			ksym = (ksym - XK_KP_0) + XK_0; | 			ksym = (ksym - XK_KP_0) + XK_0; | ||||||
|  | 	} | ||||||
| 	if(IsFunctionKey(ksym) || IsKeypadKey(ksym) | 	if(IsFunctionKey(ksym) || IsKeypadKey(ksym) | ||||||
| 	|| IsMiscFunctionKey(ksym) || IsPFKey(ksym) | 	   || IsMiscFunctionKey(ksym) || IsPFKey(ksym) | ||||||
| 	|| IsPrivateKeypadKey(ksym)) | 	   || IsPrivateKeypadKey(ksym)) | ||||||
| 		return; | 		return; | ||||||
| 	/* first check if a control mask is omitted */ | 	/* first check if a control mask is omitted */ | ||||||
| 	if(e->state & ControlMask) { | 	if(e->state & ControlMask) { | ||||||
| @ -569,7 +562,8 @@ readstdin(void) { | |||||||
| 		len = strlen(buf); | 		len = strlen(buf); | ||||||
| 		if (buf[len - 1] == '\n') | 		if (buf[len - 1] == '\n') | ||||||
| 			buf[len - 1] = 0; | 			buf[len - 1] = 0; | ||||||
| 		p = estrdup(buf); | 		if(!(p = strdup(buf))) | ||||||
|  | 			eprint("fatal: could not strdup() %u bytes\n", strlen(buf)); | ||||||
| 		if(max < len) { | 		if(max < len) { | ||||||
| 			maxname = p; | 			maxname = p; | ||||||
| 			max = len; | 			max = len; | ||||||
| @ -677,7 +671,7 @@ setup(Bool topbar) { | |||||||
| 	XMapRaised(dpy, win); | 	XMapRaised(dpy, win); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| uint | int | ||||||
| textnw(const char *text, uint len) { | textnw(const char *text, uint len) { | ||||||
| 	XRectangle r; | 	XRectangle r; | ||||||
| 
 | 
 | ||||||
| @ -688,7 +682,7 @@ textnw(const char *text, uint len) { | |||||||
| 	return XTextWidth(dc.font.xfont, text, len); | 	return XTextWidth(dc.font.xfont, text, len); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| uint | int | ||||||
| textw(const char *text) { | textw(const char *text) { | ||||||
| 	return textnw(text, strlen(text)) + dc.font.height; | 	return textnw(text, strlen(text)) + dc.font.height; | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user