individual schemes and variables in color array

This commit is contained in:
speedie 2023-01-23 14:14:41 +01:00
parent f7c4c75d8a
commit e8de732879
6 changed files with 70 additions and 28 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*.out
*.o
spmenu

View file

@ -19,12 +19,12 @@ static const unsigned int alphas[][3] = {
/* Colors */
static const char *colors[SchemeLast][2] = {
/* fg bg */
[SchemeLArrow] = { col_normfgcolor, col_normbgcolor },
[SchemeRArrow] = { col_normfgcolor, col_normbgcolor },
[SchemeItemNorm] = { col_normfgcolor, col_normbgcolor },
[SchemeItemSel] = { col_selfgcolor, col_selbgcolor },
[SchemeMenu] = { NULL, col_normbgcolor },
[SchemePrompt] = { col_selfgcolor, col_selbgcolor },
[SchemeLArrow] = { col_larrowfg, col_larrowbg },
[SchemeRArrow] = { col_rarrowfg, col_rarrowbg },
[SchemeItemNorm] = { col_itemnormfg, col_itemnormbg },
[SchemeItemSel] = { col_itemselfg, col_itemselbg },
[SchemeMenu] = { NULL, col_menubgcolor },
[SchemePrompt] = { col_promptfg, col_promptbg }, /* this one is left */
[SchemeNormHighlight] = { col_normhlfgcolor, col_normhlbgcolor },
[SchemeSelHighlight] = { col_selhlfgcolor, col_selhlbgcolor },
[SchemeCaret] = { col_caretfgcolor, NULL },

View file

@ -1,8 +1,17 @@
spmenu.font: DejaVu Sans Mono 8
spmenu.col_normfgcolor: #bbbbbb
spmenu.col_normbgcolor: #222222
spmenu.col_selfgcolor: #eeeeee
spmenu.col_selbgcolor: #005577
spmenu.col_itemnormfg: #bbbbbb
spmenu.col_itemnormbg: #222222
spmenu.col_itemselfg: #eeeeee
spmenu.col_itemselbg: #005577
spmenu.col_menubgcolor: #222222
spmenu.col_promptfg: #eeeeee
spmenu.col_promptbg: #005577
spmenu.col_larrowfg: #bbbbbb
spmenu.col_rarrowfg: #bbbbbb
spmenu.col_larrowbg: #222222
spmenu.col_rarrowbg: #222222
spmenu.col_numfgcolor: #ffffff
spmenu.col_numbgcolor: #000000
spmenu.col_normhlfgcolor: #ffffff
spmenu.col_normhlbgcolor: #000000
spmenu.col_selhlfgcolor: #ffffff

View file

@ -15,7 +15,7 @@ static int menupaddingh = 0; /* Horizontal padding of bar (in pixels) */
static int minwidth = 500; /* Minimum width */
static int centered = 0; /* Whether or not to center spmenu by default */
static int colorsupport = 0; /* Support 256 colors? Otherwise the default 16 colors will be used. */
static int colorsupport = 1; /* Support 256 colors? Otherwise the default 16 colors will be used. */
/* Window border options */
static int borderwidth = 2; /* Width of the border */
@ -54,14 +54,24 @@ static int hidematchcount = 0; /* Hide match count (0/1) */
/* Color options
*
* Normal foreground colors
*/
static char col_normfgcolor[] = "#bbbbbb"; /* Text color for unselected */
static char col_normbgcolor[] = "#222222"; /* Background color for unselected */
* Item colors */
static char col_itemnormfg[] = "#bbbbbb"; /* Normal foreground item color */
static char col_itemnormbg[] = "#222222"; /* Normal background item color */
static char col_itemselfg[] = "#eeeeee"; /* Selected foreground item color */
static char col_itemselbg[] = "#005577"; /* Selected background item color */
/* Selected foreground colors */
static char col_selfgcolor[] = "#eeeeee"; /* Text color for selected */
static char col_selbgcolor[] = "#005577"; /* Background color for selected */
/* Menu colors */
static char col_menubgcolor[] = "#222222"; /* Menu background color */
/* Prompt colors */
static char col_promptfg[] = "#eeeeee"; /* Prompt foreground color */
static char col_promptbg[] = "#005577"; /* Prompt background color */
/* Arrow colors */
static char col_larrowfg[] = "#bbbbbb"; /* Left arrow color */
static char col_rarrowfg[] = "#bbbbbb"; /* Right arrow color */
static char col_larrowbg[] = "#222222"; /* Left arrow color */
static char col_rarrowbg[] = "#222222"; /* Right arrow color */
/* Normal highlight colors */
static char col_normhlfgcolor[] = "#ffffff"; /* Text highlight color for unselected */

View file

@ -1766,8 +1766,10 @@ usage(void)
"spmenu -shb <color> Set the selected highlight background color\n"
"spmenu -nfg <color> Set the foreground color for the match count\n"
"spmenu -nbg <color> Set the background color for the match count\n"
"spmenu -laf <color> Set the left arrow color\n"
"spmenu -raf <color> Set the left arrow color\n"
"spmenu -laf <color> Set the left arrow foreground color\n"
"spmenu -raf <color> Set the left arrow foreground color\n"
"spmenu -lab <color> Set the left arrow background color\n"
"spmenu -rab <color> Set the left arrow background color\n"
"spmenu -cc <color> Set the caret color\n"
"spmenu -bcb <color> Set the border color\n"
"spmenu -sgr0 Set the SGR 0 color\n"
@ -1964,6 +1966,10 @@ main(int argc, char *argv[])
colors[SchemeLArrow][ColFg] = argv[++i];
} else if (!strcmp(argv[i], "-raf")) { /* right arrow fg */
colors[SchemeRArrow][ColFg] = argv[++i];
} else if (!strcmp(argv[i], "-lab")) { /* left arrow bg */
colors[SchemeLArrow][ColFg] = argv[++i];
} else if (!strcmp(argv[i], "-rab")) { /* right arrow bg */
colors[SchemeRArrow][ColFg] = argv[++i];
} else if (!strcmp(argv[i], "-bcb")) { /* border */
colors[SchemeBorder][ColBg] = argv[++i];
}

View file

@ -5,10 +5,15 @@
ResourcePref resources[] = {
{ "font", STRING, &font },
{ "col_caretfgcolor", STRING, &col_caretfgcolor },
{ "col_normfgcolor", STRING, &col_normfgcolor },
{ "col_normbgcolor", STRING, &col_normbgcolor },
{ "col_selfgcolor", STRING, &col_selfgcolor },
{ "col_selbgcolor", STRING, &col_selbgcolor },
{ "col_larrowfg", STRING, &col_larrowfg },
{ "col_rarrowfg", STRING, &col_rarrowfg },
{ "col_larrowbg", STRING, &col_larrowbg },
{ "col_rarrowbg", STRING, &col_rarrowbg },
{ "col_itemnormfg", STRING, &col_itemnormfg },
{ "col_itemnormbg", STRING, &col_itemnormbg },
{ "col_itemselfg", STRING, &col_itemselfg },
{ "col_itemselbg", STRING, &col_itemselbg },
{ "col_menubgcolor", STRING, &col_menubgcolor },
{ "col_numfgcolor", STRING, &col_numfgcolor },
{ "col_numbgcolor", STRING, &col_numbgcolor },
{ "col_normhlfgcolor", STRING, &col_normhlfgcolor },
@ -16,13 +21,22 @@ ResourcePref resources[] = {
{ "col_selhlfgcolor", STRING, &col_selhlfgcolor },
{ "col_selhlbgcolor", STRING, &col_selhlbgcolor },
{ "col_bordercolor", STRING, &col_bordercolor },
{ "col_promptfg", STRING, &col_promptfg },
{ "col_promptbg", STRING, &col_promptbg },
/* Pywal support */
{ "color10", STRING, &col_caretfgcolor },
{ "color10", STRING, &col_normfgcolor },
{ "color0", STRING, &col_normbgcolor },
{ "color0", STRING, &col_selfgcolor },
{ "color6", STRING, &col_selbgcolor },
{ "color10", STRING, &col_larrowfg },
{ "color10", STRING, &col_rarrowfg },
{ "color10", STRING, &col_itemnormfg },
{ "color0", STRING, &col_itemnormbg },
{ "color0", STRING, &col_menubgcolor },
{ "color0", STRING, &col_larrowbg },
{ "color0", STRING, &col_rarrowbg },
{ "color0", STRING, &col_itemselfg },
{ "color6", STRING, &col_promptbg },
{ "color0", STRING, &col_promptfg },
{ "color6", STRING, &col_itemselbg },
{ "color6", STRING, &col_bordercolor },
{ "color0", STRING, &col_numfgcolor },
{ "color6", STRING, &col_numbgcolor },