On Sun, Jun 04, 2017 at 06:15:10PM +0200, Hiltjo Posthuma wrote:
> On Sun, Jun 04, 2017 at 05:25:36PM +0200, Arkadiusz Hiler wrote:
> > This escape sequence comes from xterm and derivatives and allows
> > terminal to change cursor color.
> >
> > In xterm it supported only #RRGGBB color format, but starting with rxvt
> > it allows to change the color using indexes from the color table.
> >
> > We support only color indexes.
> >
> > Use: echo -ne "\033]12;$COLOR_INDEX\007"
> > Where $COLOR_INDEX is index of color in colorname[]
> > ---
> > st.c | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/st.c b/st.c
> > index 8d4a9f2..1e9b92e 100644
> > --- a/st.c
> > +++ b/st.c
> > _AT_@ -1897,6 +1897,20 @@ strhandle(void)
> > redraw();
> > }
> > return;
> > + case 12:
> > + if (narg == 2)
> > + {
> > + int j = atoi(strescseq.args[1]);
> > +
> > + if (j >= 0 && j < sizeof(colorname))
>
> I've not tested the patch, but I think this line should be:
>
> > + if (j >= 0 && j < sizeof(colorname) / sizeof(*colorname))
Indeed, my bad. Tested it with above change and works well.
> > + {
> > + defaultcs = j;
> > + redraw();
> > + return;
> > + }
> > + }
> > + fprintf(stderr, "erresc: invalid OSC 12 use");
Also added missing \n at the end.
I will send a reply with fixed patch, thanks.
--
Cheers,
Arek
> > + return;
> > }
> > break;
> > case 'k': /* old title set compatibility */
> > --
> > 2.13.0
> >
> >
>
> --
> Kind regards,
> Hiltjo
>
Received on Sun Jun 04 2017 - 18:55:10 CEST