I’ll start: After switching to Neovide from the terminal for Neovim, I got really hooked on the animated cursor and smooth scrolling (links to Neovide’s features page). It wasn’t until 2 months ago when the earlier was added to Kitty. I did so much overthinking about which terminal to use, and realized that I wouldn’t (and don’t) use most of the features provided by ones like iTerm and Kitty, though I picked the later. I was pleasantly surprised to see it added, even if it could use more work to make long smooth cursor animations like Neovide. The only other feature I want is smooth scrolling, I can’t believe there are no modern terminals with it.

(Somewhat) Side note: At this point many users realized that Ghostty got over-hyped, here is Mitchell Hashimoto’s (dev of Ghostty) thoughts:

https://mitchellh.com/writing/ghostty-1-0-reflection
Ghostty: Reflecting on Reaching 1.0 – Mitchell Hashimoto

I didn’t anticipate the hype. Some people think I am lying when I say this. I’m not. I’m not so naive to think that private betas and exclusive access don’t generate hype in principle. But I didn’t think many people at all would be interested in a terminal emulator. I thought I was building boring software for a niche audience. No hype! But I was wrong, and the consequences were real. People were frustrated that they couldn’t get in. People felt left out. People felt like I was being fake to generate hype. The waitlist grew larger than I was comfortable allowing in (given my prior stated priorities). I’m sorry about that. All I can say is that I didn’t intend for this to happen. I ramped up beta invites to try to get as many people in as I felt comfortable with (well, a bit beyond that). We ended the beta at around 5,000 users in a Discord of 28,000 at the time. Not quite the percentage of access I wanted for people but more than I could handle.

One more negative aspect of the hype is the expectation of Ghostty being revolutionary. It is and it isn’t. Ghostty has different goals and tradeoffs than other terminals. For those looking for those properties, Ghostty is a breath of fresh air and does things that no other terminal does. But for others, it’s just a terminal. And that’s okay. I hope you find a terminal that works for you and I don’t claim that Ghostty is the end all be all of terminals.

  • tal
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    4 days ago

    The only other feature I want is smooth scrolling, I can’t believe there are no modern terminals with it.

    I don’t like smooth scrolling in any software. It adds extra delay until the animation is complete and you can see the result.

    I’m more-amenable to instantly drawing something at the new point, but having “trails” added to help cue the eye as to movement. For example, I’ve never figured out why someone hasn’t done a mouse pointer trails app that uses splines – that doesn’t entail adding any delay, and mouse polling speed is often higher than monitor refresh rate, so you could get more control points.

    I use foot, as it’s Wayland-native and also performant.

    It doesn’t have one feature that I’d like:

    • A configurable set of characters to use as expansion of the selection when double-clicking. Urxvt can do this, which lets one add “:”, which lets one copy an URL by double-clicking on it.

    I also use tmux. Most people probably don’t think of it as a virtual terminal program, but it has to have its own virtual terminal. It could use:

    • Sixel support, which lets bitmaps be displayed in terminals. This is uncommon and IME unstable in some terminal emulators that support it. It is not in mainline tmux.

    • Better performance. GNU screen is still faster than tmux.

    I occasionally use cool-retro-term for fun, which emulates the look of vintage terminals. It can’t do a couple of emulation modes that I think would be fun:

    • A line printer printing on paper.

    • Low baud rate simulation, so that things like slow scrolling of BBS ANSI art can be replicated. There are a few programs to try to do this at another level, but they’re a pain.

    • Support for some emulator-style shader library, like librashader. People have written good shader implementations for emulators to simulate CRTs in sophisticated ways.

    • IIRC it can’t do configurable-time phosphor decay.