tabbed-colorscheme.diff (2843B) download
1diff --git a/config.def.h b/config.def.h
2index 51bb13d..d84a2ba 100644
3--- a/config.def.h
4+++ b/config.def.h
5@@ -2,12 +2,13 @@
6
7 /* appearance */
8 static const char font[] = "monospace:size=9";
9-static const char* normbgcolor = "#222222";
10-static const char* normfgcolor = "#cccccc";
11-static const char* selbgcolor = "#555555";
12-static const char* selfgcolor = "#ffffff";
13-static const char* urgbgcolor = "#111111";
14-static const char* urgfgcolor = "#cc0000";
15+static const char *colors[][3] = { // dark
16+ /* fg bg border */
17+ [SchemeNorm] = {"#222222", "#222222", 0},
18+ [SchemeSel] = {"#ffffff", "#555555", 0},
19+ [SchemeUrg] = {"#cc0000", "#111111", 0},
20+};
21+
22 static const char before[] = "<";
23 static const char after[] = ">";
24 static const char titletrim[] = "...";
25diff --git a/tabbed.c b/tabbed.c
26index 81be5e4..6a15001 100644
27--- a/tabbed.c
28+++ b/tabbed.c
29@@ -51,6 +51,7 @@
30 enum { ColFG, ColBG, ColLast }; /* color */
31 enum { WMProtocols, WMDelete, WMName, WMState, WMFullscreen,
32 XEmbed, WMSelectTab, WMLast }; /* default atoms */
33+enum { SchemeNorm, SchemeSel, SchemeUrg }; /* schemes */
34
35 typedef union {
36 int i;
37@@ -1037,12 +1038,12 @@ setup(void)
38 wy = dh + wy - wh - 1;
39 }
40
41- dc.norm[ColBG] = getcolor(normbgcolor);
42- dc.norm[ColFG] = getcolor(normfgcolor);
43- dc.sel[ColBG] = getcolor(selbgcolor);
44- dc.sel[ColFG] = getcolor(selfgcolor);
45- dc.urg[ColBG] = getcolor(urgbgcolor);
46- dc.urg[ColFG] = getcolor(urgfgcolor);
47+ dc.norm[ColBG] = getcolor(colors[SchemeNorm][1]);
48+ dc.norm[ColFG] = getcolor(colors[SchemeNorm][0]);
49+ dc.sel[ColBG] = getcolor(colors[SchemeSel][1]);
50+ dc.sel[ColFG] = getcolor(colors[SchemeSel][0]);
51+ dc.urg[ColBG] = getcolor(colors[SchemeUrg][1]);
52+ dc.urg[ColFG] = getcolor(colors[SchemeUrg][0]);
53 dc.drawable = XCreatePixmap(dpy, root, ww, wh,
54 DefaultDepth(dpy, screen));
55 dc.gc = XCreateGC(dpy, root, 0, 0);
56@@ -1307,10 +1308,10 @@ main(int argc, char *argv[])
57 wmname = EARGF(usage());
58 break;
59 case 'O':
60- normfgcolor = EARGF(usage());
61+ colors[SchemeNorm][0] = EARGF(usage());
62 break;
63 case 'o':
64- normbgcolor = EARGF(usage());
65+ colors[SchemeNorm][1] = EARGF(usage());
66 break;
67 case 'p':
68 pstr = EARGF(usage());
69@@ -1328,16 +1329,16 @@ main(int argc, char *argv[])
70 doinitspawn = False;
71 break;
72 case 'T':
73- selfgcolor = EARGF(usage());
74+ colors[SchemeSel][0] = EARGF(usage());
75 break;
76 case 't':
77- selbgcolor = EARGF(usage());
78+ colors[SchemeSel][1] = EARGF(usage());
79 break;
80 case 'U':
81- urgfgcolor = EARGF(usage());
82+ colors[SchemeUrg][0] = EARGF(usage());
83 break;
84 case 'u':
85- urgbgcolor = EARGF(usage());
86+ colors[SchemeUrg][1] = EARGF(usage());
87 break;
88 case 'v':
89 die("tabbed-"VERSION", © 2009-2016 tabbed engineers, "