Whoops, just saw this.
The solarized-both patch is more 'intrusive' in that it modifies st.c, while the
dark/light patches only modify config.h. So I could see why someone might want
to keep them separate.

On Sun 07/10/16 08:36PM, [email protected] wrote:
> commit 40ef2a0ff74db19c105a98c7a80b8f64ca93a846
> Author: FRIGN <[email protected]>
> Date:   Sun Jul 10 20:35:40 2016 +0200
> 
>     Rename solarswap patch
>     
>     Maybe also as a TODO it might be cool to merge all three patches
>     into one, i.e. both color schemes and a small flag allowing either
>     light, dark or both to be set (and toggable using F6).
> 
> diff --git a/st.suckless.org/patches/solarized.md 
> b/st.suckless.org/patches/solarized.md
> index d2bbe9f..5b86adb 100644
> --- a/st.suckless.org/patches/solarized.md
> +++ b/st.suckless.org/patches/solarized.md
> @@ -51,9 +51,9 @@ or the dark color scheme:
>   * [st-solarized-dark-0.6.diff](st-solarized-dark-0.6.diff)
>   * 
> [st-solarized-dark-git-20160620-528241a.diff](st-solarized-dark-git-20160620-528241a.diff)
>  
> -*Both (Swap between light/dark with F6)*:
> +*Both (swap between light/dark with F6)*:
>  
> - * [st-solarswap-20160709-528241a.diff](st-solarswap-20160709-528241a.diff)
> + * 
> [st-solarized-both-git-20160709-528241a.diff](st-solarized-both-git-20160710-528241a.diff)
>  
>  
>  Authors
> @@ -61,4 +61,4 @@ Authors
>  
>   * Nils Reuße - [email protected]
>   * Laslo Hunhold - [email protected] (0.5, 0.6, git ports)
> - * Ryan Roden-Corrent - [email protected] (solarswap)
> + * Ryan Roden-Corrent - [email protected] (both)
> diff --git 
> a/st.suckless.org/patches/st-solarized-both-git-20160710-528241a.diff 
> b/st.suckless.org/patches/st-solarized-both-git-20160710-528241a.diff
> new file mode 100644
> index 0000000..b5f0a12
> --- /dev/null
> +++ b/st.suckless.org/patches/st-solarized-both-git-20160710-528241a.diff
> @@ -0,0 +1,189 @@
> +diff --git a/config.def.h b/config.def.h
> +index 9e61010..064f5e9 100644
> +--- a/config.def.h
> ++++ b/config.def.h
> +@@ -69,42 +69,54 @@ static 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",
> ++    /* 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  */
> ++};
> + 
> + /*
> +  * Default colors (colorname index)
> +  * foreground, background, cursor, reverse cursor
> +  */
> +-static unsigned int defaultfg = 7;
> +-static unsigned int defaultbg = 0;
> +-static unsigned int defaultcs = 256;
> +-static unsigned int defaultrcs = 257;
> ++static unsigned int defaultfg = 12;
> ++static unsigned int defaultbg = 8;
> ++static unsigned int defaultcs = 14;
> ++static unsigned int defaultrcs = 15;
> + 
> + /*
> +  * Default shape of cursor
> +@@ -157,6 +169,7 @@ static Shortcut shortcuts[] = {
> +     { MODKEY|ShiftMask,     XK_C,           clipcopy,       {.i =  0} },
> +     { MODKEY|ShiftMask,     XK_V,           clippaste,      {.i =  0} },
> +     { MODKEY,               XK_Num_Lock,    numlock,        {.i =  0} },
> ++    { XK_ANY_MOD,           XK_F6,          swapcolors,     {.i =  0} },
> + };
> + 
> + /*
> +diff --git a/st.c b/st.c
> +index 2594c65..b4a3089 100644
> +--- a/st.c
> ++++ b/st.c
> +@@ -328,6 +328,7 @@ typedef struct {
> + static void clipcopy(const Arg *);
> + static void clippaste(const Arg *);
> + static void numlock(const Arg *);
> ++static void swapcolors(const Arg *);
> + static void selpaste(const Arg *);
> + static void xzoom(const Arg *);
> + static void xzoomabs(const Arg *);
> +@@ -355,7 +356,7 @@ typedef struct {
> + 
> + /* Drawing Context */
> + typedef struct {
> +-    Color col[MAX(LEN(colorname), 256)];
> ++    Color col[MAX(MAX(LEN(colorname), LEN(altcolorname)), 256)];
> +     Font font, bfont, ifont, ibfont;
> +     GC gc;
> + } DC;
> +@@ -533,6 +534,8 @@ static char *opt_name  = NULL;
> + static char *opt_title = NULL;
> + static int oldbutton   = 3; /* button event on startup: 3 = release */
> + 
> ++static int usealtcolors = 0; /* 1 to use alternate palette */
> ++
> + static char *usedfont = NULL;
> + static double usedfontsize = 0;
> + static double defaultfontsize = 0;
> +@@ -3148,6 +3151,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)
> + {
> +@@ -3166,7 +3174,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);
> +@@ -3186,8 +3194,8 @@ xloadcols(void)
> + 
> +     for (i = 0; i < LEN(dc.col); 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);
> +             }
> +@@ -3514,13 +3522,13 @@ xinit(void)
> +     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;
> +@@ -4074,6 +4082,14 @@ numlock(const Arg *dummy)
> +     term.numlock ^= 1;
> + }
> + 
> ++void
> ++swapcolors(const Arg *dummy)
> ++{
> ++    usealtcolors = !usealtcolors;
> ++    xloadcols();
> ++    redraw();
> ++}
> ++
> + char*
> + kmap(KeySym k, uint state)
> + {
> diff --git a/st.suckless.org/patches/st-solarswap-20160709-528241a.diff 
> b/st.suckless.org/patches/st-solarswap-20160709-528241a.diff
> deleted file mode 100644
> index b5f0a12..0000000
> --- a/st.suckless.org/patches/st-solarswap-20160709-528241a.diff
> +++ /dev/null
> @@ -1,189 +0,0 @@
> -diff --git a/config.def.h b/config.def.h
> -index 9e61010..064f5e9 100644
> ---- a/config.def.h
> -+++ b/config.def.h
> -@@ -69,42 +69,54 @@ static 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",
> -+    /* 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  */
> -+};
> - 
> - /*
> -  * Default colors (colorname index)
> -  * foreground, background, cursor, reverse cursor
> -  */
> --static unsigned int defaultfg = 7;
> --static unsigned int defaultbg = 0;
> --static unsigned int defaultcs = 256;
> --static unsigned int defaultrcs = 257;
> -+static unsigned int defaultfg = 12;
> -+static unsigned int defaultbg = 8;
> -+static unsigned int defaultcs = 14;
> -+static unsigned int defaultrcs = 15;
> - 
> - /*
> -  * Default shape of cursor
> -@@ -157,6 +169,7 @@ static Shortcut shortcuts[] = {
> -     { MODKEY|ShiftMask,     XK_C,           clipcopy,       {.i =  0} },
> -     { MODKEY|ShiftMask,     XK_V,           clippaste,      {.i =  0} },
> -     { MODKEY,               XK_Num_Lock,    numlock,        {.i =  0} },
> -+    { XK_ANY_MOD,           XK_F6,          swapcolors,     {.i =  0} },
> - };
> - 
> - /*
> -diff --git a/st.c b/st.c
> -index 2594c65..b4a3089 100644
> ---- a/st.c
> -+++ b/st.c
> -@@ -328,6 +328,7 @@ typedef struct {
> - static void clipcopy(const Arg *);
> - static void clippaste(const Arg *);
> - static void numlock(const Arg *);
> -+static void swapcolors(const Arg *);
> - static void selpaste(const Arg *);
> - static void xzoom(const Arg *);
> - static void xzoomabs(const Arg *);
> -@@ -355,7 +356,7 @@ typedef struct {
> - 
> - /* Drawing Context */
> - typedef struct {
> --    Color col[MAX(LEN(colorname), 256)];
> -+    Color col[MAX(MAX(LEN(colorname), LEN(altcolorname)), 256)];
> -     Font font, bfont, ifont, ibfont;
> -     GC gc;
> - } DC;
> -@@ -533,6 +534,8 @@ static char *opt_name  = NULL;
> - static char *opt_title = NULL;
> - static int oldbutton   = 3; /* button event on startup: 3 = release */
> - 
> -+static int usealtcolors = 0; /* 1 to use alternate palette */
> -+
> - static char *usedfont = NULL;
> - static double usedfontsize = 0;
> - static double defaultfontsize = 0;
> -@@ -3148,6 +3151,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)
> - {
> -@@ -3166,7 +3174,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);
> -@@ -3186,8 +3194,8 @@ xloadcols(void)
> - 
> -     for (i = 0; i < LEN(dc.col); 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);
> -             }
> -@@ -3514,13 +3522,13 @@ xinit(void)
> -     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;
> -@@ -4074,6 +4082,14 @@ numlock(const Arg *dummy)
> -     term.numlock ^= 1;
> - }
> - 
> -+void
> -+swapcolors(const Arg *dummy)
> -+{
> -+    usealtcolors = !usealtcolors;
> -+    xloadcols();
> -+    redraw();
> -+}
> -+
> - char*
> - kmap(KeySym k, uint state)
> - {
> 
> 

Reply via email to