Utgivelsen av terminalemulatoren Ghostty 1.0.0 er nĂ„ offentlig, og den bruker GPU for Ă„ akselerere rendering av innhold. Prosjektet ledes av Mitchell Hashimoto, medgrĂŒnder av HashiCorp og skaper av prosjekter som Vagrant og Terraform. Skaperen av Ghostty prĂžver Ă„ innlemme tre egenskaper i denne nye terminalemulatoren â hĂžy ytelse, omfattende funksjonalitet og et grensesnitt som ser innfĂždt ut pĂ„ hver stĂžttet plattform. Koden til prosjektet er skrevet i Zig og distribueres under MIT-lisensen. Ferdige bygger er laget for Linux og macOS.
For Ä bygge grensesnittet i bygningene for Linux brukes GTK-biblioteket, mens for macOS brukes SwiftUI-rammeverket, noe som har gjort det mulig Ä bruke native dialogbokser, menyer, innstillingsgrensesnitt og vindusstilsetting for hver plattform. For Ä akselerere rendering pÄ Linux brukes OpenGL grafikk-API, mens Metal brukes pÄ macOS. Ytelsen forbedres ogsÄ ved Ä bruke en egen trÄd for inn- og utdata.
I tester viste Ghostty seg Ä vÊre fire ganger raskere enn terminalemulatorene iTerm og Kitty, og to ganger raskere enn Terminal.app ved skjermutskrift av innhold fra store filer, for eksempel ved bruk av kommandoen «cat big_file.txt». Sammenlignet med Alacritty var ytelsen til Ghostty omtrent pÄ samme nivÄ, men Alacritty faller bak Ghostty med hensyn til funksjonalitet.
Terminalen kan vise emoji, hyperkoblinger, komplekse grafemer og ligaturer (sammensmelting av flere tegn til ett, for eksempel «Ê»). For Ä vise bilder direkte i terminalen kan Kitty-protokollen brukes. For Ä integrere Ghostty-funksjonaliteten i andre applikasjoner, utvikles biblioteket libghostty, kompatibelt med prosjekter i C og gjÞr det raskt Ä integrere terminalemulatoren i egne produkter.
Grensesnittet stÞtter mÞrke og lyse temaer, vindussplitting for samtidig visning av flere sesjoner, og sesjonsbytte ved hjelp av faner. Terminalen oppfyller kravene i ECMA-4-standarden, men stÞtter ogsÄ utvidelser og escape-sekvenser som ikke er inkludert i standarden, for eksempel de som tilbys av xterm.
Kilde: opennet.ru
