bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: terminfo entry for wezterm doesn't match upstream


From: Thomas Dickey
Subject: Re: terminfo entry for wezterm doesn't match upstream
Date: Sun, 28 Jul 2024 16:55:21 -0400

On Fri, Jul 26, 2024 at 02:58:31PM -0400, Thomas Dickey wrote:
> On Fri, Jul 26, 2024 at 02:35:05AM -0600, Thayne McCombs wrote:
> > $ infocmp -d -A /usr/share/terminfo -B ~/.terminfo wezterm
> > > comparing wezterm to wezterm.
> > >     comparing booleans.
> > >         hs: F:T.
> > >         km: F:T.
> > >         xenl: F:T.
> > >     comparing numbers.
> > >         pairs: 65536, 32767.
> > >     comparing strings.

wezterm doesn't support private mode 12
> > >         cvvis: NULL, '\E[?12;25h'.

> > >         dsl: NULL, '\E]2;\E\\'.
> > >         fsl: NULL, '\E\\'.

These (in wezterm's terminfo) are all errors, because wezterm
does not support the related feature.

> > >         ka1: '\EOw', NULL.
> > >         ka3: '\EOy', NULL.
> > >         kb2: '\EOu', '\EOE'.
> > >         kbeg: '\EOE', NULL.
> > >         kc1: '\EOq', NULL.
> > >         kc3: '\EOs', NULL.

> > >         mgc: '\E[?69l', NULL.
> > >         nel: '\EE', NULL.

ditto
> > >         rmkx: '\E[?1l', '\E[?1l\E>'.

> > >         rmm: NULL, '\E[?1034l'.
> > >         smglp: '\E[?69h\E[%i%p1%ds', NULL.
> > >         smglr: '\E[?69h\E[%i%p1%d;%p2%ds', NULL.
> > >         smgrp: '\E[?69h\E[%i;%p1%ds', NULL.

ditto
> > >         smkx: '\E[?1h', '\E[?1h\E='.

ditto
> > >         smm: NULL, '\E[?1034h'.

> > >         tsl: NULL, '\E]0;'..
> > > 
> > 
> > I'm not sure about the significance of the other fields that differ, but by
> > doing a bisect on the diffs, I discovered that the difference that causes
> > the scrolling bug with neovim windows is caused by the `smglp` and `smgrp`.
> > 
> > So I suspect it should include `smglp@, smgrp@`?
> 
> no - the entire feature for left/right margins should be removed until
> there's a widely-used stable version of wezterm which fully supports
> the feature, so that end users won't be affected.

offhand, that's all of the lines with "69".

It's a feature which is older than wezterm:

# Left/right margins are supported in xterm since patch #279 (2012/05/10)
vt420+lrmm|VT420 left/right margins,
        mgc=\E[?69l, smglp=\E[?69h\E[%i%p1%ds,
        smglr=\E[?69h\E[%i%p1%d;%p2%ds,
        smgrp=\E[?69h\E[%i;%p1%ds,
  
> > It also looks like the upstream wezterm.terminfo uses several "user defined"
> > capabilities. I'm not sure what ncurses policy is on using those, or what,
> > if anything, consumes those.
> 
> it's in the FAQ
> 
> https://invisible-island.net/ncurses/ncurses.faq.html#dbupdate

...but since the wezterm FAQ states that

        What to set the TERM environment variable to.  The default is
        xterm-256color, which should provide a good level of feature support
        without requiring the installation of additional terminfo data.

wezterm's users will find problems.

fwiw, here's my current version of "wezterm" (which omits some more features
which it does not support - ymmv):

wezterm|Wez's Terminal Emulator,
        am, bce, km, mir, msgr, npc, xenl,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n, ech=\E[%p1%dX,
        el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, ind=\n,
        is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^?, kcbt=\E[Z, kend=\EOF,
        op=\E[39;49m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
        rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
        rs1=\Ec\E]104\007, rs2=\E[!p\E[?3;4l\E[4l\E>,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
            %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
        u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
        u9=\E[c, Smol=\E[53m, Smulx=\E[4:%p1%dm,
        xr=\EP>\\|WezTerm\\([1-9][0-9-]+\\)\E\\\\,
        use=ansi+apparrows, use=ansi+csr, use=ansi+cup,
        use=ansi+erase, use=ansi+idc, use=ansi+idl,
        use=ansi+inittabs, use=ansi+local, use=ansi+rca2,
        use=ansi+rep, use=ansi+sgrdim, use=bracketed+paste,
        use=ecma+index, use=ecma+italics, use=ecma+strikeout,
        use=report+version, use=vt220+cvis,
        use=xterm+256color2, use=xterm+alt1049,
        use=xterm+focus, use=xterm+pcc2, use=xterm+pce2,
        use=xterm+pcf2, use=xterm+sl-alt, use=xterm+sm+1006,
        use=xterm+tmux,

-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]