commit 82fa81e90b07e9cc0f92cd5be12b2df132f9b623
Author: Max Schillinger <[email protected]>
Date:   Wed Jun 15 21:19:28 2022 +0200

    [st][patch][color_schemes] update patch for st commit baa9357

diff --git a/st.suckless.org/patches/palettes/index.md 
b/st.suckless.org/patches/palettes/index.md
index 8df6fb58..f8c8f5ac 100644
--- a/st.suckless.org/patches/palettes/index.md
+++ b/st.suckless.org/patches/palettes/index.md
@@ -31,6 +31,7 @@ It uses the following shortcuts :
 Download
 --------
 * [st-color\_schemes-0.8.1.diff](st-color_schemes-0.8.1.diff)
+* 
[st-color\_schemes-20220615-baa9357.diff](st-color_schemes-20220615-baa9357.diff)
 
 
 Authors
diff --git 
a/st.suckless.org/patches/palettes/st-color_schemes-20220615-baa9357.diff 
b/st.suckless.org/patches/palettes/st-color_schemes-20220615-baa9357.diff
new file mode 100644
index 00000000..188fecec
--- /dev/null
+++ b/st.suckless.org/patches/palettes/st-color_schemes-20220615-baa9357.diff
@@ -0,0 +1,169 @@
+From 285c1c63f22bc00771428088c1938b8a0161bd7b Mon Sep 17 00:00:00 2001
+From: Max Schillinger <[email protected]>
+Date: Wed, 15 Jun 2022 21:06:42 +0200
+Subject: [PATCH] color_schemes patch for st commit baa9357
+
+---
+ config.def.h | 57 ++++++++++++++++++++++------------------------------
+ x.c          | 35 +++++++++++++++-----------------
+ 2 files changed, 40 insertions(+), 52 deletions(-)
+
+diff --git a/config.def.h b/config.def.h
+index 91ab8ca..22bdb3c 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -93,46 +93,28 @@ char *termname = "st-256color";
+  */
+ unsigned int tabspaces = 8;
+ 
+-/* Terminal colors (16 first used in escape sequence) */
+-static const char *colorname[] = {
+-      /* 8 normal colors */
+-      "black",
+-      "red3",
+-      "green3",
+-      "yellow3",
+-      "blue2",
+-      "magenta3",
+-      "cyan3",
+-      "gray90",
+-
+-      /* 8 bright colors */
+-      "gray50",
+-      "red",
+-      "green",
+-      "yellow",
+-      "#5c5cff",
+-      "magenta",
+-      "cyan",
+-      "white",
+-
+-      [255] = 0,
+-
+-      /* more colors can be added after 255 to use with DefaultXX */
+-      "#cccccc",
+-      "#555555",
+-      "gray90", /* default foreground colour */
+-      "black", /* default background colour */
++/* Terminal colors (16 used in escape sequence) */
++static const char *palettes[][16] = {
++      {"black", "red3", "green3", "yellow3", "blue2", "magenta3", "cyan3", 
"gray90",
++       "gray50", "red", "green", "yellow", "#5c5cff", "magenta", "cyan", 
"white"},
++      {"#223", "#900", "#080", "#fe7", "#35e", "#fc5", "#18e", "#aaa",
++       "#666", "#f25", "#0b0", "#ff6", "#46f", "#d6a", "#6bf", "#ddd"},
++      {"#eaeaea", "#b7141f", "#457b24", "#fc7b08", "#134eb2", "#560088", 
"#0e717c", "#777777",
++       "#424242", "#e83b3f", "#7aba3a", "#fd8e09", "#54a4f3", "#aa4dbc", 
"#26bbd1", "#aaaaaa"},
++      {"#20242d", "#b04b57", "#87b379", "#e5c179", "#7d8fa4", "#a47996", 
"#85a7a5", "#b3b8c3",
++       "#000000", "#b04b57", "#87b379", "#e5c179", "#7d8fa4", "#a47996", 
"#85a7a5", "#ffffff"},
+ };
+ 
++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 = 5;
++unsigned int defaultbg = 0;
++unsigned int defaultcs = 5;
++static unsigned int defaultrcs = 5;
+ 
+ /*
+  * Default shape of cursor
+@@ -201,6 +183,15 @@ static Shortcut shortcuts[] = {
+       { TERMMOD,              XK_Y,           selpaste,       {.i =  0} },
+       { ShiftMask,            XK_Insert,      selpaste,       {.i =  0} },
+       { TERMMOD,              XK_Num_Lock,    numlock,        {.i =  0} },
++      { MODKEY|ShiftMask,     XK_F1,          setpalette,     {.i =  0} },
++      { MODKEY|ShiftMask,     XK_F2,          setpalette,     {.i =  1} },
++      { MODKEY|ShiftMask,     XK_F3,          setpalette,     {.i =  2} },
++      { MODKEY|ShiftMask,     XK_F4,          setpalette,     {.i =  3} },
++      { MODKEY|ShiftMask,     XK_F5,          setpalette,     {.i =  4} },
++      { MODKEY|ShiftMask,     XK_F6,          setpalette,     {.i =  5} },
++      { MODKEY|ShiftMask,     XK_F7,          setpalette,     {.i =  6} },
++      { MODKEY|ShiftMask,     XK_F8,          setpalette,     {.i =  7} },
++      { MODKEY|ShiftMask,     XK_F9,          setpalette,     {.i =  8} },
+ };
+ 
+ /*
+diff --git a/x.c b/x.c
+index 2a3bd38..0d77d2a 100644
+--- a/x.c
++++ b/x.c
+@@ -59,6 +59,7 @@ static void zoom(const Arg *);
+ static void zoomabs(const Arg *);
+ static void zoomreset(const Arg *);
+ static void ttysend(const Arg *);
++static void setpalette(const Arg *);
+ 
+ /* config.h for applying patches and the configuration. */
+ #include "config.h"
+@@ -769,24 +770,8 @@ sixd_to_16bit(int x)
+ int
+ xloadcolor(int i, const char *name, Color *ncolor)
+ {
+-      XRenderColor color = { .alpha = 0xffff };
+-
+-      if (!name) {
+-              if (BETWEEN(i, 16, 255)) { /* 256 color */
+-                      if (i < 6*6*6+16) { /* same colors as xterm */
+-                              color.red   = sixd_to_16bit( ((i-16)/36)%6 );
+-                              color.green = sixd_to_16bit( ((i-16)/6) %6 );
+-                              color.blue  = sixd_to_16bit( ((i-16)/1) %6 );
+-                      } else { /* greyscale */
+-                              color.red = 0x0808 + 0x0a0a * (i - (6*6*6+16));
+-                              color.green = color.blue = color.red;
+-                      }
+-                      return XftColorAllocValue(xw.dpy, xw.vis,
+-                                                xw.cmap, &color, ncolor);
+-              } else
+-                      name = colorname[i];
+-      }
+-
++      if (!name)
++              name = colorname[i];
+       return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);
+ }
+ 
+@@ -801,7 +786,7 @@ xloadcols(void)
+               for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp)
+                       XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
+       } else {
+-              dc.collen = MAX(LEN(colorname), 256);
++              dc.collen = 16;
+               dc.col = xmalloc(dc.collen * sizeof(Color));
+       }
+ 
+@@ -2024,6 +2009,16 @@ usage(void)
+           " [stty_args ...]
", argv0, argv0);
+ }
+ 
++void
++setpalette(const Arg *arg)
++{
++      if (arg->i < LEN(palettes)) {
++              colorname = palettes[arg->i];
++              xloadcols();
++              cresize(win.w, win.h);
++      }
++}
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -2076,6 +2071,8 @@ main(int argc, char *argv[])
+       } ARGEND;
+ 
+ run:
++      colorname = palettes[0];
++
+       if (argc > 0) /* eat all remaining arguments */
+               opt_cmd = argv;
+ 
+-- 
+2.36.1
+


Reply via email to