Live data from Hacker News

Foot – A fast, lightweight and minimalistic Wayland terminal emulator

codeberg.org

41–50 of 140 posts

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#41
post #26

As someone who has dabbled in terminal emulation (I was the maintainer of Console Telnet for Win32 twenty years ago), I have respect for someone who takes the time to optimize a terminal emulator by building a fast parser and being careful with screen updates. That used to be the only way to make a graphical program fast, but these days hardware is so fast you can render an entire scene before the next screen refresh…

libvte is a big reason that GNOME Terminal tends to be faster than competing terminal emulators, including xterm and rxvt. One of VTE's tricks is that it doesn't bother painting the screen if the contents are going to be overwritten in the next frame anyway; you can scroll through megabytes of data in fractions of a second this way.

The idea that it's slow, that's new to me.

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#42
Unfortunately there is no support for ligatures. A good programming font like fira or source code pro makes for such a quality of life improvement. At least easier on the eyes.

It seems that many terminal emulators can’t or won’t support them, because they are hard to render properly.

Sticking to wezterm for now.

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#43
post #34

Earlier quoted context omitted.

it makes you sad that different people do things differently from you?

Why wouldn't it? Obviously when you chose a way to do things you also believe it's the best, which is why you chose it.

I don’t think that all my choices are always the best choices for everyone.

Sometimes I don’t even think they’re the best for me, but I try anyway.

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#44
post #41
post #26

As someone who has dabbled in terminal emulation (I was the maintainer of Console Telnet for Win32 twenty years ago), I have respect for someone who takes the time to optimize a terminal emulator by building a fast parser and being careful with screen updates. That used to be the only way to make a graphical program fast, but these days hardware is so fast you can render an entire scene before the next screen refresh…

libvte is a big reason that GNOME Terminal tends to be faster than competing terminal emulators, including xterm and rxvt. One of VTE's tricks is that it doesn't bother painting the screen if the contents are going to be overwritten in the next frame anyway; you can scroll through megabytes of data in fractions of a second this way. The idea that it's slow, that's new to me.

I've heard various things about VTE over the years including:

1. They "like" xterm because i get value out of screen tearing and feeling like they can catch what is scrolling by (even though it's literally seconds slower) 2. They don't like the 40 fps cap it currently has because it predates reliable access to vertical sync information in applications. 3. They are using the GTK 4 port which draws with cairo and uploads surface data on every frame update.

The patches I put together for VTE this week (while having some down time with Covid) address a portion of that by making it render fonts/rectangles/emoji/etc on the GPU using GTK's OpenGL renderer (which I also wrote a large portion of).

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#45
post #26

As someone who has dabbled in terminal emulation (I was the maintainer of Console Telnet for Win32 twenty years ago), I have respect for someone who takes the time to optimize a terminal emulator by building a fast parser and being careful with screen updates. That used to be the only way to make a graphical program fast, but these days hardware is so fast you can render an entire scene before the next screen refresh…

I don't think I've ever encountered a problem where terminal emulation would be too slow. What I do have encountered are terminal emulators that go bonkers and require some arcane configuration magic to figure out what to emulate. GNOME terminal works and looks pleasant to boot. In fact it works so well that I almost never think of it although I use it all the time.

> I don't think I've ever encountered a problem where terminal emulation would be too slow.

You don't notice it until you get into a situation where the terminal (emulator) insists on showing you everything flying by, instead of just skipping to the end, in which situation you may be waiting a really long time. Some emulators also cannot deal with, say, 1 million lines of scrollback and searching.

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#46
post #35

Earlier quoted context omitted.

Kids today will never know the awesomeness and terribleness of Swatch Internet Time. I remember when they gave a bunch of money to CNN and for a brief period the time listed on articles was Swatch Internet Time. Late 90s and early 2000s were strange.

I wish we had remote meetings, even annoucements, and other such stuff still noted in an "internet time" like that.

What’s wrong with UTC?

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#47
post #45

Earlier quoted context omitted.

I don't think I've ever encountered a problem where terminal emulation would be too slow. What I do have encountered are terminal emulators that go bonkers and require some arcane configuration magic to figure out what to emulate. GNOME terminal works and looks pleasant to boot. In fact it works so well that I almost never think of it although I use it all the time.

> I don't think I've ever encountered a problem where terminal emulation would be too slow. You don't notice it until you get into a situation where the terminal (emulator) insists on showing you everything flying by, instead of just skipping to the end, in which situation you may be waiting a really long time. Some emulators also cannot deal with, say, 1 million lines of scrollback and searching.

That I've encountered a few times but tail or less deals with it fine.

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#48

I'd love to use Wayland all the time, and we are almost there, but just so many quirks everywhere (especially with outdated Electron apps).

It really is nice once managed - it's hard to explain, but everything is very smooth . I would guess the display synchronization/mixed refresh rate support is to thank. Some Electron-based things and Steam are the main holdouts I've noticed. I suspect the Electron things at-large will be sorted out before Steam... they simply need to rebase while Valve has to modernize their libraries (ie: vgui)

Steam recently underwent a large GUI refresh, vgui has officially been retired.

Re: Foot – A fast, lightweight and minimalistic Wayland terminal emulator

#50
post #26

As someone who has dabbled in terminal emulation (I was the maintainer of Console Telnet for Win32 twenty years ago), I have respect for someone who takes the time to optimize a terminal emulator by building a fast parser and being careful with screen updates. That used to be the only way to make a graphical program fast, but these days hardware is so fast you can render an entire scene before the next screen refresh…

rxvt used to be my go-to terminal, but it was only fast in the era where we had actual 2D hardware. That era ended, oh, like 15 years ago? Ish? On the AMD side, Radeon GCN 1.0 (think 7970) came out 12 years ago, and that was their first card that entirely removed 2D hardware (which means all 2D ops are handled by optimized shaders; in Linux, that'd be handled by glamor); but wasn't the first gen of AMD that was in the process of removing 2D, and nvidia was about a gen behind every step on that.

Between then and now, I ended up trying every emulator. The libvte ones tended to be slow, buggy, and missing features (although, nowadays, it's sorta cleaned up its act, but not entirely). The terminal community has been able to write three emulators that make for good urxvt replacements: alacritty, wezterm, and kitty.

Foot seems like its trying to join those three, but it's lack of other-OS support (since it's focusing on being, purely, the best possible Wayland terminal) kind of holds it back (unless you're only using Linux, then obviously this doesn't apply to you).

Post reply on HN