xtermcontrol 3.11

1000px.jpg

После более полутора лет затишья состоялся выпуск 3.11 консольной утилиты xtermcontrol для просмотра и динамического управления свойствами xterm: цветами, заголовком, шрифтом и размером.

Поддерживаются сворачивание и разворачивание окна, перемещение на передний или задний план, максимизация размера и восстановление в прежний вид, а также сброс настроек.

А опытным пользователям xtermcontrol позволяет вводить любые последовательности команд управления xterm.

Проект написан на языке C и распространяется по лицензиям GNU GPL 2+.

Изменения:

  • исправлена проблема с пропусканием OSC-последовательностей в tmux, возникшая после перехода на ST-терминаторы в версии 3.5; настройка цветов и заголовка снова работает в tmux;
  • исправлены зависания и падение при получении усечённых или некорректных ответов на запросы; вместо этого выдаётся сообщение об ошибке. Контрольные символы удаляются из полученных значений для предотвращения внедрения злонамеренных экранирующих последовательностей;
  • теперь --get-title принимает ответы, завершающиеся BEL;
  • выход с ненулевым кодом ошибки при сбое запроса и сообщение о недопустимых аргументах --geometry вместо их игнорирования;
  • теперь опции применяются в том порядке, в котором они указаны в командной строке, например --reset --bg=red сначала сбрасывает настройки, а затем устанавливает цвет;
  • опции --force и --verbose, используемые отдельно, больше не подавляют использование файла конфигурации;
  • при проверке TERM принимаются значения TERM из tmux или TMUX;
  • при использовании --file ~ раскрывается только в путях ~/; также сообщение об отсутствии переменной HOME вместо некорректного поведения;
  • открытие /dev/tty для управления терминалом, что обеспечивает перенаправление всех потоков stdin/stdout/stderr. Восстановление настроек терминала при завершении работы сигналом;
  • удаление конечных пробелов из значений конфигурации и выдача предупреждения при пустых значениях. Сообщение об ошибках в конфигурационном файле с указанием фактической причины, а не всегда с кодом ENOENT.

>>> Видео

>>> Исходный код на GitHub

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

©  Linux.org.ru