Eerste release van de Ghostty-terminalemulator

De Ghostty 1.0.0-terminalemulator is uitgebracht, waarbij de GPU wordt gebruikt om het renderen van inhoud te versnellen. Het project wordt ontwikkeld door Mitchell Hashimoto, mede-oprichter van HashiCorp en bedenker van projecten als Vagrant en Terraform. De auteur van Ghostty probeert drie kwaliteiten te belichamen in de nieuwe terminalemulator: hoge prestaties, uitgebreide functionaliteit en een interface die er eigen uitziet voor elk ondersteund platform. De projectcode is geschreven in Zig en wordt gedistribueerd onder de MIT-licentie. Er worden kant-en-klare samenstellingen gemaakt voor Linux en macOS.

Om de interface in assembly's voor Linux te bouwen, wordt de GTK-bibliotheek gebruikt en voor macOS het SwiftUI-framework, dat het mogelijk maakte om standaarddialogen, menu's voor elk platform, een interface voor het wijzigen van instellingen en vensterstijl te gebruiken. Om het renderen te versnellen gebruikt Linux de OpenGL grafische API, en macOS gebruikt Metal. De prestaties worden ook verbeterd door een aparte thread voor I/O te gebruiken.

In de tests bleek Ghostty 4 keer sneller te zijn dan de iTerm- en Kitty-terminalemulators, en Terminal.app - 2 keer sneller, bij het weergeven van de inhoud van een groot bestand, bijvoorbeeld met behulp van de opdracht "cat big_file.txt" . In vergelijking met Alacritty waren de prestaties van Ghostty ongeveer hetzelfde, maar Alacritty blijft qua functionaliteit achter bij Ghostty.

De terminal kan emoji, hyperlinks, complexe grafemen en ligaturen weergeven (waarbij verschillende tekens tot één worden samengevoegd, bijvoorbeeld “æ”). Het Kitty-protocol kan worden gebruikt om afbeeldingen rechtstreeks in de terminal weer te geven. Om Ghostty-functionaliteit in andere applicaties in te bedden, wordt de libghostty-bibliotheek ontwikkeld, compatibel met projecten in de C-taal en waarmee u snel een terminalemulator in uw producten kunt integreren.

De interface ondersteunt donkere en lichte thema's, splitst het venster om meerdere sessies tegelijkertijd weer te geven en schakelt tussen sessies met behulp van tabbladen. De terminal voldoet aan de ECMA-4-standaard, maar ondersteunt ook niet-standaard extensies en escape-sequenties, zoals die aangeboden door xterm.

Bron: opennet.ru

Voeg een reactie