- Cheetah speed with a redesigned render loop and a 2x faster escape code parser that uses SIMD CPU vector instruction to parse data in parallel (#7005)
- A new benchmark kitten (
kitten __benchmark__
) to measure terminal throughput performance - Graphics protocol: Add a new delete mode for deleting images whose ids fall within a range. Useful for bulk deletion (#7080)
- Keyboard protocol: Fix the
Enter
,Tab
andBackspace
keys generating spurious release events even when report all keys as escape codes is not set (#7136) - macOS: The command line args from macos-launch-services-cmdline are now prefixed to any args from open
--args
rather than overwriting them (#7135) - Allow specifying where the new tab is created for
detach_window
(#7134) - hints kitten: The option to set the text color for hints now allows arbitrary colors (#7150)
- icat kitten: Add a command line argument to override terminal window size detection (#7165)
- A new action
toggle_tab
to easily switch to and back from a tab with a single shortcut (#7203) - When
clearing terminal
add a new typeto_cursor_scroll
which can be used to clear to prompt while moving cleared lines into the scrollback - Fix a performance bottleneck when dealing with thousands of small images (#7080)
kitten @ ls
: Return the timestamp at which the window was created (#7178)- hints kitten: Use default editor rather than hardcoding vim to open file at specific line (#7186)
- Remote control: Fix
--match
argument not working for@ls
,@send-key
,@set-background-image
(#7192) - Keyboard protocol: Do not deliver a fake key release events on OS window focus out for engaged modifiers (#7196)
- Ignore
startup_session
when kitty is invoked with command line options specifying a command to run (#7198) - Box drawing: Specialize rendering for the Fira Code progress bar/spinner glyphs
This is really impressive! Since they didn't have a comparison to foot, I ran it on my machine with sway. Here are my results:
Kitty old run #1
Results:
Only ASCII chars : 6.01s @ 33.3 MB/s
Unicode chars : 5.12s @ 34.6 MB/s
CSI codes with few chars : 4.94s @ 20.3 MB/s
Long escape codes : 18.08s @ 43.4 MB/s
Images : 2m12.09s @ 4.0 MB/s
kitty new:
Results:
Only ASCII chars : 2.36s @ 84.8 MB/s
Unicode chars : 2.06s @ 86.0 MB/s
CSI codes with few chars : 2.05s @ 48.8 MB/s
Long escape codes : 3.68s @ 213.0 MB/s
Images : 2.28s @ 234.4 MB/s
foot:
Results:
Only ASCII chars : 1.72s @ 116.3 MB/s
Unicode chars : 2.51s @ 70.6 MB/s
CSI codes with few chars : 1.31s @ 76.2 MB/s
Long escape codes : 5.48s @ 143.0 MB/s
Images : 2.44s @ 218.2 MB/s
Kitty old run #2 (after all other runs, to see if poor performance was a fluke)
Results:
Only ASCII chars : 44.84s @ 4.5 MB/s
Unicode chars : 19.11s @ 9.3 MB/s
CSI codes with few chars : 34.58s @ 2.9 MB/s
Long escape codes : 14.06s @ 55.8 MB/s
Images : 2m12.08s @ 4.0 MB/s
I expected foot to win, and it does win for Only ASCII chars and sci codes by a little bit, but not by much, and not by a meaningful amount, especially when you consider all the other features kitty has. Great work!
Also, this wasn't a very rigorous test. I had a bunch of other stuff open, and I just ran them one after the other without much cooldown