ĂshtĂ« publikuar versioni 1.0.0 i emulatorit tĂ« terminalit Ghostty, i cili pĂ«rdor GPU pĂ«r tĂ« akceleruar rendering-un e pĂ«rmbajtjes. Projekti zhvillohet nga Mitchell Hashimoto, bashk founder i kompanisĂ« HashiCorp dhe krijues i projekteve si Vagrant dhe Terraform. Autori i Ghostty-t pĂ«rpiqet tĂ« integrojĂ« tre cilĂ«si nĂ« kĂ«tĂ« emulator tĂ« ri tĂ« terminalit - performancĂ« tĂ« lartĂ«, funksionalitet tĂ« gjerĂ« dhe njĂ« ndĂ«rfaqe qĂ« duket e njohur pĂ«r çdo platformĂ« tĂ« mbĂ«shtetur. Kodi i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n Zig dhe shpĂ«rndahet nĂ«n licensĂ«n MIT. NdĂ«rtime tĂ« gatshme janĂ« formuar pĂ«r Linux dhe macOS.
Për ndërtimin e ndërfaqes në ndërtimet për Linux, është përdorur biblioteka GTK, ndërsa për macOS - framerku SwiftUI, që e lejon përdorimin e dialogëve, menuve, ndërfaqes për modifikimin e konfigurimeve dhe stilizimin e dritareve të zakonshme për çdo platformë. Për të përshpejtuar rendering-un në Linux, përdoret API grafik OpenGL, ndërsa në macOS - Metal. Performanca gjithashtu rritet falë përdorimit të një rrjedhe të veçantë për input/output.
Në testet e kryera, Ghostty doli të jetë 4 herë më i shpejtë se emulatorët e terminalit iTerm dhe Kitty, dhe 2 herë më i shpejtë se Terminal.app, kur shfaq përmbajtjen e një skedari të madh, për shembull, me komandën "cat big_file.txt". Kur krahasohet me Alacritty, performanca e Ghostty ishte në një nivel të ngjashëm, por Alacritty mbetet mbrapa në funksionalitetin nga Ghostty.
Në terminal mund të shfaqen emoji, hyperlink, grafema të ndërlikuara dhe ligatura (shkrirja e disa simboleve në një, për shembull, "Ê"). Për shfaqjen e imazheve direkt në terminal mund të përdoret protokolli Kitty. Për të integruar funksionalitetin e Ghostty në aplikacione të tjera, po zhvillohet biblioteka libghostty, e cila është e pajtueshme me projektet në gjuhën C dhe lejon integrimin e shpejtë të emulatorit të terminalit në produktet tuaja.
Interfaca mbështet tema të errëta dhe të ndriçuara, ndarjen e dritares për shfaqjen e disa seancave njëkohësisht, dhe ndërrimin ndërmjet seancave përmes tab-eve. Terminali i përgjigjet kërkesave të standardit ECMA-4, por gjithashtu mbështet zgjerimet dhe sekuencat e escape që nuk janë përfshirë në standard, për shembull, ato që ofrohen në xterm.
Burimi: opennet.ru
