add separate colorscheme for marked items, SchemeItemSel is used as a fallback

This commit is contained in:
speedie 2023-05-18 10:23:45 +02:00
parent 255cf3f65a
commit f534250e7a
21 changed files with 83 additions and 3 deletions

View file

@ -17,6 +17,8 @@ spmenu.col_itemnormfg2: #bbbbbb
spmenu.col_itemnormbg2: #222222
spmenu.col_itemselfg: #eeeeee
spmenu.col_itemselbg: #35638A
spmenu.col_itemmarkedfg: #eeeeee
spmenu.col_itemmarkedbg: #35638A
spmenu.col_itemnormprifg: #bbbbbb
spmenu.col_itemnormpribg: #222222
spmenu.col_itemselprifg: #eeeeee
@ -67,6 +69,8 @@ spmenu.alpha_itemnormfg2: 255
spmenu.alpha_itemnormbg2: 200
spmenu.alpha_itemselfg: 255
spmenu.alpha_itemselbg: 200
spmenu.alpha_itemmarkedfg: 255
spmenu.alpha_itemmarkedbg: 200
spmenu.alpha_itemnormprifg: 255
spmenu.alpha_itemnormpribg: 200
spmenu.alpha_itemselprifg: 255

View file

@ -50,6 +50,8 @@ spmenu = {
itemnormbg2 = "#222222"; // Normal next item background color (#RRGGBB)
itemselfg = "#eeeeee"; // Selected item foreground color (#RRGGBB)
itemselbg = "#35638A"; // Selected item background color (#RRGGBB)
itemmarkedfg = "#eeeeee"; // Marked item foreground color (#RRGGBB)
itemmarkedbg = "#35638A"; // Marked item background color (#RRGGBB)
itemnormprifg = "#bbbbbb"; // Normal priority item foreground color (#RRGGBB)
itemnormpribg = "#222222"; // Normal priority item background color (#RRGGBB)
itemselprifg = "#eeeeee"; // Selected priority item foreground color (#RRGGBB)
@ -103,6 +105,8 @@ spmenu = {
itemnormbg2 = 200; // Normal next item background alpha (0-255)
itemselfg = 255; // Selected item foreground alpha (0-255)
itemselbg = 200; // Selected item background alpha (0-255)
itemmarkedfg = 255; // Marked item foreground alpha (0-255)
itemmarkedbg = 200; // Marked item background alpha (0-255)
itemnormprifg = 255; // Normal priority item foreground alpha (0-255)
itemnormpribg = 200; // Normal priority item background alpha (0-255)
itemselprifg = 255; // Selected priority item foreground alpha (0-255)

View file

@ -10,6 +10,7 @@ static unsigned int alphas[][2] = {
[SchemeItemSel] = { 255, 200 },
[SchemeItemNormPri] = { 255, 200 },
[SchemeItemSelPri] = { 255, 200 },
[SchemeItemMarked] = { 255, 200 },
[SchemeMenu] = { 255, 200 },
[SchemeInput] = { 255, 200 },
[SchemePrompt] = { 255, 200 },
@ -32,6 +33,7 @@ static char *colors[][2] = {
[SchemeItemSel] = { col_itemselfg, col_itemselbg },
[SchemeItemNormPri] = { col_itemnormprifg, col_itemnormpribg },
[SchemeItemSelPri] = { col_itemselprifg, col_itemselpribg },
[SchemeItemMarked] = { col_itemmarkedfg, col_itemmarkedbg },
[SchemeInput] = { col_inputfg, col_inputbg, },
[SchemeMenu] = { NULL, col_menu },
[SchemeCaps] = { col_capsfg, col_capsbg },

View file

@ -179,6 +179,12 @@ void conf_init(void) {
config_setting_lookup_int(conf, "itemselfg", &alpha_itemselfg); // spmenu.alpha.itemselfg
config_setting_lookup_int(conf, "itemselbg", &alpha_itemselbg); // spmenu.alpha.itemselbg
if (!config_setting_lookup_int(conf, "itemmarkedfg", &alpha_itemmarkedfg))
config_setting_lookup_int(conf, "itemselfg", &alpha_itemmarkedfg);
if (!config_setting_lookup_int(conf, "itemmarkedbg", &alpha_itemmarkedbg))
config_setting_lookup_int(conf, "itemselbg", &alpha_itemmarkedbg);
config_setting_lookup_int(conf, "itemnormprifg", &alpha_itemnormprifg); // spmenu.alpha.itemnormprifg
config_setting_lookup_int(conf, "itemnormpribg", &alpha_itemnormpribg); // spmenu.alpha.itemnormpribg
config_setting_lookup_int(conf, "itemselprifg", &alpha_itemselprifg); // spmenu.alpha.itemselprifg
@ -247,6 +253,16 @@ void conf_init(void) {
if (config_setting_lookup_string(conf, "itemselbg", &dest))
strcpy(colors[SchemeItemSel][ColBg], strdup(dest));
if (config_setting_lookup_string(conf, "itemmarkedfg", &dest))
strcpy(colors[SchemeItemMarked][ColFg], strdup(dest));
else if (config_setting_lookup_string(conf, "itemselfg", &dest))
strcpy(colors[SchemeItemMarked][ColFg], strdup(dest));
if (config_setting_lookup_string(conf, "itemmarkedbg", &dest))
strcpy(colors[SchemeItemMarked][ColBg], strdup(dest));
else if (config_setting_lookup_string(conf, "itemselbg", &dest))
strcpy(colors[SchemeItemMarked][ColBg], strdup(dest));
// items with priority
if (config_setting_lookup_string(conf, "itemnormprifg", &dest))
strcpy(colors[SchemeItemNormPri][ColFg], strdup(dest));

View file

@ -72,7 +72,7 @@ int drawitemtext(struct item *item, int x, int y, int w) {
}
if (is_selected(item->index)) {
memcpy(scm, scheme[SchemeItemSel], sizeof(scm));
memcpy(scm, scheme[SchemeItemMarked], sizeof(scm));
}
// apply extra padding
@ -166,7 +166,7 @@ int drawitemtext(struct item *item, int x, int y, int w) {
}
if (is_selected(item->index)) {
memcpy(scm, scheme[SchemeItemSel], sizeof(scm));
memcpy(scm, scheme[SchemeItemMarked], sizeof(scm));
}
// don't color

View file

@ -20,6 +20,8 @@ void init_appearance(void) {
alphas[SchemeItemNorm2][ColBg] = alpha_itemnormbg2;
alphas[SchemeItemSel][ColFg] = alpha_itemselfg;
alphas[SchemeItemSel][ColBg] = alpha_itemselbg;
alphas[SchemeItemMarked][ColFg] = alpha_itemmarkedfg;
alphas[SchemeItemMarked][ColBg] = alpha_itemmarkedbg;
alphas[SchemeItemNormPri][ColFg] = alpha_itemnormprifg;
alphas[SchemeItemNormPri][ColBg] = alpha_itemnormpribg;
alphas[SchemeItemSelPri][ColFg] = alpha_itemselprifg;

View file

@ -3,13 +3,15 @@
static void init_appearance(void);
// Color schemes
enum { SchemeLArrow,
enum {
SchemeLArrow,
SchemeRArrow,
SchemeItemNorm1,
SchemeItemNorm2,
SchemeItemSel,
SchemeItemNormPri,
SchemeItemSelPri,
SchemeItemMarked,
SchemeMenu,
SchemeInput,
SchemePrompt,

View file

@ -159,6 +159,12 @@ void theme_load(void) {
config_setting_lookup_int(conf, "itemselfg", &alpha_itemselfg); // theme.alpha.itemselfg
config_setting_lookup_int(conf, "itemselbg", &alpha_itemselbg); // theme.alpha.itemselbg
if (!config_setting_lookup_int(conf, "itemmarkedfg", &alpha_itemmarkedfg))
config_setting_lookup_int(conf, "itemselfg", &alpha_itemmarkedfg);
if (!config_setting_lookup_int(conf, "itemmarkedbg", &alpha_itemmarkedbg))
config_setting_lookup_int(conf, "itemselbg", &alpha_itemmarkedbg);
config_setting_lookup_int(conf, "itemnormprifg", &alpha_itemnormprifg); // theme.alpha.itemnormprifg
config_setting_lookup_int(conf, "itemnormpribg", &alpha_itemnormpribg); // theme.alpha.itemnormpribg
config_setting_lookup_int(conf, "itemselprifg", &alpha_itemselprifg); // theme.alpha.itemselprifg
@ -227,6 +233,16 @@ void theme_load(void) {
if (config_setting_lookup_string(conf, "itemselbg", &dest))
strcpy(colors[SchemeItemSel][ColBg], strdup(dest));
if (config_setting_lookup_string(conf, "itemmarkedfg", &dest))
strcpy(colors[SchemeItemMarked][ColFg], strdup(dest));
else if (config_setting_lookup_string(conf, "itemselfg", &dest))
strcpy(colors[SchemeItemMarked][ColFg], strdup(dest));
if (config_setting_lookup_string(conf, "itemmarkedbg", &dest))
strcpy(colors[SchemeItemMarked][ColBg], strdup(dest));
else if (config_setting_lookup_string(conf, "itemselbg", &dest))
strcpy(colors[SchemeItemMarked][ColBg], strdup(dest));
// items with priority
if (config_setting_lookup_string(conf, "itemnormprifg", &dest))
strcpy(colors[SchemeItemNormPri][ColFg], strdup(dest));

View file

@ -16,6 +16,8 @@ ResourcePref resources[] = {
{ "col_itemnormbg2", STRING, &col_itemnormbg2 },
{ "col_itemselfg", STRING, &col_itemselfg },
{ "col_itemselbg", STRING, &col_itemselbg },
{ "col_itemmarkedfg", STRING, &col_itemmarkedfg },
{ "col_itemmarkedbg", STRING, &col_itemmarkedbg },
{ "col_itemnormprifg", STRING, &col_itemnormprifg },
{ "col_itemnormpribg", STRING, &col_itemnormpribg },
{ "col_itemselprifg", STRING, &col_itemselprifg },
@ -44,6 +46,8 @@ ResourcePref resources[] = {
{ "alpha_itemnormbg2", INTEGER, &alpha_itemnormbg2 },
{ "alpha_itemselfg", INTEGER, &alpha_itemselfg },
{ "alpha_itemselbg", INTEGER, &alpha_itemselbg },
{ "alpha_itemmarkedfg", INTEGER, &alpha_itemmarkedfg },
{ "alpha_itemmarkedbg", INTEGER, &alpha_itemmarkedbg },
{ "alpha_itemnormprifg", INTEGER, &alpha_itemnormprifg },
{ "alpha_itemnormpribg", INTEGER, &alpha_itemnormpribg },
{ "alpha_itemselprifg", INTEGER, &alpha_itemselprifg },
@ -185,6 +189,7 @@ ResourcePref cols[] = {
{ "color0", STRING, &col_larrowbg },
{ "color0", STRING, &col_rarrowbg },
{ "color0", STRING, &col_itemselfg },
{ "color0", STRING, &col_itemmarkedfg },
{ "color0", STRING, &col_itemselprifg },
{ "color0", STRING, &col_inputbg },
{ "color12", STRING, &col_promptbg },
@ -192,6 +197,7 @@ ResourcePref cols[] = {
{ "color7", STRING, &col_capsbg },
{ "color0", STRING, &col_capsfg },
{ "color6", STRING, &col_itemselbg },
{ "color6", STRING, &col_itemmarkedbg },
{ "color6", STRING, &col_itemselpribg },
{ "color6", STRING, &col_border },
{ "color0", STRING, &col_numfg },

View file

@ -117,6 +117,8 @@ static char col_itemnormfg2[] = "#bbbbbb"; /* Normal foreground item co
static char col_itemnormbg2[] = "#222222"; /* Normal background item colors for the next item */
static char col_itemselfg[] = "#eeeeee"; /* Selected foreground item color */
static char col_itemselbg[] = "#35638A"; /* Selected background item color */
static char col_itemmarkedfg[] = "#eeeeee"; /* Marked foreground item color */
static char col_itemmarkedbg[] = "#35638A"; /* Marked background item color */
static char col_itemnormprifg[] = "#bbbbbb"; /* Normal foreground item (high priority) color */
static char col_itemnormpribg[] = "#222222"; /* Normal background item (high priority) color */
static char col_itemselprifg[] = "#eeeeee"; /* Selected foreground item (high priority) color */
@ -191,6 +193,8 @@ static int alpha_itemnormfg2 = 255; /* Alpha for next normal item fore
static int alpha_itemnormbg2 = 200; /* Alpha for next normal item background (0-255) */
static int alpha_itemselfg = 255; /* Alpha for selected item foreground (0-255) */
static int alpha_itemselbg = 200; /* Alpha for selected item background (0-255) */
static int alpha_itemmarkedfg = 255; /* Alpha for marked item foreground (0-255) */
static int alpha_itemmarkedbg = 200; /* Alpha for marked item background (0-255) */
static int alpha_itemnormprifg = 255; /* alpha for normal priority item foreground (0-255) */
static int alpha_itemnormpribg = 200; /* Alpha for normal priority item background (0-255) */
static int alpha_itemselprifg = 255; /* Alpha for selected priority item foreground (0-255) */

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#383c4a";
itemselfg = "#000000";
itemselbg = "#73c5e2";
itemmarkedfg = "#000000";
itemmarkedbg = "#73c5e2";
itemnormprifg = "#d3dae3";
itemnormpribg = "#383c4a";
itemselprifg = "#d3dae3";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#24273a";
itemselfg = "#181926";
itemselbg = "#91d7e3";
itemmarkedfg = "#181926";
itemmarkedbg = "#91d7e3";
itemnormprifg = "#cad3f5";
itemnormpribg = "#24273a";
itemselprifg = "#181926";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#000b1e";
itemselfg = "#000b1e";
itemselbg = "#0abdc6";
itemmarkedfg = "#000b1e";
itemmarkedbg = "#0abdc6";
itemnormprifg = "#0abdc6";
itemnormpribg = "#000b1e";
itemselprifg = "#000b1e";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#282c34";
itemselfg = "#282c34";
itemselbg = "#ff6c6b";
itemmarkedfg = "#282c34";
itemmarkedbg = "#ff6c6b";
itemnormprifg = "#d7d7d7";
itemnormpribg = "#5b6268";
itemselprifg = "#d7d7d7";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#282a36";
itemselfg = "#000000";
itemselbg = "#bd93f9";
itemmarkedfg = "#000000";
itemmarkedbg = "#bd93f9";
itemnormprifg = "#f8f8f2";
itemnormpribg = "#282a36";
itemselprifg = "#000000";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#282828";
itemselfg = "#504945";
itemselbg = "#98971a";
itemmarkedfg = "#504945";
itemmarkedbg = "#98971a";
itemnormprifg = "#fcf1c7";
itemnormpribg = "#504945";
itemselprifg = "#fbf1c7";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#fdf6e3";
itemselfg = "#657b83";
itemselbg = "#dc322f";
itemmarkedfg = "#657b83";
itemmarkedbg = "#dc322f";
itemnormprifg = "#657b83";
itemnormpribg = "#fdf6e3";
itemselprifg = "#657b83";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#2e3440";
itemselfg = "#eceff4";
itemselbg = "#bf616a";
itemmarkedfg = "#eceff4";
itemmarkedbg = "#bf616a";
itemnormprifg = "#eceff4";
itemnormpribg = "#3b4252";
itemselprifg = "#eceff4";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#002b36";
itemselfg = "#eee8d5";
itemselbg = "#dc322f";
itemmarkedfg = "#eee8d5";
itemmarkedbg = "#dc322f";
itemnormprifg = "#eee8d5";
itemnormpribg = "#002b36";
itemselprifg = "#eee8d5";

View file

@ -10,6 +10,8 @@ theme = {
itemnormbg2 = "#1a1b26";
itemselfg = "#32344a";
itemselbg = "#e0af68";
itemmarkedfg = "#32344a";
itemmarkedbg = "#e0af68";
itemnormprifg = "#a9b1d6";
itemnormpribg = "#444B6A";
itemselprifg = "#a9b1d6";

View file

@ -29,6 +29,8 @@ theme = {
itemnormbg2 = "#222222";
itemselfg = "#eeeeee";
itemselbg = "#005577";
itemmarkedfg = "#eeeeee";
itemmarkedbg = "#005577";
itemnormprifg = "#bbbbbb";
itemnormpribg = "#222222";
itemselprifg = "#eeeeee";
@ -80,6 +82,8 @@ theme = {
itemnormbg2 = 255;
itemselfg = 255;
itemselbg = 255;
itemmarkedfg = 255;
itemmarkedbg = 255;
itemnormprifg = 255;
itemnormpribg = 255;
itemselprifg = 255;