kitty 0.50: des panneaux dockes hors de la grille

Résumé

kitty 0.50 pose des panneaux dockes hors de la grille de tuilage, restaure une session apres deconnexion avec son historique et ajoute le tactile sous Wayland.

Recommander
Nom
kitty
Version
0.50
Tarif
Gratuit
Open source
Open source
Système
LinuxmacOS
Mis à jour
2026-11-10 23:00

kitty est un emulateur de terminal, donc une application qui dessine son texte en OpenGL; il tourne sous Linux, macOS et une partie des systemes BSD, sous licence GPL-3.0. Son habitude est de tout faire lui-meme: divisions, onglets, fichiers de session, protocole d'image maison et telecommande que les scripts peuvent appeler vivent tous dans le terminal, sans gestionnaire de fenetres ajoute par-dessus. Kovid Goyal tient le projet, et le 3 novembre 2026 la version 0.50 est arrivee.

Des panneaux qui sortent de la grille

Un terminal qui veut passer pour un environnement de developpement a besoin d'une colonne laterale et d'une barre d'etat. L'ancienne reponse etait une division de plus: l'arbre des dossiers, les journaux et un lanceur de tests empiles dans la meme grille de carreaux. Or cette grille est recalculee en entier, et des que la zone principale s'elargit, la colonne du bord se reduit a quelques caracteres.

La version 0.50 prend un autre chemin avec les fenetres dockees. Un dock se place hors de la zone de tuilage et se colle a un bord de la fenetre hote ou de l'onglet entier, si bien que le tuilage ne le compte jamais. launch --type=window-dock cree un dock au niveau fenetre, launch --type=tab-dock au niveau onglet; --dock-edge choisit le bord et --dock-size la largeur.

Les deux especes ne vivent pas pareil. Un dock de fenetre suit son hote d'un onglet a l'autre et meurt avec lui, tandis qu'un dock d'onglet reste jusqu'a la fermeture de la derniere fenetre ordinaire de cet onglet. Les relations de dock s'ecrivent aussi dans les fichiers de session, et la colonne revient sur le meme bord au demarrage suivant.

Ce que la chose apporte vraiment, c'est qu'une colonne laterale n'est plus un carreau. Un carreau prend de la place a ce qu'on est en train de lire; un dock est un meuble qui garde sa largeur pendant que la zone de travail se redimensionne autour de lui. Toute la difference entre un terminal plein de fenetres et un terminal avec une disposition tient la.

kitty avec plusieurs panneaux, arborescence a gauche, journal des commits et progression du clone a droite
kitty avec plusieurs panneaux, arborescence a gauche, journal des commits et progression du clone a droite

Des sessions qui survivent a la deconnexion

Un nouvel interrupteur, restore_session_after_logout, enregistre a la deconnexion, au redemarrage ou a l'extinction les fenetres du systeme, les onglets, les fenetres et l'historique de chaque instance, puis les remet en place au lancement suivant. Sous macOS, l'etat stocke est chiffre avec une cle du trousseau. Sous Linux, il faut l'interface Inhibit du portail de bureau, qui seule achete le temps d'ecrire l'etat avant que la session ne soit demontee.

Les fichiers de session ont gagne des champs. os_window_position retient ou se trouvait la fenetre du systeme, et save_as_session --os-window-geometry enregistre taille, position et etat d'un coup. Avant, kitty restaurait la disposition interieure d'une fenetre; desormais, elle retrouve aussi son ecran.

Les onglets vers l'espace de travail

Trois petites ouvertures cette fois. launch --focus-existing saute vers une fenetre ou un onglet deja present au lieu d'en ouvrir une copie, launch --location by-title trie les onglets sur les lettres de leur titre, et detach-window ou l'action detach_window envoie une fenetre dans un onglet nomme, en le creant s'il manque. Ensemble, ils transforment des onglets qui n'etaient que des shells supplementaires en cases nommees entre lesquelles les fenetres circulent.

Cela ne fait pas un espace de travail documentaire, et kitty ne pretend pas le contraire. Les pieces servent a ce qu'un script prenne la disposition en main: ouvrir l'onglet du projet, y pousser la fenetre des journaux, donner le focus a ce qui tourne deja. L'automatisation fut toujours la raison de la telecommande, et ces trois drapeaux lui retirent quelques excuses.

disposition divisee ou chaque fenetre porte un bord de couleur differente; les docks restent hors du rearrangement
disposition divisee ou chaque fenetre porte un bord de couleur differente; les docks restent hors du rearrangement

L'etat sur la barre d'onglets

Le Program Status Protocol arrive par la sequence d'echappement OSC 7501. Un programme annonce s'il travaille, s'il a fini, s'il a echoue ou s'il est bloque, et la barre l'affiche des que tab_title_template lit tab.program_status. Pendant une longue compilation, plus besoin d'ouvrir les fenetres une a une: un regard dit quel onglet attend une saisie.

Des particules derriere le curseur

Les shaders personnalises ont ete poses en 0.49, et la 0.50 en empile trois trainees de curseur: cursor-trail-railgun, cursor-trail-torpedo et cursor-trail-pixiedust. Une trainee activee, le curseur bouge et laisse une chaine de particules derriere lui. Les shaders peuvent aussi partir d'un raccourci clavier desormais, via la nouvelle action shader_event; un shader peut en outre definir pointer_map() pour que les clics et les selections tombent sur le caractere reellement dessine et non sur des coordonnees decalees.

Des images qui suivent la palette

Le protocole graphique a gagne deux formats d'image a couleur indexee, ou la valeur d'un pixel est un indice dans la palette du terminal et non une couleur fixe. Changer de jeu de couleurs change l'image avec lui, sans la regenerer.

changer de theme dans le navigateur de themes, les images a couleur indexee suivent la palette
changer de theme dans le navigateur de themes, les images a couleur indexee suivent la palette

Le tactile sous Wayland

Wayland est couvert plus finement. La 0.50 ajoute la prise en charge des ecrans tactiles: un appui vaut un clic, un doigt en mouvement defile avec inertie, et un appui maintenu puis glisse selectionne du texte. Les decorations cote client sur des compositeurs comme GNOME imitent maintenant le style natif et reprennent la police du bandeau, l'echelle du texte, la place des boutons et le comportement du clic du bureau. Les candidats d'une methode de saisie s'ancrent au debut du texte pre-edite au lieu de sauter pendant la frappe.

Des riens, touches chaque jour

Une nouvelle option, collapse_window_margins, fusionne les marges de fenetres voisines au lieu de les additionner; les bords s'alignent et l'ecart parait enfin egal. mouse_map sait maintenant mapper la molette, chacune des quatre directions comptant comme un bouton, ce qui reduit un lien comme Ctrl plus molette pour la taille de police a une ligne de configuration. Les caracteres de cadre, le curseur et les bords du bandeau font varier leur epaisseur avec la taille du texte, si bien qu'agrandir celui-ci ne les amincit plus jusqu'au cheveu.

Ce qui a ete repare

Un trou de securite est ferme: une requete fabriquee pouvait se faire passer pour l'annulation d'une requete asynchrone et contourner ainsi le mot de passe de la telecommande. L'analyse de ce groupe de commandes a ete reecrite. action, send-key, set-colors, ls et run ignoraient des options, annoncaient un succes qui n'avait pas eu lieu ou avalaient en silence une entree invalide; elles echouent maintenant franchement, et un pair muet ne bloque plus tout le canal. Cote memoire, un debordement de tampon lors du rechargement de la configuration, une ecriture hors bornes et un usage apres liberation ont disparu.

La performance a bouge aussi: le cache de sprites du GPU grossit plus lentement, et l'usage du processeur baisse quand input_delay n'est pas nul. Les corrections couvrent en outre des icones grasses italiques dessinees par une police etrangere, le kitten ssh qui perdait des droits en copiant un dossier, et le glisser-deposer qui deplacait un dossier dans son propre sous-dossier; autant de cas qui coutent de vraies donnees.

Ou cela tourne

kitty couvre Linux, macOS et une partie de la famille BSD; Windows n'est pas pris en charge nativement, et c'est la version Linux qui tourne sous WSL2. Kovid Goyal mene le projet seul et livre souvent: la 0.49 est arrivee le 21 septembre, la 0.50 un peu plus d'un mois apres.

L'interet de la 0.50 n'est pas dans les shaders. Il est dans le fait que les fenetres dockees separent la disposition du mobilier fixe. Un terminal qui veut etre un espace de travail doit laisser certaines fenetres en dehors du rearrangement. La restauration apres deconnexion etire ensuite cette idee d'une session a l'intervalle entre extinction et demarrage.
kittyTéléchargement
Systèmes pris en charge : Linux macOS