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
