Представлен публике публичный демо-проект 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.

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

Астрономы представили один из крупнейших наборов данных по космологическому моделированию

32 минуты назад

Астрономы представили один из крупнейших наборов данных по космологическому моделированию

Новый набор данных, подготовленный в рамках инициативы FLAMINGO (сокращение от Full‑hydro Large‑scale structure simulations with All‑sky Mapping), содержит более 2,5 петабайта информации. Как отмечает

Save the date: 20 мая встретимся на Inside AI Meetup от Wildberries & Russ

44 минуты назад

Save the date: 20 мая встретимся на Inside AI Meetup от Wildberries & Russ

Что происходит, когда AI выходит за пределы прототипа и попадает в прод? На митапе обсудим реальные кейсы: от высоконагруженной модерации с векторным поиском и AIOps-подходов к управлению ML-сервисами

Ввоз ноутбуков Samsung и Asus в РФ усложнят: что ждёт сегмент после изменения перечня товаров для параллельного импорта

47 минут назад

Ввоз ноутбуков Samsung и Asus в РФ усложнят: что ждёт сегмент после изменения перечня товаров для параллельного импорта

С 27 мая в России вступит в силу запрет на ввоз техники ряда производителей через механизм параллельного импорта. В частности, ноутбуков, ПК, серверов, памяти и систем хранения данных американских Cis

Atari купила права на первые пять игр серии Wizardry

50 минут назад

Atari купила права на первые пять игр серии Wizardry

Американская Atari объявила о приобретении прав на первые пять ролевых игр серии Wizardry. В число купленных тайтлов входят Wizardry: Proving Grounds of the Mad Overlord (1981), Wizardry II: The Knigh

Мира Мурати в суде обвинила Альтмана в обмане и хаосе

51 минуту назад

Мира Мурати в суде обвинила Альтмана в обмане и хаосе

В федеральном суде Окленда (Калифорния) на второй неделе процесса по иску Илона Маска против OpenAI показали видеозапись допроса под присягой Миры Мурати, бывшего CTO компании. Она заявила, что Сэм Ал