For the past two-ish years, I’ve used the Kitty terminal by Kovid Goyal, and I have been happy with it.

I started using it because it’s fast and because otherwise, it was good enough.

However, the latest version (0.24.2) has some bugs, or at least, the Gentoo packaging of it does. These bugs include:

  • Failure to render text already on the screen when the size changes.
  • Changing of the cursor to I-beam even though it’s explicitly set to block.
  • Failure to render new text properly.

All of this wasn’t a dealbreaker; I was just patiently waiting for another release.

What was a dealbreaker, was finding this FAQ, which included a link to the opinion of Kitty’s author around tmux and terminal multiplexers.

I would not have found those links if I hadn’t been investigating whether Kitty had a new version or not, so I guess the bugs had something to do with it.

The Kitty author said (snarkily, in my opinion),

if you have something substantive to say, try responding to my actual criticisms of terminal multiplexers

Well, here is my response.

I use tmux heavily. I said that it’s the foundation of my development setup back in December 2020, and it still is today. tmux is far more important to me than my terminal.

In fact, there have been times when using tmux has literally saved my work.

One of the weaknesses of my setup is that it’s a little too easy to hit the key sequence for closing a program. When I do that with Kitty, it closes with no warning or dialog box.

Fortunately for me, the only times I run a bare terminal, with a few exceptions, is when I am doing scratch calculations or the like in bc. Most of the time, I am running tmux.

Thus, when I accidentally exit out of Kitty, which obeys suddenly and without warning, I would lose work except that my tmux session is still attached.

In other words, Kitty will destroy my work, and tmux saves it.

On top of that, Kitty’s own sessions would not even suffice; they only restore what tabs, windows, and programs were open!

And I haven’t even mentioned using tmux for remote sessions, something Kitty cannot do and will not do now that Kitty’s author closed and locked the issue asking for it because people were telling him that he was wrong about tmux.

So when the Kitty author rails against terminal multiplexers and says things like:

I suggest you first learn to read. The [sic] learn to reason. The [sic] go soak your head.

I know it’s time to leave. I mean, I knew the Kitty author was opinionated, but he is actually toxic.

That word is overused nowadays, but I think it applies in this situation.

In addition, as I have just found out, he seems to have a habit of refusing to acknowledge that bugs exist in his software, even when those bugs are security vulnerabilities.

And that’s not even mentioning the problem of limited scrollback in Kitty, or it taking excessive amounts of RAM, both because Kitty’s author refuses to use the hard disk as a cache.

So Mr. Kovid Goyal, you asked people to respond to your actual criticisms of terminal multiplexers.

My response is that they have saved my work when Kitty would destroy it, and that they still do things that Kitty cannot do. Also, they may be a hack, but being a hack is not a problem if the hack works. Which they do. Robustly.

Also, if your response to users is “go soak your head,” even if they were not nice to you, then I know you don’t have users’ best interests at heart.

Goodbye, Kitty.

If anyone has opinions about what terminal I should use, contact me, but please keep in mind that I run a bare minimum system. The fewer the dependencies, the better.