Вышел Contour 0.8 — кроссплатформенный терминал с командными блоками и GPU-рендерингом
Открытый терминал Contour 0.8 получил командные блоки, улучшенный поиск, уведомления, поддержку Kitty-анимаций и заметный прирост производительности.
Разработчики представили версию 0.8 открытого мультиплатформенного эмулятора терминала Contour. Проект написан на C++ с использованием Qt 6 и применяет аппаратное ускорение GPU для вывода текста и работы на дисплеях с высокой плотностью пикселей.
Contour доступен для Linux, macOS, FreeBSD, OpenBSD и Windows. Терминал поддерживает шрифтовые лигатуры, включая возможности Fira Code, жирное и курсивное начертания, 256 цветов и Truecolor. Реализована расширенная работа с Unicode: эмодзи, последовательности ZWJ, VS15 и VS16, а также графемные кластеры.
Среди возможностей приложения — постоянные сессии, которые сохраняются после закрытия окна и доступны для повторного подключения локально или по сети. Предусмотрена двусторонняя интеграция с tmux, режимы ввода в стиле Vi, функция scrolloff, маркеры вертикальных линий для навигации по истории и перезагрузка конфигурации без перезапуска.
Терминал умеет работать с прозрачными и фоновыми изображениями, включая размытие в Windows 10 и более новых версиях, а также в KDE и GNOME. Поддерживаются кликабельные ссылки через OSC 8, управление буфером обмена по OSC 52, встроенные изображения Sixel и векторная графика ReGIS для стандартов VT330 и VT340. Также есть режим только для чтения, программируемая строка состояния VT320, захват содержимого буфера страницы и встроенные индикаторы выполнения.
Командные блоки и новая навигация
Главным изменением Contour 0.8 стали «командные блоки». Терминал отслеживает отдельные команды и связывает с ними вывод, код завершения, время выполнения, длительность процесса и рабочий каталог. Команды с ошибками помечаются красным, а выполняющиеся — желтым цветом.
Вывод можно свернуть до одной строки, что особенно удобно при работе с большими логами и командами, генерирующими сотни строк. В боковой панели появились элементы управления сворачиванием, а также опциональные номера строк и временные метки. Заголовок команды остается закрепленным при прокрутке, поэтому пользователь всегда видит, к какой операции относится отображаемый результат.
Для перехода между приглашениями командной строки используются сочетания Ctrl+Shift+Up и Ctrl+Shift+Down. Contour также позволяет копировать предыдущие команды вместе с их выводом и отправляет системные уведомления о завершении длительных операций в неактивном окне. По умолчанию уведомления включаются для команд, выполнение которых заняло не менее 10 секунд.
В версии 0.8 появился автоматический поиск URL и путей к файлам в выводе терминала. Открыть найденный объект можно сочетанием Ctrl и кликом; распознаются и пути с указанием конкретных строк и столбцов. Поиск переработан полностью: вместо прежней строки используется графическая панель с числом совпадений, кнопками перехода и настройкой учета регистра.
Производительность и совместимость
Согласно тестам разработчиков, скорость обработки обычного текста выросла со 166,6 до 310,9 МБ/с, а текста с цветовым оформлением — с 42,7 до 281,9 МБ/с. В полноэкранных терминальных приложениях показатель увеличился с 55,6 до 593,2 МБ/с.
Улучшена работа с графикой: в протокол Kitty добавлена поддержка анимационных кадров. Обработка большого количества изображений также стала быстрее — в одном из тестов время выполнения сократилось с 7,55 до 1,06 секунды.
Расширена интеграция с Bash, Zsh, Fish, Nushell и PowerShell. Для systemd 258 и более новых версий реализована поддержка OSC 3008: благодаря этому Contour может автоматически определять границы команд, их коды завершения и рабочие каталоги без дополнительной настройки оболочки.
Пользователи Linux и Windows получили возможность выбирать GPU, используемый для рендеринга. Кроме того, улучшены работа с Unicode и шрифтами, настройка цветов вкладок и сохранение положения окна между запусками. Разработчики исправили ошибки, связанные с изменением размера окна, историей прокрутки, SSH-соединениями, уведомлениями Flatpak, постоянными сессиями демона и вводом с клавиатуры в Windows. Также устранены причины сбоев, зависаний и чрезмерного потребления памяти.
Сообщить о проблеме в публикации
Обращение принято Обращение будет рассмотрено. По результатам проверки публикация может быть исправлена, дополнена, временно скрыта или удалена.