--
-- /* 8 bright colors */
-- "gray50",
-- "red",
-- "green",
-- "yellow",
-- "#5c5cff",
-- "magenta",
-- "cyan",
-- "white",
--
-- [255] = 0,
--
-- /* less colors can be added after 255 to use with DefaultXX */
-- "#cccccc",
-- "#555555",
-- "gray90", /* default foreground colour */
-- "black", /* default background colour */
-+ /* solarized dark */
-+ "#073642", /* 0: black */
-+ "#dc322f", /* 1: red */
-+ "#859900", /* 2: green */
-+ "#b58900", /* 3: yellow */
-+ "#268bd2", /* 4: blue */
-+ "#d33682", /* 5: magenta */
-+ "#2aa198", /* 6: cyan */
-+ "#eee8d5", /* 7: white */
-+ "#002b36", /* 8: brblack */
-+ "#cb4b16", /* 9: brred */
-+ "#586e75", /* 10: brgreen */
-+ "#657b83", /* 11: bryellow */
-+ "#839496", /* 12: brblue */
-+ "#6c71c4", /* 13: brmagenta*/
-+ "#93a1a1", /* 14: brcyan */
-+ "#fdf6e3", /* 15: brwhite */
-+};
-+
-+/* Terminal colors for alternate (light) palette */
-+static const char *altcolorname[] = {
-+ /* solarized light */
-+ "#eee8d5", /* 0: black */
-+ "#dc322f", /* 1: red */
-+ "#859900", /* 2: green */
-+ "#b58900", /* 3: yellow */
-+ "#268bd2", /* 4: blue */
-+ "#d33682", /* 5: magenta */
-+ "#2aa198", /* 6: cyan */
-+ "#073642", /* 7: white */
-+ "#fdf6e3", /* 8: brblack */
-+ "#cb4b16", /* 9: brred */
-+ "#93a1a1", /* 10: brgreen */
-+ "#839496", /* 11: bryellow */
-+ "#657b83", /* 12: brblue */
-+ "#6c71c4", /* 13: brmagenta*/
-+ "#586e75", /* 14: brcyan */
-+ "#002b36", /* 15: brwhite */
- };
-
-
-_AT_@ -129,10 +140,10 @@ static const char *colorname[] = {
- * Default colors (colorname index)
- * foreground, background, cursor, reverse cursor
- */
--unsigned int defaultfg = 258;
--unsigned int defaultbg = 259;
--unsigned int defaultcs = 256;
--static unsigned int defaultrcs = 257;
-+unsigned int defaultfg = 12;
-+unsigned int defaultbg = 8;
-+unsigned int defaultcs = 14;
-+static unsigned int defaultrcs = 15;
-
- /*
- * Default shape of cursor
-_AT_@ -201,6 +212,8 @@ static Shortcut shortcuts[] = {
- { TERMMOD, XK_Y, selpaste, {.i = 0} },
- { ShiftMask, XK_Insert, selpaste, {.i = 0} },
- { TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
-+ { XK_ANY_MOD, XK_F6, swapcolors, {.i = 0} },
-+
- };
-
- /*
-diff --dropbox a/st.h b/st.h
-index fd3b0d8..4b4d5ab 100644
---- a/st.h
-+++ b/st.h
-_AT_@ -120,6 +120,7 @@ extern wchar_t *worddelimiters;
- extern int allowaltscreen;
- extern int allowwindowops;
- extern char *termname;
-+extern int usealtcolors;
- extern unsigned int spacetabs;
- extern unsigned int defaultfg;
- extern unsigned int defaultbg;
-diff --dropbox a/x.c b/x.c
-index d73152b..c20077d 100644
---- a/x.c
-+++ b/x.c
-_AT_@ -55,6 +55,7 @@ static void clipcopy(const Arg *);
- static void clippaste(const Arg *);
- static void numlock(const Arg *);
- static void selpaste(const Arg *);
-+static void swapcolors(const Arg *);
- static void zoom(const Arg *);
- static void zoomabs(const Arg *);
- static void zoomreset(const Arg *);
-_AT_@ -254,6 +255,8 @@ static char *opt_title = NULL;
-
- static uint buttons; /* bit field of pressed buttons */
-
-+int usealtcolors = 0; /* 1 to use alternate palette */
-+
- void
- clipcopy(const Arg *dummy)
- {
-_AT_@ -292,6 +295,14 @@ numlock(const Arg *dummy)
- win.mode ^= MODE_NUMLOCK;
- }
-
-+void
-+swapcolors(const Arg *dummy)
-+{
-+ usealtcolors = !usealtcolors;
-+ xloadcols();
-+ redraw();
-+}
-+
- void
- zoom(const Arg *arg)
- {
-_AT_@ -766,6 +777,11 @@ sixd_to_16bit(int x)
- return x == 0 ? 0 : 0x3737 + 0x2828 * x;
- }
-
-+const char* getcolorname(int i)
-+{
-+ return (usealtcolors) ? altcolorname[i] : colorname[i];
-+}
-+
- int
- xloadcolor(int i, const char *name, Color *ncolor)
- {
-_AT_@ -784,7 +800,7 @@ xloadcolor(int i, const char *name, Color *ncolor)
- return XftColorAllocValue(xw.dpy, xw.vis,
- xw.cmap, &color, ncolor);
- } else
-- name = colorname[i];
-+ name = getcolorname(i);
- }
-
- return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);
-_AT_@ -807,8 +823,8 @@ xloadcols(void)
-
- for (i = 0; i < dc.collen; i++)
- if (!xloadcolor(i, NULL, &dc.col[i])) {
-- if (colorname[i])
-- die("could not allocate color '%s'
", colorname[i]);
-+ if (getcolorname(i))
-+ die("could not allocate color '%s'
", getcolorname(i));
- else
- die("could not allocate color %d
", i);
- }
-_AT_@ -1203,13 +1219,15 @@ xinit(int cols, int rows)
- cursor = XCreateFontCursor(xw.dpy, mouseshape);
- XDefineCursor(xw.dpy, xw.win, cursor);
-
-- if (XParseColor(xw.dpy, xw.cmap, colorname[mousefg], &xmousefg) == 0) {
-+ if (XParseColor(xw.dpy, xw.cmap, getcolorname(mousefg), &xmousefg) == 0) {
-+
- xmousefg.red = 0xffff;
- xmousefg.green = 0xffff;
- xmousefg.blue = 0xffff;
- }
-
-- if (XParseColor(xw.dpy, xw.cmap, colorname[mousebg], &xmousebg) == 0) {
-+ if (XParseColor(xw.dpy, xw.cmap, getcolorname(mousebg), &xmousebg) == 0) {
-+
- xmousebg.red = 0x0000;
- xmousebg.green = 0x0000;
- xmousebg.blue = 0x0000;
Received on Sun Apr 19 2026 - 07:11:23 CEST
This archive was generated by hypermail 2.3.0 : Sun Apr 19 2026 - 07:12:53 CEST