odmin@opslog: ~/blog
← cd ..
odmin@opslog:~/blog$ cat tmux-3-8.md

Выпущен tmux 3.8

Скачать PDF

Выпущен tmux 3.8. Новая версия развивает появившиеся в ветке 3.7 плавающие панели, добавляет встроенные цветовые темы, переработанный механизм hooks и быстрый переключатель между окнами и сессиями. Также улучшены режимы настройки, просмотра клиентов и дерева объектов.

Важно после обновления

После установки новой версии необходимо полностью перезапустить tmux, включая серверный процесс. Уже работающий сервер продолжает использовать старую версию, даже если исполняемый файл tmux в системе обновлён.

Перед перезапуском нужно сохранить работу и завершить важные процессы во всех сессиях. Команда ниже останавливает сервер вместе с открытыми сессиями:

bash
tmux kill-server

После этого можно запустить tmux заново и проверить версию:

bash
tmux -V

Плавающие панели

Плавающие панели, впервые появившиеся в tmux 3.7, получили недостающие возможности и теперь заметно ближе к полноценной замене всплывающих окон.

В tmux 3.8 плавающие панели можно:

  • переключать между плавающим и мозаичным режимами;
  • перемещать и изменять их размер командами или мышью;
  • включать в строки описания раскладки;
  • использовать в модальном режиме с перехватом всего пользовательского ввода;
  • менять местами с другими панелями и возвращать в обычную раскладку.

Для типичных операций добавлены стандартные сочетания клавиш. Плавающая панель создаётся через C-b *, а C-b @ переводит текущую панель из мозаичного режима в плавающий и обратно. Комбинации с префиксом C-b g позволяют перемещать и изменять размер панели.

В tmux 3.9 плавающие панели планируется использовать вместо popups. Команда display-popup останется для совместимости, но будет открывать модальную плавающую панель. Разработчики также планируют скорректировать взаимодействие таких панелей с масштабированием.

Светлая и тёмная темы

В tmux появились две встроенные цветовые темы: светлая и тёмная. Если терминал умеет сообщать используемую тему, tmux автоматически выбирает подходящий вариант.

Режим можно задать вручную серверной опцией theme. Чтобы вернуть прежние цвета терминала ANSI, используется команда:

bash
tmux set -s theme terminal

Цвета встроенных тем настраиваются наборами опций dark-theme-* и light-theme-*. Это позволяет изменить отдельные элементы оформления, не создавая всю цветовую схему с нуля.

Новый механизм hooks

Механизм hooks полностью переработан и расширен мониторами на основе форматов, которые раньше были доступны только клиентам control mode. Hooks позволяют выполнять команды tmux при возникновении событий, например при создании окна, смене раскладки или завершении команды в панели.

Команды show-hooks и show-options теперь поддерживают форматирование вывода. Список hooks также доступен в режиме настройки, поэтому их проще просматривать и изменять без ручного поиска по конфигурации.

Быстрое переключение между окнами

Добавлен новый режим switch-mode с быстрым нечётким поиском. По умолчанию он открывается сочетанием C-b Tab и показывает компактный список окон. По мере ввода список фильтруется, после чего нужное окно можно выбрать стрелками и клавишей Enter.

Поиск не требует точного совпадения: введённые символы должны встречаться в правильном порядке, но могут находиться не рядом. Несколько выражений, разделённых пробелами, применяются одновременно. Регистр учитывается только при наличии заглавных букв в запросе.

Для поиска и переключения между сессиями используется C-b S-Tab.

Режимы настройки, клиентов и дерева

Customize mode теперь показывает не только параметры и сочетания клавиш, но также hooks и переменные окружения. В него добавлены дополнительные клавиши редактирования.

В режиме клиентов, который открывается через C-b D, появилась альтернативная информационная панель. Она включается клавишей i и показывает поддерживаемые клиентом возможности терминала.

Аналогичный информационный вид добавлен в tree mode для сессий, окон и панелей. Это упрощает диагностику конфигурации и просмотр свойств объектов непосредственно из интерфейса tmux.

Другие изменения

В полный список изменений tmux 3.8 также вошли автоматическое скрытие полос прокрутки, обновление copy mode при изменении содержимого панели, дополнительные настройки терминальных возможностей и многочисленные исправления ошибок.

Подробности доступны на странице выпуска tmux 3.8, в обсуждении релиза и в полном списке изменений.