Bylo vydáno vydání terminálového emulátoru Ghostty 1.0.0, který využívá GPU pro zrychlení vykreslování obsahu. Projekt rozvíjí Mitchell Hashimoto, spoluzakladatel společnosti HashiCorp a tvůrce projektů jako Vagrant a Terraform. Autor Ghostty se snaží ve novém terminálovém emulátoru zrealizovat tři vlastnosti — vysoký výkon, širokou funkčnost a rozhraní, které vypadá přirozeně na každé podporované platformě. Kód projektu je napsán v jazyce Zig a je distribuován pod licencí MIT. Hotové sestavy byly vytvořeny pro Linux a macOS.
Pro vytvoření rozhraní v sestavách pro Linux byla použita knihovna GTK, a pro macOS — framework SwiftUI, což umožnilo využít nativní dialogy, menu, uživatelské rozhraní pro změnu nastavení a stylizaci oken pro každou platformu. Pro zrychlení vykreslování v Linuxu se používá grafické API OpenGL, a v macOS — Metal. Výkon je také zvýšen díky použití samostatného vlákna pro vstup/výstup.
V provedených testech byl Ghostty čtyřikrát rychlejší než terminálové emulátory iTerm a Kitty a dvakrát rychlejší než Terminal.app při vykreslování obsahu velkého souboru, například pomocí příkazu „cat big_file.txt“. Při srovnání s Alacritty byl výkon Ghostty přibližně na stejné úrovni, ale Alacritty zaostává z hlediska funkčnosti za Ghostty.
V terminálu mohou být zobrazeny emoji, hypertextové odkazy, složité grafémy a ligatury (spojení několika symbolů v jeden, například „æ“). Pro vykreslení obrázků přímo v terminálu může být použit protokol Kitty. Pro integraci funkcionality Ghostty do jiných aplikací se vyvíjí knihovna libghostty, která je kompatibilní s projekty v jazyce C a umožňuje rychlou integraci terminálového emulátoru do vašich produktů.
Rozhraní podporuje světlé a tmavé motivy, rozdělení okna pro současné zobrazení více relací, přepínání mezi relacemi pomocí karet. Terminál vyhovuje požadavkům standardu ECMA-4, ale podporuje také rozšíření a escape sekvence, které nejsou zahrnuty ve standardu, například nabízené v xterm.
Zdroj: opennet.ru
