Re: [hackers] [st][PATCH] Add Smulx extended terminfo capability

From: Hiltjo Posthuma <hiltjo_AT_codemadness.org>
Date: Fri, 26 Dec 2025 13:00:48 +0100

On Thu, Dec 25, 2025 at 08:58:50AM +0100, suckless_AT_jochen.sprickerhof.de wrote:
> From: Jochen Sprickerhof <git_AT_jochen.sprickerhof.de>
>
> st supports this already, only the terminfo was missing. Test with:
>
> echo -e "\x1b[4:1mThis\x1b[4:2m is\x1b[4:3m a\x1b[4:4m test\x1b[4:5m for\x1b[4:0m underlines"
>
> Needed for underline spelling errors in neovim inside tmux since
>
> https://github.com/tmux/tmux/commit/7499d925da697498b7ee69b0effaa8b5176a50bf
> ---
> st.info | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/st.info b/st.info
> index efab2cf..4e27f7a 100644
> --- a/st.info
> +++ b/st.info
> _AT_@ -177,6 +177,7 @@ st-mono| simpleterm monocolor,
> smkx=\E[?1h\E=,
> smso=\E[7m,
> smul=\E[4m,
> + Smulx=\E[4:%p1%dm,
> tbc=\E[3g,
> tsl=\E]0;,
> xenl,
> --
> 2.51.0
>
>

Hi,

I'm not sure, because st does not support all the options (double underscore,
curly underscore, etc).

It is only a tmux terminfo extension?

In the tmux man page section TERMINFO EXTENSIONS:

       Smulx Set a styled underscore. The single parameter is one of:
               0 for no underscore, 1 for normal underscore, 2 for double
               underscore, 3 for curly underscore, 4 for dotted
               underscore and 5 for dashed underscore.

https://man7.org/linux/man-pages/man1/tmux.1.html#TERMINFO_EXTENSIONS

It seems in tmux you can override it also with the "terminal-overrides"
configuration option?
        https://man.openbsd.org/tmux#terminal-overrides__

        set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'

It is not something I use, so I don't know all the details.

-- 
Kind regards,
Hiltjo
Received on Fri Dec 26 2025 - 13:00:48 CET

This archive was generated by hypermail 2.3.0 : Fri Dec 26 2025 - 13:12:36 CET