> Why is the default theme changed to black fg, white bg instead of the default > grey fg, black bg? This change seems unrelated.
Sorry, this was an oversight. I have rectified in the attached patch. I also used the wrong foreground escape sequence which I have adjusted. > Theres a similar patch on the wiki it seems: > https://st.suckless.org/patches/osc_10_11_12/st-osc_10_11_12-20200418-66520e1.diff I was not aware of this patch, but it seems to keep defaultfg and defaultbg set to colours 0 and 7 which is non standard behaviour. It is possible for the background colour to be different from colour 0/7 in most other terminals. I think this is sufficiently standard behaviour to warrant being upstreamed rather than applied as a separate patch. On Sun, Jan 10, 2021 at 3:51 PM Hiltjo Posthuma <[email protected]> wrote: > > On Sun, Jan 10, 2021 at 02:25:38PM -0500, Raheman Vaiya wrote: > > The attached patch adds support for the OSC 11 and OSC 12 escape > > sequences. These are used by many theme scripts (e.g > > https://github.com/lemnos/theme.sh) and implemented by most other > > terminal emulators. This is my first patch to a suckless project. Any > > feedback would be appreciated :). > > > > Hi, > > Some comments inline below. > > > Regards, > > Raheman > > > From 07177328951a563a7407cb1921500791b92f37ec Mon Sep 17 00:00:00 2001 > > From: Raheman Vaiya <[email protected]> > > Date: Sun, 10 Jan 2021 02:49:50 -0500 > > Subject: [PATCH] Implement OSC 11/12 for setting background and foreground > > colours. > > > > --- > > config.def.h | 7 +++++-- > > st.c | 20 ++++++++++++++++++++ > > 2 files changed, 25 insertions(+), 2 deletions(-) > > > > diff --git a/config.def.h b/config.def.h > > index 6f05dce..fcdc6db 100644 > > --- a/config.def.h > > +++ b/config.def.h > > @@ -120,6 +120,8 @@ static const char *colorname[] = { > > /* more colors can be added after 255 to use with DefaultXX */ > > "#cccccc", > > "#555555", > > + "#000000", > > + "#ffffff", > > }; > > > > > > @@ -127,8 +129,9 @@ static const char *colorname[] = { > > * Default colors (colorname index) > > * foreground, background, cursor, reverse cursor > > */ > > -unsigned int defaultfg = 7; > > -unsigned int defaultbg = 0; > > + > > +unsigned int defaultbg = 258; > > +unsigned int defaultfg = 259; > > static unsigned int defaultcs = 256; > > static unsigned int defaultrcs = 257; > > > > Why is the default theme changed to black fg, white bg instead of the default > grey fg, black bg? This change seems unrelated. > > > diff --git a/st.c b/st.c > > index abbbe4b..c0b8675 100644 > > --- a/st.c > > +++ b/st.c > > @@ -1877,6 +1877,26 @@ strhandle(void) > > } > > } > > return; > > + case 11: /* set background color */ > > + if (narg < 2) > > + break; > > + > > + p = strescseq.args[1]; > > + if (xsetcolorname(defaultbg, p)) > > + fprintf(stderr, "erresc: invalid background > > color %d\n", p); > > + else > > + redraw(); > > + break; > > + case 12: /* set foreground color */ > > + if (narg < 2) > > + break; > > + > > + p = strescseq.args[1]; > > + if (xsetcolorname(defaultfg, p)) > > + fprintf(stderr, "erresc: invalid foreground > > color %d\n", p); > > + else > > + redraw(); > > + break; > > case 4: /* color set */ > > if (narg < 3) > > break; > > -- > > 2.20.1 > > > > > Theres a similar patch on the wiki it seems: > https://st.suckless.org/patches/osc_10_11_12/st-osc_10_11_12-20200418-66520e1.diff > > -- > Kind regards, > Hiltjo >
From 07177328951a563a7407cb1921500791b92f37ec Mon Sep 17 00:00:00 2001 From: Raheman Vaiya <[email protected]> Date: Sun, 10 Jan 2021 02:49:50 -0500 Subject: [PATCH] Implement OSC 11/12 for setting background and foreground colours. --- config.def.h | 7 +++++-- st.c | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index 6f05dce..fcdc6db 100644 --- a/config.def.h +++ b/config.def.h @@ -120,6 +120,8 @@ static const char *colorname[] = { /* more colors can be added after 255 to use with DefaultXX */ "#cccccc", "#555555", + "#000000", + "#ffffff", }; @@ -127,8 +129,9 @@ static const char *colorname[] = { * Default colors (colorname index) * foreground, background, cursor, reverse cursor */ -unsigned int defaultfg = 7; -unsigned int defaultbg = 0; + +unsigned int defaultbg = 258; +unsigned int defaultfg = 259; static unsigned int defaultcs = 256; static unsigned int defaultrcs = 257; diff --git a/st.c b/st.c index abbbe4b..c0b8675 100644 --- a/st.c +++ b/st.c @@ -1877,6 +1877,26 @@ strhandle(void) } } return; + case 11: /* set background color */ + if (narg < 2) + break; + + p = strescseq.args[1]; + if (xsetcolorname(defaultbg, p)) + fprintf(stderr, "erresc: invalid background color %d\n", p); + else + redraw(); + break; + case 12: /* set foreground color */ + if (narg < 2) + break; + + p = strescseq.args[1]; + if (xsetcolorname(defaultfg, p)) + fprintf(stderr, "erresc: invalid foreground color %d\n", p); + else + redraw(); + break; case 4: /* color set */ if (narg < 3) break; -- 2.20.1
