Kitty vs Alacritty vs tmux

Terminal emulators


What do you prefer and why?

Other terminal emulators are not excluded.

2 Likes

I prefer Kitty for a few reasons:

  • It’s fast.
  • It renders double-width characters extremely thoughtfully (no cropping, no overlapping).
  • It works on both Linux and macOS.
  • When I’m on a Mac the bspwm-like splits are handy.
  • I find tmux’s prefix key cumbersome.

I develop rich terminal applications (and a terminal UI framework) as a profession, and have found Alacritty to be slower than it claims. Tmux, in terms of performance, predictability and adherence to standards, is excellent.

All that said, kitty does have it’s quirks and can be troublesome at times, often because xterm-kitty isn’t always understood by clients.

4 Likes

I do most of my computing in WSL (need to use Windows programs at work, gaming at home) and I use WSLtty. I like it because it supports the terminal features I need (bolds, italics, 24-bit colors, unicode support, bracketed paste, clipboard sync), has decent shortcuts and is fast enough for me. I believe it is mostly better because it uses TCP sockets to communicate with WSL rather than going through Windows’ PTY interfaces like all other Windows terminal emulators.

It doesn’t have windowing other than a concept of tabs (more like separate windows you can switch between). That’s OK for me because I use tmux for window managing and persistence, where I usually keep sessions running on a remote machine. That’s also why I don’t think I would use a terminal’s own windowing capabilities anyway.

I’ve had good experiences with basic xterm - it’s reliable, it’s fast by modern standards, it can even be configured to support the extended input encoding system Kakoune uses.

However, I recently switched back to GNOME Terminal. It’s not as fast, but it has a lot of polish and quality-of-life features like hyperlink support, using the GNOME-configured monospaced font, and smooth scrolling. The fact that modern versions use client-side decorations is unfortunate, but I haven’t found another terminal based on the libvte terminal widget that’s as fully-featured.

In my personal setup I just use urxvt and a tiling window manager. I’m a big believer in the idea of having one tool do one thing well. If I use my window manager only then I use the same keybindings to navigate between workspaces, windows and tabs for all my applications (except the browser unfortunately). If I use kitty or tmux it just adds another layer I have to get through. To focus on the right window in Vim + tmux (which is a combo I have seen plenty) I might have to switch focus from browser to tmux, then to a different tmux pane, then to a different vim split. With Kakoune my window manager does everything so I use one set of keybindings.

For this reason I don’t use Kitty but if I was in an environment without a nice display manager I might, simply because it has so many great features. However I prefer tmux since it is more portable. At work on WSL I use tmux for instance.

Alacritty is very simple to configure, otherwise I don’t think it’s noticeably different to another terminal.

I was long term GNU Screen user prior to Kakoune, but after I’ve tried Kakoune I quickly understood that Tmux would be a better choice. Since then I primarly use tmux, becase it works in tty, and in any terminal, as well it is wery predictable. Kakoune also has the best support for tmux in my opinion, which makes it the most polished way to use Kakoune, and many plugins also support it.

However, I often had a problem of running Screen in Tmux in Terminal that supports splits, in tiling WM, and this is the prefix hell :smiley:

1 Like

I use tmux in kitty (on Ubuntu Linux). The kakoune/tmux integration is fantastic, and kitty gives me a fast full-screen terminal with reliable ligature and Unicode rendering.

I am not a big fan of tmux. I can tile windows in my wm and I can save sessions with other daemons. But I don’t even need saving my session. Because kakoune works in daemon mode, if I mistakenly close my terminal I can reconnect to the session.

The only real benefit of tmux that I see for me is multiplexing a ssh connection instead of sshing from many terminals. And that’s the only thing I use it for right now, but I’d be glad to write a script to open new terminals already ssh’d. But I think that for people that work a lot over ssh, tmux can be a great tool.

Now, between Alacritty and Kitty. I like both. I started using kitty then I moved to alacritty and finally back again to kitty. The great things about kitty are that

  • It’s fast! (actually, I read somewhere than faster than alacritty)
  • Can render images!
  • Has kittens (hints is the best, diff is also very nice)
  • Can be controlled from shell scripts

I also like the fact that it has powerful functionalities built in. I don’t use it to tile now that I moved to bspwm, but I used to when I didn’t have a tiling window manager, and it was very useful. Startup sessions come in handy too, Ctrl+shift+u unicode kitten, etc. It’s just useful.

1 Like

The double-width characters is a strong point. Just realized the difference between kitty and Alacritty.

Yeah, the maintainer is really fastidious about proper character rendering with regard to unicode. Little more background here if you’re curious: