diff options
| -rw-r--r-- | dmenu.h | 3 | ||||
| -rw-r--r-- | draw.c | 5 | ||||
| -rw-r--r-- | main.c | 8 | 
3 files changed, 9 insertions, 7 deletions
@@ -43,7 +43,8 @@ extern DC dc;			/* global drawing context */  /* draw.c */  extern void drawtext(const char *text,  			unsigned long col[ColLast]);	/* draws text with the defined color tuple */ -extern unsigned long getcolor(const char *colstr);	/* returns color of colstr */ +extern unsigned long getcolor( +	const char *colstr, const char *alternate);	/* returns color of colstr */  extern void setfont(const char *fontstr);		/* sets global font */  extern unsigned int textw(const char *text);		/* returns width of text in px */ @@ -76,11 +76,12 @@ drawtext(const char *text, unsigned long col[ColLast]) {  }  unsigned long -getcolor(const char *colstr) { +getcolor(const char *colstr, const char *alternate) {  	Colormap cmap = DefaultColormap(dpy, screen);  	XColor color; -	XAllocNamedColor(dpy, cmap, colstr, &color, &color); +	if(XAllocNamedColor(dpy, cmap, colstr, &color, &color) != Success) +		XAllocNamedColor(dpy, cmap, alternate, &color, &color);  	return color.pixel;  } @@ -341,10 +341,10 @@ main(int argc, char *argv[]) {  	maxname = readstdin();  	/* style */ -	dc.sel[ColBG] = getcolor(selbg); -	dc.sel[ColFG] = getcolor(selfg); -	dc.norm[ColBG] = getcolor(normbg); -	dc.norm[ColFG] = getcolor(normfg); +	dc.norm[ColBG] = getcolor(normbg, NORMBGCOLOR); +	dc.norm[ColFG] = getcolor(normfg, NORMFGCOLOR); +	dc.sel[ColBG] = getcolor(selbg, SELBGCOLOR); +	dc.sel[ColFG] = getcolor(selfg, SELFGCOLOR);  	setfont(font);  	wa.override_redirect = 1;  | 
