LINUX.ORG.RU

Foot 1.25

 foot, ,


0

4

Состоялся выпуск эмулятора терминала Foot 1.25.

Foot — быстрый, легковесный и активно развиваемый эмулятор терминала для композиторов, использующий протокол Wayland.

Ключевые особенности:

  • Минимум зависимостей. Установка foot в систему со Sway WM приводит к добавлению 3 мегабайт зависимостей.
  • Ручная отрисовка. Foot не использует OpenGL или Vulkan и полагается исключительно на API, предоставляемые композитором Wayland.

Несмотря на заявленную минималистичность, foot поддерживает большое количество фич, полезных в работе:

  • Режим «клиент-сервер» по образцу urxvt. Позволяет сократить потребление ресурсов в случаях, когда требуется запустить много эмуляторов терминала.
  • Рендеринг с учетом гамма-коррекции. Правильно применяет гамма-коррекцию при смешивании цветов (blending), отображая шрифты, особенно небольшого размера, именно так как это было задумано их авторами. Эта фича требует поддержки wayland-протокола color-management в композиторе (в Sway этот протокол доступен только при использовании пока отключенного по умолчанию рендерера Vulkan).
  • Базовая поддержка показа изображений с использованием сиксельной графики. Для просмотра изображения в терминале можно воспользоваться входящей в состав библиотеки libsixel утилитой img2sixel.
  • Смена размера шрифта и переключение на альтернативную тему по хоткею. На альтернативную тему также можно переключаться по сигналу, что полезно при автоматическом включении ночного режима с помощью darkman и подобных утилит.
  • Поддержка семантической разметки командной строки с помощью OSC-133. Позволяет по хоткею прокручивать терминал к предыдущей введенной команде, или например копировать вывод команды в буфер обмена.
  • Поддержка работы с буфером обмена при помощи OSC-52 и десктопными уведомлениями при помощи OSC-99. Эти фичи позволяют копировать текст в буфер обмена и показывать уведомления приложениям, которые запущены по ssh и по умолчанию не имеют доступа к локальным ресурсам.
  • Поддержка режима, похожего на easymotion, для URL и произвольных регулярных выражений.

Код программы написан на языке Си и распространяется под лицензией MIT.

Изменения с момента выхода предыдущей версии:

  • Повышена производительность рендеринга при использовании композиторов, требующих двойную буферизацию, таких как KWin.
  • Добавлена настройка, позволяющая задавать минимальное выравнивание шага (stride) буфера. Это позволяет загружать буферы напрямую в видеопамять, избегая лишних копирований (zero-copy). Особенно актуально на встроенных видеокартах AMD.
  • Метки URL теперь подсвечиваются согласно установленной цветовой схеме.

>>> Подробности

★★★★★

Проверено: CrX ()
Последнее исправление: CrX (всего исправлений: 2)

Пользуюсь, работает, лёгкий и быстрый, при этом всё, что надо, есть, а лишнего нет.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Ручная отрисовка. Foot не использует OpenGL или Vulkan и полагается исключительно на API, предоставляемые композитором Wayland.

В конечном итоге эта поверхность всё равно уезжает в текстуру и отрисовывается OpenGL/Vulkan. Нужно вместо сжатого маппинга с символами каждый кадр передавать целиком в GPU попиксельно целую плоскость. Вот так минималистичное™ решение поедает батарейку сильнее, чем тот же тяжёлый алакритти.

neumond ★★
()

Эталонный «простой» терминал, быстро работает и из-за отсутствия лишних заморочек ничего не ломается с обновлениями. Самое то, если запускаешь какой-нибудь мультиплексор.

altwazar ★★★★★
()

Повышена производительность рендеринга при использовании композиторов, требующих двойную буферизацию, таких как KWin

Вот с этого места поподробнее. Проблемы с KWin или с терминалом? Как это понять? А что есть не требующие двойной буферизации? Кто-нибудь разжуйте, пожалуйста.

R_He_Po6oT ★★★★★
()

И даже не на Rust.

wandrien ★★★
()

Самый вменяемый терминал под вяленым.

iron ★★★★★
()

А зачем композиторам эмулятор терминала? Вроде, есть более удобные инструменты для написания музыки, не?

red_dragon
()

приводит к добавлению 3 мегабайт зависимостей

Слава тибе хосспади! А то я уж боялся что целых 4 добавится!

Серьёзно, на чём работают те, кого это парит? На микроконтроллёре фаллоимитатора?

zabbal ★★★★★
()

Минимум зависимостей.

3 мегабайт зависимостей

Ну вы поняли

pihter ★★★★★
()

Хорошая замена xterm. Хоть что-то полезное в мире вяленда.

bread
()

Минимум зависимостей.
Установка foot в систему со Sway WM приводит к добавлению 3 мегабайт зависимостей.

/0

mittorn ★★★★★
()
Ответ на: комментарий от red_dragon

В X11 терминалов — как симфоний у Моцарта. Композиторы просто не дождались финала и ушли на Wayland.

kafka
()

использующий протокол Wayland.
../meson.build:56:0: ERROR: Dependency «wayland-protocols» not found, tried pkgconfig and cmake

т.е. на «обычном/не воланд» линуксе не соберется/не запуститься, так?

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

откудо вам известно? у кашпировкого курсы брали?! (а еще из культурной столицы)

по делу, без самовыеживания есть что сказать?
вопрос был задан не вам, но уж коли решились ответить - то и отвечайте нормально! :о)

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 5)
Ответ на: комментарий от nuxster

А есть там встроенный мультиплексор и табы как в kitty?

В WezTerm есть. Использую его много лет, и ничего лучшего для себя пока не находил.
Да, он на Расте, если это важно. :)

dataman ★★★★★
()
Ответ на: комментарий от sunjob

foot - эмулятор терминала работающий исключительно с вяленд, ибо by design

tnray
()
Ответ на: комментарий от dataman

WezTerm

Очень глючное. Когда я его пробовал, он постоянно вылетал с ошибками. А потом просто перестал запускаться в wayland при дробном масштабировании, соответствующие issue висят уже года полтора.

Пока для меня лучший терминал, это ghostty. Не на rust, но на zig, если это важно.
И метрика соответствующая: у ghostty 147 открытых issue при 37k ★, против 1300 открытых issue, при 22k ★ у wezterm.

surefire ★★★
()
Ответ на: комментарий от surefire

Очень глючное
wayland

А, у меня на иксах ни разу не падал. :)

dataman ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.