Tmux разделяет окно по вертикали и определяет высоту верхней панели

У меня есть небольшой скрипт, который превращает мой терминал в окно мониторинга GPU. Команда nvidia-smi -l 1, которую я запускаю в одной из панелей, требует, чтобы она была определенной высоты, которую я могу рассчитать на основе количества процессов графического процессора, используя

smi_processes=$(nvidia-smi pmon -c 1 | wc -l)
smi_height=$((${smi_processes} + 3))

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

smi_processes=$(nvidia-smi pmon -c 1 | wc -l)
smi_height=$((${smi_processes} + 3))
tmux \
    new-session  'htop' \; \
    split-window -h 'nvidia-smi -l 1' \; \
    split-window -v \; \
    split-window -v 'xdotool key F11'\; \

Это равномерно разделит две правые панели, а затем установит терминал в полноэкранный режим. Я могу определить высоту нижней панели с помощью split-window -v -l [height] \; \, но это будет означать, что верхнее окно будет иметь разную высоту на мониторах разного размера или разные настройки терминала. Я попытался создать процесс на нижней панели, изменить его размер, а затем поменять панель с помощью swap-pane -U, но размер связан с нижней панелью. TL;DR: Как мне сделать так, чтобы верхняя правая панель была определенной высоты, а нижняя правая панель занимала оставшееся пространство?

Заранее спасибо!

Текущий результат: Текущий результат


person RnRoger    schedule 19.05.2020    source источник
comment
Вы пробовали команду resize-pane -y?   -  person meuh    schedule 19.05.2020
comment
@meuh Я уже много играл с этой командой, но, наконец, только сейчас мне удалось заставить ее работать.   -  person RnRoger    schedule 19.05.2020


Ответы (1)


Исправил это, переместив полноэкранную команду и используя resize-pane -y и select-pane:

smi_processes=$(nvidia-smi pmon -c 1 | wc -l)
smi_height=$((${smi_processes} + 5))
tmux \
    new-session  'htop' \; \
    split-window -h 'nvidia-smi -l 1' \; \
    split-window -v \; \
    split-window -v 'xdotool key F11'\; \
    select-pane -t 1 \; \
    resize-pane -y $smi_height \; \
    select-pane -t 2 \; \
person RnRoger    schedule 19.05.2020