diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4ad8ce4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.out +*.o +spmenu diff --git a/colors.h b/colors.h index 857f27c..8bebaab 100644 --- a/colors.h +++ b/colors.h @@ -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 }, diff --git a/docs/example.Xresources b/docs/example.Xresources index ef8a77d..9a791c8 100644 --- a/docs/example.Xresources +++ b/docs/example.Xresources @@ -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 diff --git a/options.h b/options.h index b5c4018..9ec08fb 100644 --- a/options.h +++ b/options.h @@ -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 */ diff --git a/spmenu.c b/spmenu.c index 5eb6e25..05b79c5 100644 --- a/spmenu.c +++ b/spmenu.c @@ -1766,8 +1766,10 @@ usage(void) "spmenu -shb Set the selected highlight background color\n" "spmenu -nfg Set the foreground color for the match count\n" "spmenu -nbg Set the background color for the match count\n" - "spmenu -laf Set the left arrow color\n" - "spmenu -raf Set the left arrow color\n" + "spmenu -laf Set the left arrow foreground color\n" + "spmenu -raf Set the left arrow foreground color\n" + "spmenu -lab Set the left arrow background color\n" + "spmenu -rab Set the left arrow background color\n" "spmenu -cc Set the caret color\n" "spmenu -bcb 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]; } diff --git a/xresources.h b/xresources.h index b92310b..1c81451 100644 --- a/xresources.h +++ b/xresources.h @@ -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 },