kitty 0.50: Andockfenster ausserhalb des Rasters
Version 0.50
Zusammenfassung
kitty 0.50 dockt Leisten ausserhalb des Kachelrasters an, stellt eine Sitzung nach dem Abmelden samt Ruecklaufpuffer wieder her und bringt Touch auf Wayland.
Empfehlen- Name
- kitty
- Version
- 0.50
- Preis
- Kostenlos
- Open Source
- Open Source
- Betriebssystem
- LinuxmacOS
- Webseite
- https://sw.kovidgoyal.net/kitty/
- Aktualisiert
- 2026-11-10 23:00
kitty ist ein Terminal-Emulator, also ein Programm, das seinen Text mit OpenGL zeichnet; es laeuft unter Linux, macOS und einem Teil der BSD-Systeme und steht unter GPL-3.0. Seine Gewohnheit ist, alles selbst zu erledigen: geteilte Fenster, Tabs, Sitzungsdateien, ein eigenes Bildprotokoll und eine Fernsteuerung, die Skripte ansprechen, wohnen alle im Terminal, ohne Fenstermanager von aussen. Kovid Goyal betreut das Projekt, und am 3. November 2026 kam Fassung 0.50.
Leisten, die aus dem Raster treten
Ein Terminal, das als Entwicklungsumgebung durchgehen will, braucht eine Seitenleiste und eine Statuszeile. Die alte Antwort war eine weitere Teilung: Verzeichnisbaum, Protokolle und ein Testlauf passten in dasselbe Raster von Scheiben. Dieses Raster wird jedoch als Ganzes neu gerechnet, und sobald der Hauptbereich breiter wird, schrumpft die Spalte am Rand auf ein paar Zeichen.
0.50 geht mit Andockfenstern einen anderen Weg. Ein Dock liegt ausserhalb des Kachelbereichs und haengt an einer Kante des Wirtsfensters oder des ganzen Tabs, sodass die Kachelung es nie mitzaehlt. launch --type=window-dock erzeugt ein Dock auf Fensterebene, launch --type=tab-dock eines auf Tab-Ebene; --dock-edge waehlt die Kante und --dock-size die Breite.
Die beiden Arten leben unterschiedlich. Ein Fensterdock folgt seinem Wirt von Tab zu Tab und endet mit ihm, ein Tabdock bleibt, bis das letzte gewoehnliche Fenster dieses Tabs schliesst. Dockbeziehungen landen auch in Sitzungsdateien, sodass die Leiste beim naechsten Start an derselben Kante steht.
Was die Sache wirklich einbringt: eine Seitenleiste ist kein Fenster mehr. Ein Fenster nimmt Platz von dem weg, was man gerade liest; ein Dock ist Moebel, das seine Breite behaelt, waehrend der Arbeitsbereich um es herum schrumpft. Darin liegt der ganze Unterschied zwischen einem Terminal mit vielen Fenstern und einem Terminal mit einem Layout.

Sitzungen ueber das Abmelden hinaus
Ein neuer Schalter heisst restore_session_after_logout. Ist er an, sichert kitty beim Abmelden, Neustart oder Herunterfahren die OS-Fenster, Tabs, Fenster und den Ruecklaufpuffer jeder Instanz und legt sie beim naechsten Start wieder aus. Unter macOS wird der gespeicherte Zustand mit einem Schluessel aus dem Schluesselbund verschluesselt. Unter Linux braucht es die Inhibit-Schnittstelle des Desktop-Portals, weil nur sie die Zeit verschafft, den Zustand vor dem Abbau der Sitzung fertig zu schreiben.
Auch die Sitzungsdateien haben Felder dazubekommen. os_window_position haelt fest, wo das Betriebssystemfenster stand, und save_as_session --os-window-geometry speichert Groesse, Position und Zustand zusammen. Vorher liess sich die Anordnung im Fenster wiederherstellen; jetzt findet auch das Fenster seinen Monitor wieder.
Tabs ruecken Richtung Arbeitsbereich
Drei kleine Oeffnungen in dieser Fassung. launch --focus-existing springt auf ein vorhandenes Fenster oder einen vorhandenen Tab, statt eine Kopie zu oeffnen; launch --location by-title sortiert Tabs nach den Buchstaben ihrer Titel; und detach-window beziehungsweise die Aktion detach_window schickt ein Fenster in einen benannten Tab, den sie bei Bedarf anlegt. Zusammen machen sie aus Tabs, die zusaetzliche Shells waren, benannte Plaetze, zwischen denen Fenster wandern.
Ein Dokumentarbeitsbereich wird daraus nicht, und kitty tut auch nicht so. Die Teile sind dafuer da, dass ein Skript die Anordnung uebernimmt: Projekttab auf, Protokollfenster hinein, Fokus auf das, was schon laeuft. Automatisierung war immer der Zweck der Fernsteuerung, und diese drei Schalter nehmen ihr ein paar Ausreden.

Status auf der Tabs-Leiste
Das Program Status Protocol kommt ueber die Escape-Sequenz OSC 7501. Ein Programm meldet, ob es arbeitet, fertig ist, gescheitert ist oder blockiert, und die Leiste zeigt das, sobald tab_title_template auf tab.program_status zugreift. Waehrend eines langen Builds muss niemand Fenster durchklicken: ein Blick sagt, welcher Tab auf Eingabe wartet.
Partikel hinter dem Cursor
Eigene Shader legte 0.49 an, und 0.50 setzt drei Cursorspuren darauf: cursor-trail-railgun, cursor-trail-torpedo und cursor-trail-pixiedust. Ist eine Spur an, zieht der Cursor und hinterlaesst eine Kette von Partikeln. Shader lassen sich jetzt auch per Tastenkuerzel ausloesen, ueber die neue Aktion shader_event; ausserdem darf ein Shader pointer_map() definieren, damit Klicks und Auswahl auf dem tatsaechlich gezeichneten Zeichen landen und nicht auf verschobenen Koordinaten.
Bilder, die der Palette folgen
Das Grafikprotokoll hat zwei indizierte Bildformate dazubekommen, in denen ein Pixelwert ein Index in die Terminalpalette ist und keine feste Farbe. Wer das Farbschema wechselt, wechselt das Bild mit, ohne es neu zu erzeugen.

Beruehrung unter Wayland
Wayland wurde dichter abgedeckt. 0.50 bringt Touchscreen-Unterstuetzung: ein Tippen gilt als Klick, ein bewegter Finger scrollt mit Traegheit, und Druchhalten mit Ziehen markiert Text. Clientseitige Dekorationen auf Compositors wie GNOME ahmen jetzt den nativen Stil nach und uebernehmen Titelbarschrift, Textskalierung, Knopfposition und Klickverhalten des Desktops. Kandidaten der Eingabemethode haengen am Anfang des Vorab-Textes, statt beim Tippen zu springen.
Kleinigkeiten, taeglich beruehrt
Eine neue Option, collapse_window_margins, verschmilzt die Raender benachbarter Fenster, statt sie zu addieren; Kanten liegen damit auf einer Linie und der Abstand wirkt endlich gleichmaessig. mouse_map kann nun das Mausrad abbilden, jede der vier Richtungen als eigene Taste, womit eine Bindung wie Strg plus Rad fuer die Schriftgroesse zu einer Zeile Konfiguration wird. Rahmenzeichen, Cursor und Titelbarrahmen skalieren ihre Staerke mit der Schriftgroesse, sodass grosser Text sie nicht zu einem Haar ausduennt.
Was repariert wurde
Ein Sicherheitsloch ist zu: eine gebaute Anfrage konnte sich als Abbruch einer asynchronen ausgeben und so am Passwort der Fernsteuerung vorbeikommen. Auch der Parser dieser Befehlsgruppe wurde neu geschrieben. action, send-key, set-colors, ls und run ignorierten Optionen, meldeten Erfolg, der nie stattfand, oder schluckten ungueltige Eingaben still. Jetzt scheitern sie hoerbar, und ein einzelner nicht antwortender Gegenpart blockiert nicht mehr den ganzen Kanal. In der Speichersicherheit sind ein Heap-Pufferueberlauf beim Neuladen der Konfiguration, ein Schreibzugriff ausserhalb der Grenzen und eine Nutzung nach Freigabe verschwunden.
Auch die Leistung bewegte sich: der GPU-Sprite-Cache waechst langsamer, und die CPU-Last sinkt, wenn input_delay nicht null ist. Reparaturen betreffen zudem fett-kursive Symbole, die eine fremde Schrift zeichnete, und das ssh-Kitten, das beim Kopieren eines Verzeichnisses Rechte verlor. Auch Drag and Drop schob ein Verzeichnis in sein eigenes Unterverzeichnis. Alle drei Faelle kosten echte Daten.
Wo es laeuft
kitty deckt Linux, macOS und einen Teil der BSD-Familie ab; Windows wird nicht nativ unterstuetzt, dort laeuft die Linux-Fassung unter WSL2. Kovid Goyal fuehrt das Projekt allein und liefert oft: 0.49 kam am 21. September, 0.50 folgte gut einen Monat spaeter.
Der Punkt an 0.50 sind nicht die Shader. Der Punkt ist, dass Andockfenster Anordnung und feste Einrichtung voneinander trennen. Ein Terminal, das ein Arbeitsbereich sein will, muss zulassen, dass manche Fenster ausserhalb des Umsortierens bleiben. Die Wiederherstellung nach dem Abmelden dehnt diesen Gedanken dann von einer Sitzung auf die Spanne zwischen Herunterfahren und Booten.