A Ghostty terminál emulátor első kiadása

Megjelent a Ghostty 1.0.0 terminálemulátor, amely a GPU-t használja a tartalommegjelenítés felgyorsítására. A projektet Mitchell Hashimoto, a HashiCorp társalapítója és olyan projektek alkotója fejleszti, mint a Vagrant és a Terraform. A Ghostty szerzője három tulajdonságot próbál megtestesíteni az új terminálemulátorban – nagy teljesítményt, széleskörű funkcionalitást és egy olyan interfészt, amely minden támogatott platformon natívnak tűnik. A projekt kódja Zig nyelven íródott, és az MIT licenc alatt kerül terjesztésre. A kész összeállítások Linux és macOS számára készültek.

Az interfész felépítéséhez Linux-összeállításokban a GTK könyvtárat, a macOS-hez pedig a SwiftUI keretrendszert használják, amely lehetővé tette a szabványos párbeszédpanelek, az egyes platformokhoz tartozó menük, a beállítások módosítására szolgáló felület és az ablakstílus használatát. A renderelés felgyorsítása érdekében a Linux az OpenGL grafikus API-t, a macOS pedig a Metalt használja. A teljesítményt az I/O külön szál használata is javítja.

A tesztek során a Ghostty 4-szer gyorsabbnak bizonyult, mint az iTerm és Kitty terminálemulátorok, a Terminal.app pedig 2-szer gyorsabbnak bizonyult egy nagy fájl tartalmának megjelenítésekor, például a „cat big_file.txt” paranccsal. . Az Alacrittyhoz képest a Ghostty teljesítménye nagyjából megegyezett, de az Alacrtty funkcionalitásban elmarad a Ghostty mögött.

A terminál emojikat, hiperhivatkozásokat, összetett grafémákat és ligatúrákat tud megjeleníteni (több karakter egyesítésével, például „æ”). A Kitty protokoll segítségével közvetlenül a terminálon jeleníthetők meg képek. A Ghostty funkciók más alkalmazásokba való beágyazásához a libghostty könyvtár fejlesztés alatt áll, amely kompatibilis a C nyelvű projektekkel, és lehetővé teszi, hogy gyorsan integráljon terminálemulátort a termékeibe.

Az interfész támogatja a sötét és világos témákat, felosztja az ablakot több munkamenet egyidejű megjelenítéséhez, és a munkamenetek közötti váltást lapok segítségével. A terminál megfelel az ECMA-4 szabványnak, de támogatja a nem szabványos kiterjesztéseket és escape szekvenciákat is, például az xterm által kínáltakat.

Forrás: opennet.ru

Hozzászólás