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

Состоялся релиз консольного оконного менеджера tmux 2.1 ("terminal multiplexer"), разрабатываемого в рамках проекта OpenBSD в качестве распространяемой под лицензией BSD замены программы GNU Screen. Tmux позволяет организовать многооконный интерфейс в консоли, через мультиплексирование одного физического терминала на несколько виртуальных терминалов. 0_1445329606.png

Наиболее заметные изменения в tmux 2.1:

  • Переписана система работа с манипулятором мышь. Прекращена поддержка опций mouse-resize-pane, mouse-select-pane, mouse-select-window и mode-mouse, функциональность которых сведена к одной общей настройке 'mouse';
  • Настройка 'default-terminal' теперь действует для всего сеанса и при установке в значения 'screen-*' позволяет эмулировать поведение программы screen;
  • Добавлена опция 'history-file' для записи/восстановления истории ввода команд;
  • Добавлена поддержка новых форматов: session_activity, window_linked, window_activity_format, session_alerts, session_last_attached, client_pid и pid;
  • В опции 'copy-selection', 'append-selection', 'start-named-buffer' добавлена поддержка флага '-x' для защиты от выхода из режима копирования;
  • В опцию 'select-pane' добавлен флаг '-P' для установки цветов фона панели и окна;
  • В 'renumber-windows' добавлена поддержка отсоединённых окон;
  • В 'bind' реализована возможность работы с несколькими таблицами клавиш;
  • В 'select-layout' добавлен флаг '-o' для отмены изменения раскладки;
  • В 'select-pane' добавлен флаг '-M' для пометки панели, которая затем может автоматически использоваться в привязке к командам, поддерживающим src-pane;
  • В 'move-window' добавлен флаг '-a';
  • В команду 'copy-mode' добавлен флаг '-e' для выхода из режима копирования после прокрутки до конца страницы.

Основные отличия tmux от GNU Screen:

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

© OpenNet