---- - config.def.h | 4 ++-- - st.c | 17 ++++++++++++++--- - st.h | 1 + - 3 files changed, 17 insertions(+), 5 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 546edda..7d20fdf 100644 ---- a/config.def.h -+++ b/config.def.h -_AT_@ -118,8 +118,8 @@ static const char *colorname[] = { - */ - unsigned int defaultfg = 7; - unsigned int defaultbg = 0; --static unsigned int defaultcs = 256; --static unsigned int defaultrcs = 257; -+unsigned int defaultcs = 256; -+unsigned int defaultrcs = 257; - - /* - * Default shape of cursor -diff --git a/st.c b/st.c -index 3e48410..ec7970c 100644 ---- a/st.c -+++ b/st.c -_AT_@ -1862,12 +1862,23 @@ strhandle(void) - } - return; - case 4: /* color set */ -- if (narg < 3) -+ case 10: /* foreground set */ -+ case 11: /* background set */ -+ case 12: /* cursor color */ -+ if ((par == 4 && narg < 3) || narg < 2) - break; -- p = strescseq.args[2]; -+ p = strescseq.args[((par == 4) ? 2 : 1)]; - /* FALLTHROUGH */ - case 104: /* color reset, here p = NULL */ -- j = (narg > 1) ? atoi(strescseq.args[1]) : -1; -+ if (par == 10) -+ j = defaultfg; -+ else if (par == 11) -+ j = defaultbg; -+ else if (par == 12) -+ j = defaultcs; -+ else -+ j = (narg > 1) ? atoi(strescseq.args[1]) : -1; -+ - if (xsetcolorname(j, p)) { - if (par == 104 && narg <= 1) - return; /* color reset without parameter */ -diff --git a/st.h b/st.h -index a1928ca..bd79875 100644 ---- a/st.h -+++ b/st.h -_AT_@ -121,3 +121,4 @@ extern char *termname; - extern unsigned int tabspaces; - extern unsigned int defaultfg; - extern unsigned int defaultbg; -+extern unsigned int defaultcs; --- -2.20.1 - diff --git a/st.suckless.org/patches/osc_10_11_12_2/index.md b/st.suckless.org/patches/osc_10_11_12_2/index.md deleted file mode 100644 index 881947cd..00000000 --- a/st.suckless.org/patches/osc_10_11_12_2/index.md +++ /dev/null _AT_@ -1,21 +0,0 @@ -OSC 10, 11, 12 #2 ------------------ - -Description ------------ - -This patch adds support for OSC 10, 11, and 12 in the way they are implemented -in most other terminals (e.g libvte, kitty). Specifically it differs from -osc_10_11_12 in that it treats the background and foreground colors as distinct -from palette colours 01 and 07 in order to facilitate the use of theme setting -scripts like [theme.sh](https://github.com/lemnos/theme.sh) which expect these -colours to be distinct. - - -Download --------- -* [st-osc10-20210106-4ef0cbd.diff](st-osc10-20210106-4ef0cbd.diff) - -Authors -------- -* Raheman Vaiya - <r.vaiya at gmail dot com> diff --git a/st.suckless.org/patches/osc_10_11_12_2/st-osc10-20210106-4ef0cbd.diff b/st.suckless.org/patches/osc_10_11_12_2/st-osc10-20210106-4ef0cbd.diff deleted file mode 100644 index 728c433f..00000000 --- a/st.suckless.org/patches/osc_10_11_12_2/st-osc10-20210106-4ef0cbd.diff +++ /dev/null _AT_@ -1,91 +0,0 @@ -From 9c4b3f40e07dd1d6dd94fa733b7853aff7f4b8fc Mon Sep 17 00:00:00 2001 -From: Raheman Vaiya <r.vaiya_AT_gmail.com> -Date: Sat, 16 Jan 2021 18:18:07 -0500 -Subject: [PATCH] Add proper OSC 10/11 support. - ---- - config.def.h | 9 ++++++--- - st.c | 30 ++++++++++++++++++++++++++++++ - st.h | 1 + - 3 files changed, 37 insertions(+), 3 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 6f05dce..9bb22a5 100644 ---- a/config.def.h -+++ b/config.def.h -_AT_@ -120,6 +120,8 @@ static const char *colorname[] = { - /* more colors can be added after 255 to use with DefaultXX */ - "#cccccc", - "#555555", -+ "black", -+ "gray90", - }; - - -_AT_@ -127,9 +129,10 @@ static const char *colorname[] = { - * Default colors (colorname index) - * foreground, background, cursor, reverse cursor - */ --unsigned int defaultfg = 7; --unsigned int defaultbg = 0; --static unsigned int defaultcs = 256; -+ -+unsigned int defaultbg = 258; -+unsigned int defaultfg = 259; -+unsigned int defaultcs = 256; - static unsigned int defaultrcs = 257; - - /* -diff --git a/st.c b/st.c -index abbbe4b..6a57d89 100644 ---- a/st.c -+++ b/st.c -_AT_@ -1877,6 +1877,36 @@ strhandle(void) - } - } - return; -+ case 10: /* set foreground color */ -+ if (narg < 2) -+ break; -+ -+ p = strescseq.args[1]; -+ if (xsetcolorname(defaultfg, p)) -+ fprintf(stderr, "erresc: invalid foreground color %d ", p); -+ else -+ redraw(); -+ break; -+ case 11: /* set background color */ -+ if (narg < 2) -+ break; -+ -+ p = strescseq.args[1]; -+ if (xsetcolorname(defaultbg, p)) -+ fprintf(stderr, "erresc: invalid background color %d ", p); -+ else -+ redraw(); -+ break; -+ case 12: /* set cursor color */ -+ if (narg < 2) -+ break; -+ -+ p = strescseq.args[1]; -+ if (xsetcolorname(defaultcs, p)) -+ fprintf(stderr, "erresc: invalid cursor color %d ", p); -+ else -+ redraw(); -+ break; - case 4: /* color set */ - if (narg < 3) - break; -diff --git a/st.h b/st.h -index 3d351b6..054366d 100644 ---- a/st.h -+++ b/st.h -_AT_@ -123,3 +123,4 @@ extern char *termname; - extern unsigned int tabspaces; - extern unsigned int defaultfg; - extern unsigned int defaultbg; -+extern unsigned int defaultcs; --- -2.20.1 -Received on Fri Mar 04 2022 - 15:45:30 CET
This archive was generated by hypermail 2.3.0 : Fri Mar 04 2022 - 15:48:52 CET