Migrating from Terminator to Kitty

- 2 mins read

Daniel Lipovetsky’s Typometer results.

Ever since I first learned about Terminator I’ve been a huge fan! It’s a great replacement for the standard Gnome terminal with its built-in support for horizontal and vertical splits.

It’s not a race car though … like Gnome terminal it’s built around libvte. So on a bad day of clashing with Ubuntu, GDM, systemd and the new handling of capabilities, two of my colleagues went all-in on Alacritty and now swear by it!

I tried to fall in line, but I just couldn’t get it to work for me, at all, I hated that it didn’t support splits in any way! I was also not impressed with the lack of documentation and changing configuration file formats that just put more roadblocks in my way.

During the winter holiday I learned about Kitty, by Kovid Goyal, and it was so much easier to use and customize. I’m very impressed and would recommend it to anyone looking for a replacement! :star_struck:

Speed vs Latency

One interesting ‘vs’ argument when talking to Alacritty fanbois is speed. If the Typomenter screenshot is not enough, there’s lots of good ammunition on this GitHub topic. Here are some links to get you started:

Kitty Config

To ease my transition from Terminator I created this configuration file:

# ~/.config/kitty/kitty.conf -- Mimic the great Terminator
#
# Use Ctrl-Shift-F5 to reload the configuration at runtime.
#
# See https://sw.kovidgoyal.net/kitty/ for more information.

#
# General
#
shell_integration       disabled

#
# Window
#
remember_window_size    yes
scrollback_lines        100000

#
# Tab bar
#
tab_bar_edge            bottom
tab_bar_style           powerline
tab_powerline_style     angled

#
# Key bindings
#
map shift+page_up       scroll_page_up
map shift+page_down     scroll_page_down

map ctrl+page_up        previous_tab
map ctrl+page_down      next_tab

map ctrl+shift+x        detach_window
map ctrl+shift+z        detach_window ask

map alt+up              neighboring_window up
map alt+down            neighboring_window down
map alt+left            neighboring_window left
map alt+right           neighboring_window right

map ctrl+shift+plus     no-op
map ctrl+shift+minus    no-op
map ctrl+plus           change_font_size all +2.0
map ctrl+minus          change_font_size all -2.0
map ctrl+0              change_font_size all 0

map ctrl+shift+o        combine : new_window : goto_layout vertical
map ctrl+shift+e        combine : new_window : goto_layout horizontal

map f11                 toggle_fullscreen