bug-ncurses
[Top][All Lists]
Advanced

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

Re: Foot terminfo


From: Thomas Dickey
Subject: Re: Foot terminfo
Date: Sun, 8 Aug 2021 20:15:51 -0400
User-agent: Mutt/1.10.1 (2018-07-13)

On Sun, Aug 08, 2021 at 05:09:21PM +0200, Daniel Eklöf via Bug reports for 
ncurses, the GNU implementation of curses wrote:
> Hi,
> 
> I’m the author of foot, for which ncurses recently added terminfo
> definitions. I hope you don’t mind a few comments and questions.
> 
> > # tack:
> > #       bell does not work
> 
> It does, but is disabled by default. I’m not going to bore you with the
> details of how to configure it, but if you wanted it to play a bell sound,
> regardless of whether the window is focused or not, you would add something
> like this (to ~/.config/foot/foot.ini):

If it's disabled, it doesn't belong in the terminal description.

(a terminal description is a collection of features for a particular
configuration, including commonly-used features such as cursor-visibility
that can be altered using -- you guessed it -- the terminal description) 

> 
>  [bell]
>  command=aplay /path/to/soundfile
>  command-focused=yes
> 
> > #       status-line does not work because foot does not set the window
> > title
> 
> It does set the window title property. However, until very recently, it was
> not rendered on CSDs[1]. This was not an issue with SSDs. Regardless, the
> next release of foot will have support for rendering the window title on
> CSDs.

I didn't see it in testing
 
> > #       sends escape when meta key is used, whether or not smm/rmm
> > enabled
> 
> Correct, but note that this is because foot has private mode 1036 enabled by
> default. Assuming it would be a bad idea to include 1036 in smm/rmm, I agree
> that removing km/smm/rmm better reflects foot’s default behavior.

again, disabled by default makes it not part of the terminal description
 
> > # vttest:
> > #       wrap-test fails
> 
> This is because of bw (auto_left_margin). Granted, that does not change the
> fact that wrap-test fails. But it is the _only_ reason it fails.
> 
> > #       supports xterm/DECSCUSR, though default case in vttest does not
> > blink
> > #               Send: <27> [ 0 <32> q
> > #               Text: The cursor should be a blinking rectangle
> 
> This is intentional; CSI 0 q resets the cursor mode to the default (i.e.
> whatever the user has configured in foot.ini).

then you've invented your own default which doesn't match the DEC terminal
 
> > #       + does not report focus-in/focus-out
> 
> This one intrigues me. Just to ensure we’re on the same page - this refers
> to the “CSI I” and “CSI O” reports, sent when the window gains and looses
> keyboard focus? This has been verified to work on Weston, GNOME, KDE, Sway
> and River. Thus I’m curious; what does your test setup look like, and how
> did you test this?

Fedora 34, using vttest
 
> > #       + does not report buttons 6/7
> 
> Implemented just the other day, will be available in the next release.
> 
> >     ich1: '\E[@', NULL.
> 
> Was adding ich1 intentional? terminfo(5) mentions that “technically, you
> should not give both (ich1 and smir/rmir) unless the terminal actually
> requires both to be used in combination”.

ncurses does this (tic's got a warning pointing out that some applications
don't work with that combination, but as I recall it, that's vi from about
30 years ago)
 
> It does go on saying this requirement is now rare, but thought I’d bring it
> up, since the regular xterm-256color does not include both.
> 
> >     ka1: NULL, '\EOw'.
> >     ka3: NULL, '\EOy'.
> >     kb2: NULL, '\EOu'.
> >     kc1: NULL, '\EOq'.
> >     kc3: NULL, '\EOs'.
> >     kent: NULL, '\EOM'.
> >     ka2: NULL, '\EOx'.
> >     kb1: NULL, '\EOt'.
> >     kb3: NULL, '\EOv'.
> >     kc2: NULL, '\EOr'.
> >     kp5: NULL, '\EOE'.
> >     kpADD: NULL, '\EOk'.
> >     kpCMA: NULL, '\EOl'.
> >     kpDIV: NULL, '\EOo'.
> >     kpDOT: NULL, '\EOn'.
> >     kpMUL: NULL, '\EOj'.
> >     kpSUB: NULL, '\EOm'.
> >     kpZRO: NULL, '\EOp'.
> 
> I assume these were removed since private mode 1035 isn’t enabled by
> default? Given that I can’t find _any_ terminfo definitions that includes

right

> 1035, I guess simply removing the keypad key definitions makes sense.
> 
> [1]: not sure how familiar you are with CSDs vs. SSDs on Wayland. Some
> Wayland servers (‘compositors’) require the application to render its
> titlebar by itself (CSD - client side decorations), while others render the
> titlebar _for_ the applications (SSD - server side decorations). Weston and
> GNOME are examples of the first type, while pretty much all others fall into
> the second category.
> 
> -- 
> Daniel
> 

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

Attachment: signature.asc
Description: PGP signature


reply via email to

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