dwm-rainbowtags-6.2.diff - sites - public wiki contents of suckless.org
HTML git clone git://git.suckless.org/sites
DIR Log
DIR Files
DIR Refs
---
dwm-rainbowtags-6.2.diff (1973B)
---
1 diff --git a/config.def.h b/config.def.h
2 index 1c0b587..3fb5cf8 100644
3 --- a/config.def.h
4 +++ b/config.def.h
5 @@ -21,6 +21,18 @@ static const char *colors[][3] = {
6 /* tagging */
7 static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
8
9 +static const char *tagsel[][2] = {
10 + { "#ffffff", "#ff0000" },
11 + { "#ffffff", "#ff7f00" },
12 + { "#000000", "#ffff00" },
13 + { "#000000", "#00ff00" },
14 + { "#ffffff", "#0000ff" },
15 + { "#ffffff", "#4b0082" },
16 + { "#ffffff", "#9400d3" },
17 + { "#000000", "#ffffff" },
18 + { "#ffffff", "#000000" },
19 +};
20 +
21 static const Rule rules[] = {
22 /* xprop(1):
23 * WM_CLASS(STRING) = instance, class
24 diff --git a/dwm.c b/dwm.c
25 index b0b3466..c16d5f5 100644
26 --- a/dwm.c
27 +++ b/dwm.c
28 @@ -264,6 +264,7 @@ static Atom wmatom[WMLast], netatom[NetLast];
29 static int running = 1;
30 static Cur *cursor[CurLast];
31 static Clr **scheme;
32 +static Clr **tagscheme;
33 static Display *dpy;
34 static Drw *drw;
35 static Monitor *mons, *selmon;
36 @@ -717,7 +718,7 @@ drawbar(Monitor *m)
37 x = 0;
38 for (i = 0; i < LENGTH(tags); i++) {
39 w = TEXTW(tags[i]);
40 - drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]);
41 + drw_setscheme(drw, (m->tagset[m->seltags] & 1 << i ? tagscheme[i] : scheme[SchemeNorm]));
42 drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i);
43 if (occ & 1 << i)
44 drw_rect(drw, x + boxs, boxs, boxw, boxw,
45 @@ -1568,9 +1569,14 @@ setup(void)
46 cursor[CurResize] = drw_cur_create(drw, XC_sizing);
47 cursor[CurMove] = drw_cur_create(drw, XC_fleur);
48 /* init appearance */
49 + if (LENGTH(tags) > LENGTH(tagsel))
50 + die("too few color schemes for the tags");
51 scheme = ecalloc(LENGTH(colors), sizeof(Clr *));
52 for (i = 0; i < LENGTH(colors); i++)
53 scheme[i] = drw_scm_create(drw, colors[i], 3);
54 + tagscheme = ecalloc(LENGTH(tagsel), sizeof(Clr *));
55 + for (i = 0; i < LENGTH(tagsel); i++)
56 + tagscheme[i] = drw_scm_create(drw, tagsel[i], 2);
57 /* init bars */
58 updatebars();
59 updatestatus();