URI: 
       index.md - sites - public wiki contents of suckless.org
  HTML git clone git://git.suckless.org/sites
   DIR Log
   DIR Files
   DIR Refs
       ---
       index.md (4102B)
       ---
            1 launcher-colors
            2 ===============
            3 
            4 Description
            5 -----------
            6 This patch adds colors to the launcher icons which you click to launch programs and commands.
            7 
            8 Usage:
            9 ------
           10 
           11 File config.def.h
           12 
           13 Append new color scheme to the colors array.
           14 Example below.
           15 
           16     static const char *colors[][3]      = {
           17         /*                     fg       bg      border */
           18         [SchemeNorm]       = { gray3,   black,  gray2 },
           19         [SchemeSel]        = { gray4,   blue,   blue  },
           20         [SchemeTitle]      = { white,   black,  black  }, // active window title
           21         [TabSel]           = { blue,    gray2,  black },
           22         [TabNorm]          = { gray3,   black,  black },
           23         [SchemeTag]        = { gray3,   black,  black },
           24         [SchemeTag1]       = { blue,    black,  black },
           25         [SchemeTag2]       = { red,     black,  black },
           26         [SchemeTag3]       = { orange,  black,  black },
           27         [SchemeTag4]       = { green,   black,  black },
           28         [SchemeTag5]       = { pink,    black,  black },
           29         [SchemeLayout]     = { green,   black,  black },
           30         [SchemeBtnPrev]    = { green,   black,  black },
           31         [SchemeBtnNext]    = { yellow,  black,  black },
           32         [SchemeBtnClose]   = { red,     black,  black },
           33         [SchemeColorEW]    = { orange,   black,  black }, // color ewww launcher icon
           34         [SchemeColorFF]    = { yellow,   black,  black }, // color firefox launcher icon
           35         [SchemeColorDS]    = { red,   black,  black }, // color discord launcher icon
           36         [SchemeColorTG]    = { green,   black,  black }, // color telegram launcher icon
           37         [SchemeColorMS]    = { blue,   black,  black }, // color mintstick launcher icon
           38         [SchemeColorPC]    = { pink,   black,  black }, // color pavucontrol launcher icon
           39     };
           40 
           41 The command names defined for the launchers are important since these are used again later.
           42 
           43     static const Launcher launchers[] = {
           44         /* command     name to display */
           45         { eww,         "" },
           46         { firefox,         "" },
           47         { discord,       "ﱲ" },
           48         { telegram,      "" },
           49         { mintstick,     "虜" },
           50         { pavucontrol,   "墳" },
           51     };
           52 
           53 File dwm.c
           54 
           55 Append new color schemes to the enum.
           56 Example below.
           57 
           58     enum {
           59     SchemeNorm,
           60     SchemeSel,
           61     SchemeTitle,
           62     SchemeTag,
           63     SchemeTag1,
           64     SchemeTag2,
           65     SchemeTag3,
           66     SchemeTag4,
           67     SchemeTag5,
           68     SchemeLayout,
           69     TabSel,
           70     TabNorm,
           71     SchemeBtnPrev,
           72     SchemeBtnNext,
           73     SchemeBtnClose,
           74     SchemeColorEW,
           75     SchemeColorFF,
           76     SchemeColorDS,
           77     SchemeColorTG,
           78     SchemeColorMS,
           79     SchemeColorPC
           80     }; /* color schemes */
           81 
           82 File dwm.c
           83 
           84 Navigate to the line where the following is defined:
           85 
           86     w = TEXTW(m->ltsymbol);
           87 
           88 Comment out line
           89     
           90     drw_setscheme(drw, scheme[SchemeLayout]);
           91 
           92 Inside the for loop add if conditions to set the different color schemes for each launcher.
           93 
           94 Example below.
           95 Note. The command name should match the ones defined inside config.def.h
           96 
           97     w = TEXTW(m->ltsymbol);
           98     //drw_setscheme(drw, scheme[SchemeLayout]);
           99     x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0);
          100     
          101     for (i = 0; i < LENGTH(launchers); i++)
          102     {
          103         if (launchers[i].command == eww){
          104             drw_setscheme(drw, scheme[SchemeColorEW]);
          105         }
          106 
          107         if (launchers[i].command == firefox){
          108           drw_setscheme(drw, scheme[SchemeColorFF]);
          109         }
          110 
          111         if (launchers[i].command == discord){
          112           drw_setscheme(drw, scheme[SchemeColorDS]);
          113         }
          114 
          115         if (launchers[i].command == telegram){
          116           drw_setscheme(drw, scheme[SchemeColorTG]);
          117         }
          118 
          119         if (launchers[i].command == mintstick){
          120           drw_setscheme(drw, scheme[SchemeColorMS]);
          121         }
          122 
          123         if (launchers[i].command == pavucontrol){
          124           drw_setscheme(drw, scheme[SchemeColorPC]);
          125         }
          126 
          127         w = TEXTW(launchers[i].name);
          128 
          129 After a rebuild.
          130 
          131 The result will be as shown below.
          132 
          133 https://imgur.com/a/JsqUKiC
          134 
          135 Author
          136 ------
          137 * [fennec](https://debugthis.dev) <xovo6six@gmail.com>
          138 
          139