bug-ncurses
[Top][All Lists]
Advanced

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

Foot terminfo


From: Daniel Eklöf
Subject: Foot terminfo
Date: Sun, 08 Aug 2021 17:09:21 +0200
User-agent: mu4e 1.6.1; emacs 27.2

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):

 [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.

# 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.

# 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).

#       + 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?

#       + 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”.

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 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



reply via email to

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