суббота, 14 ноября 2026 г.
Rīga TV

Мировые и латвийские новости в одном месте

ТехнологииОпубликовано: 14 ноября 2026 г. в 07:13

Мейнтейнер Ratatui предложил терминальный протокол для линий на границах ячеек

Мейнтейнер библиотеки с открытым кодом Ratatui Joshka подготовил черновик протокола, позволяющего терминалам рисовать рамки на границах ячеек, не расходуя целую строку или столбец. Протокол реализован в патче для терминала Ghostty, автор просит отзывов у разработчиков терминалов и TUI-приложений.

Foto: Hacker News (≥150 p.)

Joshka, поддерживающий Ratatui — популярную библиотеку для создания текстовых пользовательских интерфейсов (TUI), — опубликовал черновик терминального протокола для рисования тонких линий на границах символьных ячеек. Сегодня рамки в терминалах обычно рисуют символами блока Unicode Box Drawing, поэтому каждая линия занимает целую ячейку. Автор ищет отзывы разработчиков терминалов и TUI-приложений.

В чём проблема

Символы рамок — это текст, поэтому они занимают место. Автор отмечает, что в терминале 200x50 с несколькими вложенными панелями на одни лишь линии может уходить 6–8 строк из 50. Линию нельзя провести и между двумя заполненными ячейками, поэтому для подчёркивания текстового поля или обводки кнопки нужны дополнительные отступы. При копировании текста из приложения вместе с ним копируются и символы рамки.

Как это работает

Граница ячейки — это атрибут ячейки, подобно цвету фона. В каждой ячейке может быть до двенадцати отрезков линий: обе половины каждого из четырёх краёв и четыре луча из центра. У каждого отрезка свои цвет, толщина, положение и стиль. Линии могут быть сплошными, двойными, пунктирными или точечными, а углы — прямыми или скруглёнными. Границы хранятся в ячейках, поэтому прокручиваются, стираются и переносятся вместе с текстом.

Команды передаются одной DCS-строкой. Приложение проверяет поддержку запросом и следующим за ним DA1; если поддержки нет, оно использует обычные символы рамок. Терминалы, не знающие протокола, строку игнорируют. Мультиплексоры вроде tmux, не знающие о нём, должны её отбрасывать.

Реализация

Патч для Ghostty занимает около 1650 строк, значительная часть которых — тесты. Каждой ячейке добавляется 16-битный идентификатор границы, поэтому размер ячеек не растёт. Автор признаёт, что производительность ещё не измерялась должным образом. Патч проверялся только на macOS, а протокол следует считать черновиком.

Комментарии

0/1500

Комментарии модерируются автоматически. Запрещены ненависть, угрозы, личные данные и спам.

Загрузка комментариев…

Ещё в этой категории

Технологии

Рост Мальты на основе цифровизации: чему может научиться Латвия

Делегация правительства Мальты представила подход страны к цифровой трансформации на мероприятии Бизнес-высшей школы «Турība». В авторской колонке на Delfi говорится, что Латвия может учесть опыт Мальты в сфере ИИ и цифровых навыков.

Delfi · 48 мин назад

Технологии

Microsoft «глубоко сожалеет» о глобальном сбое, который может обойтись Австралии в миллиарды

Американская софтверная компания Microsoft извинилась за сбой длительностью около 18 часов, затронувший пользователей по всему миру. Австралийские эксперты предупреждают, что ущерб для экономики страны может составить миллиарды долларов.

The Guardian World · 1 ч назад

Технологии

В США более четырёх часов были приостановлены все вылеты из-за сбоя телекоммуникаций

Федеральное управление гражданской авиации США в пятницу более чем на четыре часа запретило вылеты по всей стране из-за сбоя телекоммуникаций в системе управления воздушным движением. Запрет сняли в 20:15 по восточному времени, но тысячи рейсов задержаны или отменены.

The Verge · 3 ч назад

Мейнтейнер Ratatui предложил терминальный протокол для линий на границах ячеек — Rīga TV