When working with fancy terminal emulators (foot, kitty, Ghostty, etc.) over SSH, you may encounter glitches because of missing terminfo on the remote machine.

To fix it, you need to transfer your terminfo.

You can use the infocmp command to do that: https://spiffyk.cz/notes/#general-ssh-terminfo

#terminal #cli #terminfo #ghostty #kitty #foot #ssh

Notes

Oto Šťáva
About Ghostty

Ghostty

@kzimmermann

What does "control chars get printed" mean?

Because it could be two different things with two very different adjustments to make.

If it means control characters actually being printed as glyphs on the screen, taking it at face value, that's a /etc/wscons.conf and screen emulation settings thing; but if it is line editing not working then that's a TERM=netbsd6 and /etc/ttys affair.

#NetBSD #wscons #terminfo

There is a linux-16color terminal type in Dickey #terminfo. It has been there since 2009.

The #Linux KVT does not support more than the standard 8 colours, and some sleight of hand has been employed to get sort-of 16.

Unfortunately, the sleight of hand is broken.

If you've ever set TERM=linux-16colour and wondered at some strange scrolling and redraw artifacts, it is because the "op" capability doesn't undo the sleight of hand used by the setab/setaf capabilities.

#VirtualTerminals

@b0rk Not only have I had this situation, I also have the reverse on my OpenBSD box, where pressing backspace inside tmux sends a control+h (0x08), so to actually backspace I need to type control+backspace (0x7F)

It works fine outside tmux. Gotta get that sorted out at some point. #termcap #terminfo

@bean @chrisvest

Mishandling is a problem to this day. Many people know of ECMA-48. Fewer have read and fully understood ECMA-35, which explains the extensible and general structure of escape and control sequences.

#terminfo #TerminalEmulators

@bean

When it comes to minimum required common functionality, I've found that if one starts from scratch in the 21st century, the capabilities that one has to have in order to flag the useful differences among terminals and terminal emulators have almost no parallels in #terminfo at all.

http://jdebp.uk/Softwares/nosh/guide/commands/TerminalCapabilities.xml#CAPABILITIES

@bean

Of course, there is the O'Reilly book on #termcap and #terminfo, which does have that sort of documentation. But it hasn't been updated since 1992, thus tending to reinforce your point. (-:

@tpope “I want things to work by default instead of work for the twelve people who've studied them in detail and have limitless time to fiddle.”

I’m not sure if @jwz still believes his quip from 1998 (“#Linux is only free if your time has no value” https://www.jwz.org/doc/linux.html), but @bean’s #terminfo rant above seems to confirm it’s still true.

[edit: Of course I’ve now aroused the “well ackchyually” Linux apologist army. I doubt anyone tagged is interested.]

linux

@_bapt_ @mpts @zirias

I did say "with the #terminfo database files".

unibilium uses those database files. I don't remember offhand the other fairly prominent example that I encountered years ago. It was go or rust or something. There are several direct to terminfo database libraries in C#, too. Mono uses one, for starters.

Not only does the world usually expect terminfo nowadays, it even often works directly to the database files, no libterminfo or (n)curses in the picture at all.