3

Я хотел бы создать "режим фокуса" для терминала, используя tmux, что-то вроде того, что goyo делает для vim:

скриншот goyo

Проблема 1: определение размеров окон

Я думал о том, чтобы добиться этого, разделив окно на три панели, а затем установив центральную панель на фиксированное максимальное значение (возможно, 80 столбцов? Может быть 100? Может быть разные максимумы в зависимости от размера окна терминала, например адаптивные веб-макеты?) и установка боковых панелей, чтобы заполнить оставшиеся столбцы одинаково. Я также хотел бы, чтобы это работало на экранах разных размеров, чтобы я мог использовать его как на своем ноутбуке, так и на рабочем столе.

В настоящее время я могу думать только об этом, используя взаимодействие с оболочкой (т. Е. Получить ширину терминала с помощью tput cols а затем вычислить ширину, необходимую для каждой панели с помощью математических операций, используя $(())). Я в порядке с этим, но если бы в tmux был встроенный способ сделать это, я бы чувствовал себя по-настоящему глупо, если бы его пропустил.

Так ... есть?

Проблема 2: закрытие боковых панелей

Это менее важно; на самом деле не так уж плохо видеть в основном пустую панель с подсказкой вверху. Я знаю, что в tmux есть clock-mode (например), который переопределяет содержимое панелей и отображает что-то другое. Поэтому мне интересно, есть ли способ полностью скрыть содержимое неактивной панели. Пока что лучшее, что я могу придумать, это установить fg и bg в один и тот же цвет:

:select-pane -t:.1 -P 'fg=black,bg=black'

Или Святой Грааль

Все это можно было бы сделать намного проще, если бы в tmux была возможность для полей на панели. Насколько мне известно, эта функция не существует, но я далеко не эксперт по Tmux. Есть ли шанс, что он там есть, и я просто не знаю об этом?

0