Опубликован выпуск эмулятора терминала Ghostty 1.0.0, использующего GPU для ускорения отрисовки содержимого. Автор Ghostty пытается воплотить в одном приложении три качества - высокую производительность, обширную функциональность и интерфейс, выглядящий родным для каждой поддерживаемой платформы. Код проекта написан на языке Zig и распространяется под лицензией MIT. Готовые сборки сформированы для Linux и macOS.
Для построения интерфейса в сборках для Linux задействована библиотека GTK, а для macOS - фреймворк SwiftUI, что позволило использовать штатные для каждой платформы диалоги, меню, интерфейс для изменения настроек и стилизацию окон. Для ускорения отрисовки в Linux используется графический API OpenGL, а в macOS - Metal. Производительность также повышается благодаря применения отдельного потока для ввода/вывода.
В проведённых тестах Ghostty оказался быстрее эмуляторов терминала iTerm и Kitty в 4 раза, а Terminal.app - в 2 раза, при выводе на экран содержимого большого файла, например, при помощи команды "cat big_file.txt". При сравнении с Alacritty производительность Ghostty была примерно на том же уровне, но Alacritty отстаёт по функциональности от Ghostty.
В терминале могут отображаться emoji, гиперссылки, сложные графемы и лигатуры (слияние нескольких символов в один, например, "æ"). Для вывода изображений непосредственно в терминале может использоваться протокол Kitty. Для встраивания функциональности Ghostty в другие приложения развивается библиотека libghostty, совместимая с проектами на языке Си и позволяющая быстро интегрировать эмулятор терминала в свои продукты.
Интерфейс поддерживает тёмные и светлые темы оформления, разделение окна для одновременного отображения нескольких сеансов, переключение между сеансами при помощи вкладок. Терминал соответствует требованию стандарта ECMA-4, но также поддерживает и не вошедшие в стандарт расширения и escape-последовательности, например, предлагаемые в xterm.
Источник: https://www.opennet.ru/opennews/art.shtml?num=62471