dwm-status2d-xrdb-6.2.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       dwm-status2d-xrdb-6.2.diff (3577B)
       ---
            1 From bd7dd6d06e8b8c9dd6b595b2ce5f6e88b9565311 Mon Sep 17 00:00:00 2001
            2 From: tdu <tdukv@protonmail.com>
            3 Date: Wed, 26 Aug 2020 21:26:21 +0300
            4 Subject: [PATCH] Use the 16 terminal colors from xrdb for status2d.
            5 
            6 ^C<num>^ - fg.
            7 ^B<num>^ - bg.
            8 ---
            9  config.def.h | 34 ++++++++++++++++++++++++++++++++++
           10  dwm.c        | 22 ++++++++++++++++++++++
           11  2 files changed, 56 insertions(+)
           12 
           13 diff --git a/config.def.h b/config.def.h
           14 index 5db7d05..46bc6fe 100644
           15 --- a/config.def.h
           16 +++ b/config.def.h
           17 @@ -13,6 +13,40 @@ static char normfgcolor[]           = "#bbbbbb";
           18  static char selfgcolor[]            = "#eeeeee";
           19  static char selbordercolor[]        = "#005577";
           20  static char selbgcolor[]            = "#005577";
           21 +static char termcol0[] = "#000000"; /* black   */
           22 +static char termcol1[] = "#ff0000"; /* red     */
           23 +static char termcol2[] = "#33ff00"; /* green   */
           24 +static char termcol3[] = "#ff0099"; /* yellow  */
           25 +static char termcol4[] = "#0066ff"; /* blue    */
           26 +static char termcol5[] = "#cc00ff"; /* magenta */
           27 +static char termcol6[] = "#00ffff"; /* cyan    */
           28 +static char termcol7[] = "#d0d0d0"; /* white   */
           29 +static char termcol8[]  = "#808080"; /* black   */
           30 +static char termcol9[]  = "#ff0000"; /* red     */
           31 +static char termcol10[] = "#33ff00"; /* green   */
           32 +static char termcol11[] = "#ff0099"; /* yellow  */
           33 +static char termcol12[] = "#0066ff"; /* blue    */
           34 +static char termcol13[] = "#cc00ff"; /* magenta */
           35 +static char termcol14[] = "#00ffff"; /* cyan    */
           36 +static char termcol15[] = "#ffffff"; /* white   */
           37 +static char *termcolor[] = {
           38 +  termcol0,
           39 +  termcol1,
           40 +  termcol2,
           41 +  termcol3,
           42 +  termcol4,
           43 +  termcol5,
           44 +  termcol6,
           45 +  termcol7,
           46 +  termcol8,
           47 +  termcol9,
           48 +  termcol10,
           49 +  termcol11,
           50 +  termcol12,
           51 +  termcol13,
           52 +  termcol14,
           53 +  termcol15,
           54 +};
           55  static char *colors[][3] = {
           56         /*               fg           bg           border   */
           57         [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
           58 diff --git a/dwm.c b/dwm.c
           59 index 87547f0..601dc1d 100644
           60 --- a/dwm.c
           61 +++ b/dwm.c
           62 @@ -784,6 +784,12 @@ drawstatusbar(Monitor *m, int bh, char* stext) {
           63                                          buf[7] = '\0';
           64                                          drw_clr_create(drw, &drw->scheme[ColBg], buf);
           65                                          i += 7;
           66 +                                } else if (text[i] == 'C') {
           67 +                                        int c = atoi(text + ++i);
           68 +                                        drw_clr_create(drw, &drw->scheme[ColFg], termcolor[c]);
           69 +                                } else if (text[i] == 'B') {
           70 +                                        int c = atoi(text + ++i);
           71 +                                        drw_clr_create(drw, &drw->scheme[ColBg], termcolor[c]);
           72                                  } else if (text[i] == 'd') {
           73                                          drw->scheme[ColFg] = scheme[SchemeNorm][ColFg];
           74                                          drw->scheme[ColBg] = scheme[SchemeNorm][ColBg];
           75 @@ -1163,6 +1169,22 @@ loadxrdb()
           76          XRDB_LOAD_COLOR("dwm.selbordercolor", selbordercolor);
           77          XRDB_LOAD_COLOR("dwm.selbgcolor", selbgcolor);
           78          XRDB_LOAD_COLOR("dwm.selfgcolor", selfgcolor);
           79 +        XRDB_LOAD_COLOR("color0",  termcol0);
           80 +        XRDB_LOAD_COLOR("color1",  termcol1);
           81 +        XRDB_LOAD_COLOR("color2",  termcol2);
           82 +        XRDB_LOAD_COLOR("color3",  termcol3);
           83 +        XRDB_LOAD_COLOR("color4",  termcol4);
           84 +        XRDB_LOAD_COLOR("color5",  termcol5);
           85 +        XRDB_LOAD_COLOR("color6",  termcol6);
           86 +        XRDB_LOAD_COLOR("color7",  termcol7);
           87 +        XRDB_LOAD_COLOR("color8",  termcol8);
           88 +        XRDB_LOAD_COLOR("color9",  termcol9);
           89 +        XRDB_LOAD_COLOR("color10", termcol10);
           90 +        XRDB_LOAD_COLOR("color11", termcol11);
           91 +        XRDB_LOAD_COLOR("color12", termcol12);
           92 +        XRDB_LOAD_COLOR("color13", termcol13);
           93 +        XRDB_LOAD_COLOR("color14", termcol14);
           94 +        XRDB_LOAD_COLOR("color15", termcol15);
           95        }
           96      }
           97    }
           98 -- 
           99 2.28.0
          100