Udgaven af terminalemulatoren Ghostty 1.0.0 er offentliggjort, som bruger GPU til at accelerere indholdsgengivelsen. Projektet ledes af Mitchell Hashimoto, medstifter af HashiCorp og skaber af projekter som Vagrant og Terraform. Forfatteren af Ghostty forsøger at inkorporere tre kvaliteter i den nye terminalemulator - høj ydeevne, omfattende funktionalitet og et interface, der ser hjemmevant ud på hver understøttet platform. Koden for projektet er skrevet i Zig og distribueres under MIT-licensen. Færdige builds er blevet dannet til Linux og macOS.
Til opbygning af interfacet i builds til Linux anvendes GTK-biblioteket, og for macOS - SwiftUI-rammen, hvilket har gjort det muligt at bruge standarddialoger, menuer, indstillinger og vinduesstil for hver platform. For at accelerere gengivelsen på Linux bruges OpenGL grafik-API, og på macOS - Metal. Ydelsen forbedres også ved at anvende en separat tråd til input/output.
I gennemførte tests viste Ghostty sig at være 4 gange hurtigere end terminalemulatorerne iTerm og Kitty, og 2 gange hurtigere end Terminal.app, når der blev vist indhold fra en stor fil, for eksempel ved hjælp af kommandoen «cat big_file.txt». Sammenlignet med Alacritty var Ghosttys ydeevne omtrent på samme niveau, men Alacritty falder bagud med hensyn til funktionalitet.
Terminalen kan vise emoji, hyperlinks, komplekse grafemer og ligaturer (sammenlægning af flere tegn til ét, for eksempel «æ»). Protokollen Kitty kan bruges til at vise billeder direkte i terminalen. For at integrere Ghostty-funktionaliteten i andre applikationer udvikles libghostty-biblioteket, som er kompatibelt med projekter i C og muliggør hurtig integration af terminalemulatoren i egne produkter.
Interfacet understøtter mørke og lyse temaer, vinduesopdeling for samtidig visning af flere sessioner og skift mellem sessioner ved hjælp af faner. Terminalen opfylder kravene til ECMA-4-standarden, men understøtter også ikke-standardudvidelser og escape-sekvenser, for eksempel dem, der foreslås i xterm.
Kilde: opennet.ru
