Kitty 0.47 Terminal Emulator Adds Drag and Drop Kitten

Kitty 0.47 GPU-accelerated terminal adds a new drag-and-drop kitten, window rearranging, auto config reloads, progress bars, and several security fixes.

Kitty, the fast GPU-based terminal emulator, has released version 0.47. The headline addition is a new drag-and-drop kitten that lets users drag files from the shell to GUI applications, including across SSH sessions.

The release also expands drag-and-drop handling inside Kitty, allowing windows to be rearranged, moved to another tab or OS window, or detached into a separate OS window. Plus, users can now temporarily show window title bars with toggle_window_title_bars when dragging windows.

Kitty 0.47 also introduces palette_generate, an option that automatically generates the 256-color palette from the first 16 colors. Another notable change is automatic configuration reloading, controlled by the new auto_reload_config option, removing the need to manually reload Kitty after editing its configuration.

On top of that, the terminal now displays a progress bar at the top when a program reports progress using the OSC 9;4 escape sequence. This behavior is controlled by the new progress_bar option. Additionally, scroll_line_up and scroll_line_down use smooth scrolling by default, though the previous behavior can be restored by remapping the actions without the smooth argument.

Regarding window focus, the focus_follows_mouse option now switches the active window only when the pointer crosses into another window, not on every mouse movement. A related option allows focus to switch only on drops rather than pointer movement.

For users working with visual customization, Kitty 0.47 allows multiple background_image entries to be specified and stored on the GPU, enabling faster background switching. It also adds rendering support for block elements from the Unicode Symbols for Legacy Computing Supplement block, including separated block quadrants, sextants, one-sixteenth blocks, and one-quarter partial fills.

Several platform-specific improvements are included as well. On Wayland, hold gestures can cancel momentum scrolling when fingers are placed on the trackpad, making kinetic scrolling feel more natural. On Linux, Kitty respects the fontconfig matrix setting commonly used for fake slant with fonts lacking italic variants. The release also works around an Nvidia driver issue that caused color corruption after resuming from suspend.

On X11, Kitty fixes a regression from the previous release that could cause occasional crashes when an input device was removed. XWayland users also get a fix for a regression that prevented some wheel mice from scrolling correctly.

macOS users receive a new Tahoe-style application icon with different backgrounds for light and dark modes, along with fixes for occasional phantom cursors, ignored arguments passed through open --args, and missing Copy and Paste items in the global menu bar’s Edit menu.

Moreover, Kitty 0.47 includes usability fixes covering scrollbar interaction in window margins, completion for edit-in-kitty, wrapped-line selection behavior, tab renaming, split-border dragging, copy and paste behavior at soft-wrap boundaries, and responses from terminal programs leaking into the shell after a kitten exits.

Other changes include improved remote-control output with session_name and last_focused_at in kitten @ ls, better password input display in kittens, sticky headers in the diff kitten, a trailing newline for text output from the choose-files kitten, automatic .kitty-session extension handling in save_as_session, and improved performance when rendering tab bars using active process data.

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 *