Version 1.0.0 av terminalemulatorn Ghostty har slĂ€ppts, som anvĂ€nder GPU för att snabba upp rendering av innehĂ„llet. Projektet drivs av Mitchell Hashimoto, medgrundare av företaget HashiCorp och skapare av projekt som Vagrant och Terraform. Skaparen av Ghostty försöker förverkliga tre egenskaper i den nya terminalemulatorn â hög prestanda, omfattande funktionalitet och ett grĂ€nssnitt som kĂ€nns inhemskt för varje stödd plattform. Koden i projektet Ă€r skriven i Zig och distribueras under MIT-licensen. Klara sammansĂ€ttningar har skapats för Linux och macOS.
För att bygga grÀnssnittet i sammansÀttningarna för Linux anvÀnds GTK-biblioteket, medan SwiftUI-ramverket anvÀnds för macOS, vilket möjliggör anvÀndning av inbyggda dialoger, menyer, instÀllningsgrÀnssnitt och fönsterstil för varje plattform. För att snabba upp rendering i Linux anvÀnds OpenGL-grafik-API, och i macOS anvÀnds Metal. Prestandan ökas ocksÄ tack vare anvÀndningen av en separat trÄd för in- och utdata.
I utförda tester var Ghostty fyra gÄnger snabbare Àn terminalemulatorerna iTerm och Kitty samt dubbelt sÄ snabb som Terminal.app vid uppvisning av innehÄllet i en stor fil, till exempel med kommandot 'cat big_file.txt'. Vid jÀmförelse med Alacritty var prestandan hos Ghostty ungefÀr pÄ samma nivÄ, men Alacritty ligger efter Ghostty vad gÀller funktionalitet.
I terminalen kan emoji, hyperlÀnkar, komplexa grafemer och ligaturer (ihopslagning av flera tecken till ett, som 'Ê') visas. För att kunna visa bilder direkt i terminalen kan Kitty-protokollet anvÀndas. För att integrera Ghosttys funktionalitet i andra applikationer utvecklas biblioteket libghostty, som Àr kompatibelt med projekt skrivna i C och gör det möjligt att snabbt integrera terminalemulatorn i sina produkter.
GrÀnssnittet stöder mörka och ljusa teman, fönsteruppdelning för samtidig visning av flera sessioner och vÀxling mellan sessioner med flikar. Terminalen uppfyller kraven i ECMA-4-standarden, men stödjer ocksÄ icke-standardiserade tillÀgg och escape-sekvenser, sÄsom de som erbjuds i xterm.
KĂ€lla: opennet.ru
