Выпуск консольного оконного менеджера tmux 1.9

После почти года разработки представлен релиз консольного оконного менеджера tmux 1.9 («terminal multiplexer»), разрабатываемого в рамках проекта OpenBSD в качестве распространяемой под лицензией BSD замены программы GNU Screen. Tmux позволяет организовать многооконный интерфейс в консоли, через мультиплексирование одного физического терминала на несколько виртуальных терминалов. Основные отличия tmux от GNU Screen:

Исходные тексты распространяются в рамках лицензии BSD. Более современная и упрощенная кодовая база (коду screen 20 лет); Предусмотрена возможность подключения расширений от сторонних разработчиков; Четко формализованная клиент-серверная модель, при которой окна выступают в роли независимых объектов, которые могут сопоставляться и перераспределяться между разными сессиями. При этом поддерживается назначение одного окна нескольким разным клиентам и передача окон от одного клиента другому; Наличие механизма автоматизации выполнения типовых действий, через подключение внешних скриптов. Полноценный интерфейс управления из командной строки, позволяющий управлять всеми операциями tmux из скриптов; Наличие нескольких независимых буферов обмена; Поддержка опции для ограничения размера окна. Более гибкие возможности по разбиению окон на части (поддержка вертикального разделения); Более ясный синтаксис для формирования содержимого строки статуса. Возможность отображения в строке статуса первой строки вывода определенной команды; Более экономное расходование оперативной памяти; Улучшенная поддержка UTF-8. Наиболее заметные изменения в tmux 1.9:

Обновлена версия протокола, что при ведёт к ошибке при попытке использования новой версии клиента tmux со старой версией серверной части (для избежания ошибки после обновления следует не забыть перезапустить сервер); Прекращена поддержка команды 'default-path', вместо которой для определения пути для нового окна следует использовать опцию »-c», например, 'neww -c путь'. Для определения пути при создании нового сеанса можно использовать конструкцию 'new-session -c путь'; Объявлены устаревшими команды foo-{fg, bg, attr}, вместо которых следует использовать аналогичные опции; Добавлена переменная окружения TMUX_TMPDIR, позволяющая организовать хранение директории с управляющим сокетом вне временной директории, заданной переменной TMPDIR. Форматы теперь могут быть вложены друг в друга, один формат может расширять другой. Добавлена поддержка #{pane_syncronized} и некоторых других спецификаторов формата; Добавлена поддержка опции 'automatic-rename-format', позволяющей использовать в механизме автоматического переименования параметров, отличные от значений по умолчанию #{pane_current_command}'; Обеспечена работа в окружении Cygwin; При отсоединении сеанса на терминал теперь выводится имя сеанса; Клавиша Paste позволяет вставить текст из буфера обмена в режиме копирования; В режиме копирования обеспечена поддержка поиска без учёта регистра символов; В команды attach-session и switch-client добавлена опция '-t' для выбора используемого окна или панели; Добавлена поддержка 256 цветов при запуске в терминале fbterm.

© OpenNet