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

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

Обеспечено отражение сеансов в базе utmp (работает, если на этапе сборки в системе присутствовала библиотека utempter); Прекращена поддержка команды 'choose-list'. Удалены опции 'monitor-content' и 'pane_start_path'. Из категории сессионных в серверные переведены опции 'terminal-overrides' и 'message-limit'; В команду «set-buffer» добавлен режим дополнения (»-a»). В режиме копирования (copy-mode) представлена команда 'append-selection'; В режиме выбора (choose-mode) реализованы команды, которые могут привязываться к другим командам: start-of-list, end-of-list, top-line, bottom-line; В команде choose-buffer реализована поддержка UTF-8; Применён комбинированный способ навигации по панелям: если есть только один возможный вариант выбора панели, то выбирается она, в противном случае осуществляется переход к последней используемой панели; В команды 'new-session', 'new-window', 'split-window' и 'respawn-pane' добавлена возможность использования нескольких аргументов и корректной обработки данных в кавычках; В команду 'capture-pane' добавлены опции '-S-' и '-E-' , подразумевающие начало и конец панели; Изменена поддержка привязки функциональных клавиш с номерами выше F12: номера F13-F24 теперь эквивалентны Shift+F1-F12, F25-F36 — Ctrl+F1-F12, F37-F48 — Ctrl+Shift+F1-F12, F49-F60 — Menu+F1-F12, F61-F63 — Menu+Shift+F1-F12; Возможность использования идентификатора панели внутри спецификатора сеанса или окна (session-of-%1 или window-of-%1), а также идентификатора окна в спецификаторе сеансе (session-of-@1); Поддержка определения формата (-F) для команд 'copy-pipe' и 'if-shell'; В команды 'split-window' и 'join-window' добавлена опция »-b» для создания панели слева или выше целевой панели. Основные отличия tmux от GNU Screen:

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

© OpenNet