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.va...@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
> @@ -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

Reply via email to