added fallback to color initialization

This commit is contained in:
arg@mmvi 2006-09-26 13:37:36 +02:00
parent 5c0d28e4ff
commit 3b590beda2
3 changed files with 9 additions and 7 deletions

View File

@ -43,7 +43,8 @@ extern DC dc; /* global drawing context */
/* draw.c */ /* draw.c */
extern void drawtext(const char *text, extern void drawtext(const char *text,
unsigned long col[ColLast]); /* draws text with the defined color tuple */ 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 void setfont(const char *fontstr); /* sets global font */
extern unsigned int textw(const char *text); /* returns width of text in px */ extern unsigned int textw(const char *text); /* returns width of text in px */

5
draw.c
View File

@ -76,11 +76,12 @@ drawtext(const char *text, unsigned long col[ColLast]) {
} }
unsigned long unsigned long
getcolor(const char *colstr) { getcolor(const char *colstr, const char *alternate) {
Colormap cmap = DefaultColormap(dpy, screen); Colormap cmap = DefaultColormap(dpy, screen);
XColor color; 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; return color.pixel;
} }

8
main.c
View File

@ -341,10 +341,10 @@ main(int argc, char *argv[]) {
maxname = readstdin(); maxname = readstdin();
/* style */ /* style */
dc.sel[ColBG] = getcolor(selbg); dc.norm[ColBG] = getcolor(normbg, NORMBGCOLOR);
dc.sel[ColFG] = getcolor(selfg); dc.norm[ColFG] = getcolor(normfg, NORMFGCOLOR);
dc.norm[ColBG] = getcolor(normbg); dc.sel[ColBG] = getcolor(selbg, SELBGCOLOR);
dc.norm[ColFG] = getcolor(normfg); dc.sel[ColFG] = getcolor(selfg, SELFGCOLOR);
setfont(font); setfont(font);
wa.override_redirect = 1; wa.override_redirect = 1;