Ghostty est un émulateur de terminal qui se distingue par sa rapidité, sa richesse fonctionnelle et son caractère natif. Bien qu'il existe de nombreux émulateurs de terminal excellents, la plupart doivent choisir entre la vitesse, les fonctionnalités ou les interfaces natives. Ghostty offrirait les trois.
Natif
Le terme "natif" signifie que Ghostty est conçu pour ressembler, se sentir et se comporter comme vous vous attendez à ce qu'une application se comporte dans votre environnement de bureau.
Il est important de noter que Ghostty est une application native pour macOS et Linux. Sur macOS, l'interface graphique est écrite en Swift et utilise AppKit et SwiftUI. Sous Linux, l'interface graphique est écrite en Zig et utilise l'API C de GTK41. Les interfaces graphiques s'interfacent avec un noyau partagé écrit en Zig que ces développeurs nomment "libghostty". Pour ceux qui ne connaissent pas Zig, il s'agit d'un langage de programmation de systèmes qui se compile en code machine natif.
Contrairement à de nombreux autres émulateurs de terminaux qui utilisent des interfaces textuelles et des widgets personnalisés ou qui ne prennent pas du tout en charge ces fonctionnalités, Ghostty utilise des composants d'interface utilisateur natifs pour des fonctions telles que les onglets, les divisions, les messages d'erreur, etc.
Une autre partie est l'utilisation de raccourcis clavier et souris standards avec lesquels vous êtes déjà familier. Ghostty utilise des raccourcis par défaut différents pour macOS et Linux afin de respecter les conventions de chaque plateforme.
Enfin, Ghostty s'intègre aux fonctionnalités du système qui sont propres à la plateforme sur laquelle il s'exécute. Par exemple, sur macOS, Ghostty supporte Quick Look, force touch, l'API d'entrée sécurisée de macOS, la récupération intégrée de l'état de la fenêtre au redémarrage, etc. Il s'agit d'API natives fournies par macOS qui n'ont pas d'équivalents dans les environnements de bureau Linux.
Riche en fonctionnalités
Ghostty s'efforce de fournir un ensemble riche de fonctionnalités utiles au quotidien. Celles-ci peuvent être divisées en deux catégories : les fonctionnalités du terminal et les fonctionnalités de l'application.
Les fonctionnalités du terminal comprennent les capacités que les programmes s'exécutant dans le terminal peuvent utiliser. Par exemple, Ghostty supporte le protocole graphique Kitty, les notifications de mode clair/foncé, les hyperliens, etc. Cela permet à des applications de terminal comme Neovim, Zellij et d'autres de faire plus que ce qu'elles pourraient faire avec d'autres émulateurs de terminal2.
Les fonctionnalités de l'application sont des fonctionnalités de haut niveau qui sont utiles pour interagir avec l'émulateur de terminal lui-même. Par exemple, Ghostty supporte les onglets natifs, les séparations, un terminal déroulant sur macOS, le changement de thème sur le mode sombre/lumineux du système, etc.
Rapide
Ghostty se veut rapide. Ghostty vise à être dans la même classe que les émulateurs de terminal les plus rapides. Dans certains benchmarks, il est plus rapide, dans d'autres, il est plus lent, mais dans tous les cas, il devrait être impossible de dire que Ghostty est lent.
Le mot "rapide" est également un terme très vague, car il peut avoir des significations différentes selon les personnes. Par exemple, voici une petite liste de choses qui peuvent être "rapides" : le temps de démarrage, la vitesse de défilement, le débit des entrées-sorties, le débit des séquences de contrôle, le taux de rafraîchissement, etc.
libghostty
Ghostty se différencie également par son architecture. Le cœur de Ghostty est une bibliothèque multiplateforme compatible C-ABI appelée libghostty. libghostty fournit l'émulation de terminal de base, la gestion des polices de caractères et les capacités de rendu.
Les applications graphiques de Ghostty sont des utilisateurs de libghostty. L'application macOS est écrite en Swift, utilise AppKit et SwiftUI, et est liée à l'API C de libghostty. L'application Linux est écrite en Zig, utilise l'API C GTK4, et est également liée à libghostty.
Cette architecture permet une séparation nette entre l'émulation du terminal et l'interface graphique. C'est l'architecture clé qui permet à Ghostty d'atteindre son objectif d'être natif.
Cette architecture rend Ghostty unique puisque le projet Ghostty vise également à permettre à d'autres projets d'émulateurs de terminaux d'être construits à partir d'un noyau partagé. Cela permet un écosystème plus diversifié d'émulateurs de terminaux qui peuvent se concentrer sur des fonctionnalités de haut niveau et des interfaces utilisateur sans avoir besoin de réimplémenter le noyau de l'émulation de terminal.
Source : Ghostty
Et vous ?
Pensez-vous que cet émulateur est crédible ou pertinent ?
Quel est votre avis sur le sujet ?
Voir aussi :
Termux, un émulateur de terminal pour Android et une application en environnement Linux, qui fonctionne directement sans avoir besoin de rooter le smartphone
Windows Terminal est maintenant défini par défaut dans Windows 11 22H2. Toutes les applications en ligne de commande s'ouvriront désormais automatiquement dans Windows Terminal
Ghostty, un émulateur de terminal gratuit qui se distingue par sa rapidité, sa richesse fonctionnelle et son application native pour macOS et Linux
Ghostty, un émulateur de terminal gratuit qui se distingue par sa rapidité, sa richesse fonctionnelle et son application native pour macOS et Linux
Le , par Jade Emy
Une erreur dans cette actualité ? Signalez-nous-la !