Ghostty feels like a Mac app like iTerm2 while being fast and having fewer features. Wezterm feels more like an app ported from Linux, but has a much richer config system and features like build-in multiplexing which means it's replaced tmux for me - while keeping all my tmux keybinds.
Wezterm moves instantly.
I keep using a lot of fresh tabs all the time and iTerm resizes instantly via Rectangle for me.
Ghostty was a bit more sluggish in resizing on an Intel Mac than iTerm in the current latest versions.
I can understand being frustrated about latency on older Macs — I used to run Alacritty for certain tasks on my Intel Macs for that reason. But on newer Macs like a new M4 Pro I’m back to 100% iTerm 2 again. I can’t fathom having latency problems with iTerm 2 on a new Mac you just unboxed.
It's one of those things that you don't realize how poor the performance is until you experience something better.
Mentioned from his blog: https://mitchellh.com/writing/ghostty-is-coming
No, it’s one of those things I’ve tested myself extensively and arrived at my own conclusion. Which I already mentioned in the comment you responded to.
But in practice 24-bit was an easy lift for terminals under active development ages ago, and in turn made it trivial to have everyone across any platform specify exact colors more easily without any end user customization or arguments about "not quite what I wanted" in an 8-bit palette or whatever. Thus a lot of the ecosystem now makes use of it. Being able to replicate anything yourself, or get close enough, in a smaller colorspace is still extra grunt work for no particularly valuable reason, and could actually add up to be fairly significant work if one has a lot of more complex code coloring themes and such.
With both Ghostty and iTerm2 now freely available, there's really no reason to use Terminal.app.
[1]: https://mitchellh.com/writing/grapheme-clusters-in-terminals
[2]: https://github.com/neovim/neovim/issues/26093
- “Kitty Keyboard Protocol” means that a TUI app can detect all keybindings. For example, if you install kkp.el in Emacs, then Emacs running in a terminal will pick up ctrl+shift keys, super keys, etc. on par with a GUI app. I believe NeoVim supports this out of the box now as well, so if you ever felt like binding Cmd+S to :w<cr> you now can. - “Kitty Graphics Protocol” means that I can let e.g. Matplotlib show images inside a terminal, even over SSH connections. If you’re annoyed at pop-up GUI windows, or struggling with viewing remote images often, this is a nice workaround. There are even attempts at making terminal PDF viewers (like termpdf.py); IMO that’s a game changer, even though the app itself is still in a “proof of concept” stage IMO. - Terminal splits. If you work a lot in a terminal, it’s nice to be able to full-screen a terminal and view many different shells or processes side-by-side. Last I checked, Terminal.app just doesn’t have this feature. Sure, you could use multiple windows or a multiplexer like tmux, but that comes with different trade-offs; for example, a native terminal offers smooth scrolling with a trackpad whereas tmux doesn’t. Personally, I use tmux remotely, but stopped using it locally. - I see a lot of people mention 24-bit colors as a main reason to not use Terminal.app. For me, I’m actually pretending that I have a 16-color terminal, because I’m tired of having to theme every command-line utility individually, I’d rather they all just respect my 16 chosen colors instead. The only exception is my editor, just because there are unfortunately few good 16-color themes these days, so I instead change my terminal program to be consistent with my editor theme and then let every other TUI utility believe the terminal only supports 16 colors to match.