por que o tmux não redimensiona a janela do terminal para honrar a configuração das linhas vi?

3

Digamos que eu abra um terminal

$ echo $LINES
25
$ vi
:set lines?
25
:set lines=50
:!echo $LINES
50

-as espero (e a janela do terminal é redimensionada e tudo funciona). Mas se eu iniciar o tmux a partir de um terminal novo (não redimensionado)

$ tmux new -s resize_for_crying_out_loud
$ echo $LINES
25
$ vi
:set lines?
25
:set lines=50
:!echo $LINES
25

e vi é inutilizável porque fica confuso e não renderiza corretamente. Eu posso ajustar o tamanho da janela com o mouse, e isso pega as duas linhas de set? e:! echo $ LINES comandos para concordar. Também TERM = screen-256color-it no tmux, TERM = rxvt-unicode-256color no terminal normal.

$ tmux new -s this_is_how_the_manual_says_to_resize -y 50

também não funciona.

    
por bgates 08.04.2013 / 22:12

1 resposta

1

O que eu precisava era (instalar e) usar o programa wmctrl. Primeiro, abra e coloque um terminal grande o suficiente para conter todos os painéis que eu queria ver no tmux, então

wmctrl -l -G

para ver a geometria daquela janela de terminal, então use a informação de geometria no tmuxinator da seguinte forma:

pre: "wmctrl -r :ACTIVE: -e [my geometry goes here]"

Eu ainda não entendi porque o terminal vi é capaz de expandir a janela se ela é aberta diretamente do terminal mas não de dentro do tmux, ou porque o próprio tmux aparentemente não pode expandir uma janela para se adequar ao layout customizado para alimentá-lo, mas estou confortável em não saber.

    
por 11.04.2013 / 22:09