Aller au contenu

Paneflow 0.8.1 : libghostty-vt remplace Alacritty sous Windows

Publié le
Mis à jour le

À propos de la version 0.8.1. Cet article retrace la migration Windows de juillet 2026. Les réglages terminal.backend ci-dessous concernent cette version. Paneflow 0.17.4 utilise Ghostty sur toutes les plateformes distribuées et n'inclut plus Alacritty. Pour une installation aujourd'hui, consulte le guide d'installation Windows.

Paneflow 0.8.1 a fait de libghostty-vt le moteur terminal par défaut dans la version Windows x64 officielle. Les nouvelles sessions utilisaient Ghostty lorsque terminal.backend était absent ou réglé sur auto.

La migration prolongeait la prise en charge de Linux dans Paneflow 0.8.0. Elle changeait la façon dont Paneflow interprétait la sortie du terminal et encodait les entrées, tout en conservant ConPTY pour la connexion au shell et GPUI pour le rendu.

Icône de Ghostty à côté du logo Windows dans un paysage bleu et lavande

ConPTY relie le shell, Ghostty interprète le terminal

Paneflow ouvre un pseudoterminal Windows avec portable-pty, qui utilise ConPTY, puis transmet la sortie UTF-8 du shell à libghostty-vt. Le moteur interprète les séquences terminal et maintient l'écran, le curseur et l'historique de défilement. Il gère aussi les caractères Unicode, les retours à la ligne, la redistribution du texte après un redimensionnement et l'encodage du clavier et de la souris.

Paneflow copie ensuite l'état du terminal dans des snapshots Rust que GPUI peut dessiner. Ces copies séparent le rendu de la mémoire native de Ghostty : une mise à jour du terminal ne peut pas invalider les données utilisées pour dessiner une image.

Paneflow embarque la bibliothèque terminal de Ghostty. Les panneaux, les sessions, la gestion des processus, la persistance et l'interface restent à la charge de Paneflow.

Les entrées et la fermeture des sessions sous Windows

Le portage devait aussi gérer ce qui se passe autour du moteur. Le code qui héberge les sessions Windows regroupe les demandes de redimensionnement, lit la sortie restante avant la fermeture et attend la fin du thread de lecture. Il limite la sortie en attente lorsque plusieurs panneaux sont actifs en même temps.

La prise en charge des entrées couvre AltGr, les touches mortes, le texte validé par un éditeur de méthode de saisie (IME), le collage, le presse-papiers, la souris et les changements de focus. La version 0.8.1 a aussi corrigé le traitement de Shift+Enter dans la traduction des touches et ConPTY, pour préserver les saisies multilignes dans les agents qui utilisent ce raccourci.

Les notifications de rafraîchissement sont regroupées pour éviter du travail de rendu inutile lorsque la sortie est abondante. Ces changements portent sur la saisie, l'affichage et la fermeture, sans modifier la façon dont tu organises tes panneaux ou tes espaces de travail.

Le moteur est intégré à l'exécutable Windows

L'exécutable x64 officiel lie statiquement ghostty-vt-static.lib. Tu n'as besoin d'installer ni Ghostty, ni Zig, ni DLL Ghostty. Le MSI installe Paneflow avec le moteur déjà intégré.

Le dépôt fixe le commit source de Ghostty et la chaîne d'outils native, ainsi que les en-têtes, les bindings Rust, les métadonnées de compilation, les licences et les sommes de contrôle. La CI reconstruit l'archive native séparément de l'application Windows pour vérifier que celle-ci utilise l'artefact attendu.

Ce choix impose aussi de la maintenance : une mise à jour du moteur demande de vérifier ensemble l'archive native et les bindings correspondants.

Alacritty restait disponible en 0.8.1

Dans la version Windows x64 officielle de la 0.8.1, auto et ghostty sélectionnaient Ghostty. Pour utiliser l'ancien moteur dans les nouvelles sessions, tu pouvais définir alacritty dans paneflow.json :

{
  "terminal": {
    "backend": "alacritty"
  }
}

Le réglage s'appliquait uniquement aux nouvelles sessions. Si Ghostty échouait avant le démarrage du shell, Paneflow pouvait revenir une fois à Alacritty. Après le démarrage, la session conservait son moteur ; le retour à Alacritty ne lançait pas un second shell et ne demandait pas de supprimer les données de l'espace de travail.

Cette migration concernait Windows x64 MSVC, qui rejoignait le même cœur terminal que Linux x86_64 et ARM64. Les autres cibles Windows et macOS restaient sur Alacritty dans cette version.

Poursuivre ce workflow

Tous les articles

Lancez votre prochain agent dans Paneflow.