Представлен публике публичный демо-проект Ghostling — минималистичный терминал на основе libghostty

2 мин
Представлен публике публичный демо-проект Ghostling — минималистичный терминал на основе libghostty

Команда проекта Ghostty (разрабатывает эмулятор терминала с GPU-ускорением для отрисовки контента) представила открытый демо-проект Ghostling — минималистичный терминал на основе libghostty.

«Ghostling — это демонстрационный проект, призванный показать минимальный функциональный терминал, построенный на основе C api libghostty в одном файле C». — пояснили арзрабочтики решения.

В проекте используется Raylib для работы с окнами и рендеринга. Проект однопоточный (хотя libghostty-vt поддерживает многопоточность) и использует 2D-графический рендерер вместо прямого рендерера GPU, как главный графический оболочку Ghostty. Это сделано для демонстрации гибкости libghostty и того, как его можно использовать в различных контекстах.

«Предупреждение: терминал Ghostling не предназначен для повседневного использования в качестве полноценного терминала. Это минимальный жизнеспособный терминал, основанный на libghostty. В дополнение к этого, поскольку это, по сути, презентация, я не проверял тщательно каждое место на корректность, и это C, так что вы предупреждены», — уточнил один из разработчиков Ghostling.

Libghostty — это встраиваемая библиотека, извлечённая из ядра Ghostty, предоставляющая api на C и Zig, за счёт чему любое приложение может встраивать корректную и быструю эмуляцию терминала.

Инициатива Ghostling использует libghostty-vt, библиотеку без зависимостей (даже без libc), которая обрабатывает парсинг последовательности VT, управление состоянием терминала (положение курсора, стили, переформатирование текста, прокрутка и управление состоянием рендерера. Эта библиотека не содержит кода отрисовки или оконного отображения; потребитель (в данном случае Ghostling) предоставляет свой собственный исходник для этих действий. Основная логика в проекте извлечена непосредственно из Ghostty и наследует всё его преимущества: полная сопровождение эмуляции терминала, SIMD-оптимизированный парсинг, поддержка Unicode, высокооптимизированное использование памяти.

Особенности проекта:

  • модификация размера с переформатированием текста;

  • полная поддержка 24-битного цвета и 256-цветной палитры;

  • разные стили текста;

  • обработка Unicode и multi-codepoint grapheme (без изменения формы или слоёв);

  • ввод с клавиатуры с поддержкой модификаторов (Shift, Ctrl, Alt, Super);

  • сопровождение протокола клавиатуры Kitty;

  • отслеживание мыши (режимы X10, обычный, клавиша и любое событие);

  • форматы отчётов мыши (SGR, URxvt, UTF8, X10);

  • поддержка колёсика мыши (прокрутка назад или переадресация в приложения);

  • полоса прокрутки с перетаскиванием мыши для прокрутки.

В будущем авторы проекта планируют добавить поддержку протокола графики Kitty, поддержку буфера обмена OSC и настройки заголовков OSC.

Читают сейчас

Разработчик Amazon выявил регрессию в тестовом ядре Linux 7.0, в два раза снижающую эффективность PostgreSQL

9 минут назад

Разработчик Amazon выявил регрессию в тестовом ядре Linux 7.0, в два раза снижающую эффективность PostgreSQL

Разработчик из Amazon Сальваторе Дипьетро обнаружил регрессию при тестировании СУБД PostgreSQL и компонентов готовившегося к релизу ядра Linux 7.0. Выпуск новой версии ядра Linux, которая будет исполь

Экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны

1 час назад

Экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны

В НАСА сообщили, что экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны. В настоящий момент корабль находится приблизительно в 141 тыс. км от Луны

Представлен публике дистрибутив Netrunner 26 на Debian 13 «Trixie» и Linux 6.16

1 час назад

Представлен публике дистрибутив Netrunner 26 на Debian 13 «Trixie» и Linux 6.16

В начале апреля 2026 года разработчик проекта Nitrux Ури Эррера объявил о выпуске и общедоступности сборки Netrunner 26 (кодовое название Twilight), спустя более года после выхода Netrunner 25. Инициа

Версия библиотеки meshoptimizer 1.1

2 часа назад

Версия библиотеки meshoptimizer 1.1

2 апреля 2026 года разработчик Arseny Kapoulkine (zeux) представил обновление открытой библиотеки meshoptimizer 1.1. Исходный исходник проекта написан на C++ и JavaScript и опубликован на GitHub под л

Claude Code нашел 23-летний дефект в Linux

8 часов назад

Claude Code нашел 23-летний дефект в Linux

Николас Карлини, исследователь из Anthropic, рассказал на конференции [un]prompted 2026, что с помощью Claude Code обнаружил несколько удаленно эксплуатируемых уязвимостей в ядре Linux. Одна из них —