kitty 0.50.0
kitty is a feature-rich, cross-platform, fast terminal that utilizes GPU for improved performance. To update kitty, follow the provided instructions. The latest update introduces two resize strategies: Window and Edge. The Window strategy retains the usual width/height controls, while the Edge strategy allows for moving the divider in a physical direction within the Splits layout.
Users can switch between strategies using 1/2 inside the page. Each strategy remembers its own Alt/Shift modifier and fraction, which can be configured with M and F. In Splits mode, either strategy uses R to restore proportions saved when resize mode opens.
kitty now supports Custom Shaders, enabling users to create a wide range of graphical effects, such as animated backgrounds, focus highlighting, and unique cursor visualizations. Detailed documentation is available showcasing various custom shaders included with kitty.
This release focuses on performance improvements, with real-world effective throughput seeing a 15-35% increase depending on the workload. Performance enhancements include:
1. Prefetching scrollback memory before writing to improve throughput when processing large amounts of text with a large scrollback buffer.
2. Writing runs of plain ASCII characters to the screen in batches, reducing unnecessary bookkeeping in the scrolling and tab handling process.
3. Improved SIMD UTF-8 decoding, with up to 50% faster processing for multi-byte text on both x86 and ARM architectures.
4. An AVX-512 based decoder that speeds up UTF-8 decoding by another 75% for multi-byte text on compatible CPUs (Intel Ice Lake+, AMD Zen 4+).
5. Improved throughput when processing escape code-heavy input by locking the input buffer once per buffer rather than once per escape code.
6. Faster pixel compositing with SIMD vectorization, with alpha blending of graphics protocol images and animation frames being up to 3.5 times faster.
7. Smoother vertical scrolling, momentum-based scrolling, and the ability to drag kitty tabs around with the mouse to reorder them or detach them into their own OS Window.
8. A new scrollbar for browsing scrollback, which appears automatically when scrolling backwards and is extensively configurable in kitty.conf.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.