Re: [hackers] [st][patch] Implements OSC 11/12 for setting foreground/background colours

From: Raheman Vaiya <r.vaiya_AT_gmail.com>
Date: Sun, 10 Jan 2021 16:41:45 -0500

Oops, it looks like I attached the wrong patch. The updated one
should be attached to this email.

Regards,
Raheman

On Sun, Jan 10, 2021 at 4:09 PM Raheman Vaiya <r.vaiya_AT_gmail.com> wrote:
>
> > 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 <hiltjo_AT_codemadness.org> 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 <r.vaiya_AT_gmail.com>
> > > 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
> > > _AT_@ -120,6 +120,8 @@ static const char *colorname[] = {
> > > /* more colors can be added after 255 to use with DefaultXX */
> > > "#cccccc",
> > > "#555555",
> > > + "#000000",
> > > + "#ffffff",
> > > };
> > >
> > >
> > > _AT_@ -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
> > > _AT_@ -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
> >

Received on Sun Jan 10 2021 - 22:41:45 CET

This archive was generated by hypermail 2.3.0 : Sun Jan 10 2021 - 22:48:39 CET