diff --git a/config.h b/config.h index c699cdd..6085580 100644 --- a/config.h +++ b/config.h @@ -88,7 +88,13 @@ static const int alpha = 0xdd; static int whichcolortable = 0; -static char *colornames[3][260] = { +static const char *schemenames[] = { + "Cobalt Neon", + "Highway", + "Grape", +}; + +static char *colorchart[3][260] = { // cobalt neon { "#142631", // 0 diff --git a/st.c b/st.c index 92c35d4..a31527b 100644 --- a/st.c +++ b/st.c @@ -3167,7 +3167,7 @@ sixd_to_16bit(int x) const char* getcolorname(int i) { - return colornames[whichcolortable][i]; + return colorchart[whichcolortable][i]; // return (usealtcolors) ? altcolorname[i] : colorname[i]; } @@ -4034,6 +4034,17 @@ xresettitle(void) xsettitle(opt_title ? opt_title : "st"); } +void xcolor2title(void){ + char *cs; + size_t lencs; + + lencs = (size_t)snprintf(NULL,0,"new color %d",whichcolortable); + cs = malloc(lencs); + sprintf(cs,"colorscheme %s",schemenames[whichcolortable]); + xsettitle(cs); + free(cs); +} + void redraw(void) { @@ -4171,13 +4182,12 @@ numlock(const Arg *dummy) void swapcolors(const Arg *dummy) { -// usealtcolors = !usealtcolors; + usealtcolors = !usealtcolors; whichcolortable = whichcolortable +1; - printf("%d, %d\n",whichcolortable, - sizeof(colornames)/sizeof(colornames[0]) ); - if ( whichcolortable >= sizeof(colornames)/sizeof(colornames[0]) ) { + if ( whichcolortable >= sizeof(colorchart)/sizeof(colorchart[0]) ) { whichcolortable = 0; } + xcolor2title(); xloadcols(); redraw(); }