
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 ?


Voir aussi :


Vous avez lu gratuitement 0 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.