I'm a little puzzled why Ghostty is so suddenly popular. I've tried it, it's OK but it's not as good as kitty, and it's implementing the protocols that kitty invented to make the terminal experience better. Kitty is cross platform, fast, visually pared back, and really featured. I keep finding new things like it's got a protocol for copying files over ssh sessions, and the hints system is really neat.
I can answer that from a very pragmatic point of view. I was able to download ghostty and get it to run the way I expected in about 5 minutes. Everything was smooth, intuitive, and the defaults were very good.
I tried many other terminal apps in the past and was always unimpressed, so I kept using Terminal.app. Ghostty is the first terminal emulator in years that worked better than Terminal.app.
Similar to this, but I actually needed to compile it. Still only took 5 minutes to be up and running even though I've never gone near that toolchain before.
Of course they can. They just haven’t, yet, due to different priorities. Also, I barely use search in my terminals, and I believe there’s more of us for who lack of this feature is not a deal breaker.
Kitty on Mac has a few visual issues that Ghostty doesn't have:
- the text rendering looks slightly blurry when comparing side by side (Kitty looks blurry, Wezterm and Ghostty look crisp)
- when resizing the window, the window content 'wobbles' (Ghostty is stable, both Kitty and Wezterm have the resize wobble)
This wobbling effect is a known issue with Metal views (no idea tbh why Apple can't fix that in the window system), the solution is to 'anchor' the view to one window side during resizing (although not perfect, since during the maximize transition the window content doesn't scale), but the basic wobbling fix is fairly simple: https://github.com/floooh/sokol/pull/963
In general I have the impression that Kitty feels quite 'heavy' on macOS compared to both Wezterm and Ghostty (and iTerm2 which I used before feels heavier than all those combined).
In the absolute lowest sense possible, which means that it's been compiled for different platforms and it runs on different platforms, but it also looks and feels completely alien on anything else than a Linux machine with a tiling window manager.
looks and runs like a mac app on macOS as far as i can tell. seems pretty normal on XFCE as well. not sure what you're finding to be "completely alien".
I think Ghostty outperforms Kitty in font rendering, especially on high-resolution, high-DPX displays like MacBooks. It also offers integrated session management—both features I personally value highly. That said, Kitty is still an excellent terminal.
It's new. It's led by a star dev. It has sane defaults. It's written in a new programming language, so devs can learn from it if they're interested in the language (there are only a handful production ready projects written in zig so far).
I'm also sticking to kitty, 'cause I use some of the more funky features. But if I were to recommend a terminal to a newbie, I would recommend ghostty as it really cares about having a good default experience.
Pretty much exactly what I was going to say, except I have long ago dropped kitty (went back to alacritty).
I have found composing simple tools into a toolset is way better in the long term than shopping for the 'one tool to rule them all'.
Mitchell has always seemed like a principled, rooted developer who produces quality product. He also does his homework (he made me aware of wezterm due to it being prior art he referenced).
Finally, I am one who is interested in Zig, graphics, and a terminal junkie. When I found out Mitchell wrote a tty, I had to try it, and was not disappointed.
yes, it's really plug-and-play. and the standard to which every feature was held from the start inspires confidence in its future; as opposed to alacritty with its "just use another terminal then, we're not considering this", and wezterm, whose kitty keyboard protocol implementation had more bugs than not (can't hold it against them - the protocol is nice but the document called its "spec" is just ghastly). They're still great, of course.
and Mitchell is pleasant and very approachable, as opposed to Kovid.
I've been using it for almost a year now and I just never noticed it at all, it's been seamless. A great example of Zuhandenheit.
saner defaults, easier configurability (esp. mouse/keyboard, where the documentation can be less-than-clear; and imported config files, where the path doesn't always resolve cleanly), user-friendly documentation available in multiple forms (Alacritty has declared they will never do this: manpage and website only!), lack of dismissive attitude from devs (in addition to manpage stubbornness? no to "smart copy", no "example config", no "reset and clear scrollback" which was a 6-line ready-to-go PR, no "confirm quit" when tasks are active or even when the user prefers it), better integrated with GTK libraries and GNOME extensions (no strange Alt+Tab popup behavior, unresolved IBus weirdness), good proof of concept for an alternative new-ish programming language, Alacritty is generally not faster or leaner or bug-free compared to some other terminals: every now and then I would open top and alacritty would be at 8 or 9 percent while just being open in the background (and with reasonably high physical memory usage; just because my machine has the RAM doesn't mean I want the OS to allocate it to over-hungry Rust utilities)
I can think of a dozen excellent reasons to stop using Alacritty (and not in favor of Kitty) and I did because of some of them.
I don't want to learn tmux to handle a feature that my OS already handles. If alacritty supported tabs (and was slightly less hostile, e.g. [0]) I'd be happy with it
Ghostty is great and a lot of fun, only thing missing to me is search scrollback. https://github.com/ghostty-org/ghostty/issues/189 They know about this and I think the current answer from them is just use tmux or the like. Only thing missing though, otherwise a fun pleasant experience.
Shouldn't it be handled by your shell?
I know it's a question without the correct answer - I'm struggling with deciding what should be handled by wm, terminal, terminal multiplexer, shell, text editor.
I know it's subjective, but it feels fast and lean, while iTerm felt cluttered. I really like WezTerm also, but not having a quake style terminal meant that I used iTerm in parallel.
So being able to use only Ghostty now is super nice. I just hope that support for tabs in the quick terminal (that's the quake style terminal in Ghostty) is coming at some point.
It'a also great to see how quickly Mitchell reacts to issues on GitHub. It was nice to report an issue and see it fixed only a few hours after that.
I never understood the argument "its fast"
All of them are fast? I mean, iTerm had a period in my life where it felt clunky, but I've never had a "slow" terminal. Alscritty, kitty, etc. are all pretty fast themselves
You don’t notice the delay of a slow terminal until you use a fast one. After that it’s hard to go back. Typing and tab switching are noticeably faster.
But I alscritty/kitty are fast too. It’s more a comparison to terminal.app/iterm and others.
Yeah. “Fast” in what sense? I tried printing all unicode characters in 80 symbol lines and scrolling the screen of several thousand lines does not freeze only in terminal.app.
Aside from some bizarre tests and benchmarks like this in normal life I don’t know what could be considered slow.
The main reason to I switched from macOS Terminal is it lacks true colour support (Ghostty far from the only alternative that offers this, but it's quite similar to Terminal.app in the way that it feels, it's a decent native macOS experience)
Copy Mode and Quick Select are two things in Wezterm that I use all. the. time. The other killer feature is the remote multiplexing, because it gives a better experience than ssh+tmux. https://wezfurlong.org/wezterm/multiplexing.html
Yep, I don't think I could go back to a terminal without an equivalent of Copy Mode and Quick Select. If it had those, Ghostty would be interesting so sure.
One trick I have is my ghostty config loads a linked theme config that is a list of my favorite themes. On new shell, I shuffle the list. When I restart or reload config, I get a random theme I enjoy. Adds a little variety
I'm in a similar situation (just redid my setup with Niri) and Ghostty's slow startup is essentially my only problem with it, and I've loved foot for years. Ghostty's font rendering looks better to me though, so I'm conflicted between foot's instant startup and the (to me) nicer looking text in Ghostty. Since I tens to keep terminals open for a while, I've been going with Ghostty, but I'd love to somehow get both qualities.
> SSD is only supported on Wayland. Ghostty uses the KDE Server Decoration protocol. Despite the name, this protocol is supported on almost every major Wayland compositor, not just KDE. For X11, we could not find a well-supported protocol for SSD, so we continue to use CSD.
I thought X11 was SSD by default, delegating windows decorations to the window manager?
Can't wait to jump on Ghostty on Linux, once they introduce a feature to save my tab/splits layout or put it in a conf file to load, like a terminator profile.
reply