Терминалом на libghostty пользуется больше людей, чем самим Ghostty
Libghostty 1.0
Вышла libghostty-vt 1.0 — портируемая C-библиотека эмуляции терминала, извлечённая из ядра Ghostty. Теперь стабильны и сама библиотека, и C ABI: версионирование по semver, проверка совместимости через libabigail в CI, пакеты для всех основных ОС. На ней уже работают терминал в JetBrains IDE (12,5 млн активных пользователей), Neovim, Turborepo, OrbStack и более сотни проектов с биндингами для десятков языков.
Сегодня терминалом на основе libghostty пользуется гораздо больше людей, чем приложением Ghostty, — с очень большим отрывом.
- jdorfman
> «И целая волна новых терминалов и "агентных" инструментов для кодинга, таких как herdr и cmux, была построена на нём, вместо того чтобы писать ещё один эмулятор.»
Митчелл мог бы легко протащить туда свой конкурирующий продукт Rex, но удержался. Уважение.
- melodyogonna
Это момент LLVM для терминалов
- jwr
Благодаря libghostty и усилиям многих замечательных людей я могу использовать ghostel в Emacs для быстрой и надёжной эмуляции терминала. В основном я использую это для запуска нескольких сессий Claude Code и Codex, и это отлично работает!
Спасибо, Митчелл!
- smj-edison
Сейчас я работаю над своим проектом на Zig (интерпретатор) и как раз занимаюсь проектированием C-интерфейса для него. Упоминания вещей вроде объектов как непрозрачных хэндлов или геттеров и сеттеров с ключами-перечислениями заставили меня задуматься о том, насколько неуклюж мой текущий API, поскольку я раскрываю слишком много деталей вызывающему коду.
Что действительно привлекло моё внимание, так это: «Поэтому с самого начала я вдохновлялся C-библиотеками, с которыми мне нравилось работать, и спроектировал API так, чтобы у него был сильный, стабильный ABI, допускающий будущие дополнения». Какие есть хорошие примеры этого? Мне кажется, у меня просто недостаточно опыта с хорошо спроектированными C-библиотеками, чтобы знать, на что обращать внимание.
- JuniperMesos
Libghostty — очень крутой проект, это захватывающий релиз, честь и хвала mitchellh за то, что он возглавил это, а также всем людям, которые внесли вклад в проект. Сегодня я использую ghostty как свой основной эмулятор терминала, и несколько месяцев назад я экспериментировал с использованием libghostty в Android-проекте, к которому планирую когда-нибудь вернуться, когда будет время, так что я лично выигрываю от этой работы.
- nigehban
Я пользовался ghostty с самого его появления, потом Митчелл показал возможности рендеринга для kitty, и я установил kitty, забросив всё остальное. Может, статистически это и неверно, но мне кажется, что переходы, анимации и рендеринг в терминале kitty превосходят ghostty. Мне не хватает только некоторых навороченных настроек раскладки окон/панелей (не уверен, что в kitty вообще есть окна) и именования. Кроме этого, kitty — мой ежедневный инструмент для любой агентной среды.
P.S. С моей точки зрения, Митчелл — неугомонный трудоголик по части производительности. Я наблюдаю это ещё со времён vagrant (это также меня огорчает, потому что напоминает, что я старею).
- spudlyo
Одна из областей, где Ghostty действительно сияет, — это навороченные TUI-программы вроде агента pi. У Pi относительно недавно появилась функция tuiMode "fullscreen", и она исключительна. Показ встроенных изображений с помощью графического протокола Kitty тоже стал огромным улучшением — обожаю, когда модель вызывает `read` для файла изображения, и я вижу результаты в своём терминале. Поддержка гиперссылок OSC-8 тоже очень удобна. Прокрутка вьюпорта супербыстрая, и pi может скрывать/показывать полосу прокрутки по мере необходимости.
- ximm
> Каждый баг, о котором сообщает любой встраивающий libghostty-vt, делает всех остальных в экосистеме лучше. Каждая функция, которую мы выпускаем в libghostty-vt, быстро и безопасно становится доступной всем. Терминалы могут двигаться быстрее с меньшей фрагментацией.
Может кто-нибудь сравнить с libvte? Есть много терминалов, которые представляют собой просто тонкую обёртку вокруг неё (gnome-terminal, xfce4-terminal, mate-terminal, lxterminal, sakura, …). Она привязана к GTK, так что её область применения гораздо уже. Но всё же по духу она кажется родственной.