Kitty 0.48 Terminal Emulator Introduces Vertical Tabs

Kitty 0.48 introduces vertical tabs on the left or right side, plus Wayland fixes, macOS enhancements, and performance improvements.

Kitty 0.48 has been released, bringing one of the terminal emulator’s most visible interface changes in recent years: support for vertical tabs.

Users can now place the tab bar along the left or right edge of the window by setting the tab_bar_edge option accordingly. The feature is especially useful on wide displays, where horizontal space is more readily available than vertical space.

The release also expands Kitty’s graphics protocol with a new transient usage hint. Applications can use it to indicate that an image is intended to remain visible only briefly, allowing terminals to handle short-lived graphics more efficiently.

Mouse handling has changed as well. When clicking inside an unfocused Kitty window, the first click now both focuses the window and passes the event through to the clicked element. This corresponds to the default behavior on macOS and is now also used on Linux.

The get-text remote-control kitten gains support for the alternate and alternate_scrollback extents, making it possible to retrieve text from the alternate screen buffer and its scrollback history.

Wayland users get a fix for initial window dimensions when width or height is set in terminal cells on displays with fractional scaling. A GNOME-specific issue was also resolved where dragging the title bar to the “+” button failed to create a new tab when only one tab was open.

Several bundled kittens also receive improvements. The hints kitten adds a new --prefix-free option for generating hints without a shared prefix. The file chooser gains a --mode=all option for selecting files or directories. Its search field now uses a full readline-style editor with additional key-remapping support.

Moreover, Kitty can now open files in Sublime Text and Zed at a specified line number, and edit-in-kitty correctly returns the exit status of the underlying editor process.

Memory handling has improved by bypassing the standard libc allocator for the history buffer, preventing allocator pooling policies from appearing as memory leaks. Cursor trails consume fewer resources because their shader no longer runs while the cursor is hidden. Plus, the cursor_trail_start_threshold option can now accept separate horizontal and vertical threshold values.

The release further fixes incorrect cursor positioning for graphics using cell offsets, a regression in page-based scrolling through the remote-control interface, and a problem with remote_control_script when Kitty is launched from inside another Kitty instance.

On macOS, Kitty 0.48 introduces new options for controlling panel window layers and allowing panels to cover the global Dock area. It also fixes text alignment alongside the text-sizing protocol, disables one-time-code autofill popups, and corrects quick-access terminal placement across Spaces on macOS Tahoe.

Additional changes include support for the DECSTR soft screen reset sequence, more reliable removal of the last shell command, improved tab bar margins with transparent backgrounds, and configurable window layers for the quick-access terminal.

For additional details, see the changelog.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *