Um swap-pane -s 0 -t 2
trocará os painéis de origem e de destino por você, deixando o do meio inalterado.
Você pode então escrever um pequeno script para chamar list-panes
, que informará os tamanhos atuais, por exemplo
0: [40x23] [history 2/2000, 760 bytes] %0 (active)
1: [19x23] [history 2/2000, 466 bytes] %3
2: [19x23] [history 2/2000, 466 bytes] %4
e, em seguida, emita os comandos resize-pane
para cada painel para definir um novo tamanho na direção x. Por exemplo, crie /tmp/myscript
com
#!/bin/bash
tmux swap-pane -s 0 -t 2
tmux list-panes |
awk '
$1~/^[0-9]:$/ { x[$1] = substr($2,2)+0 }
END { print "tmux resize-pane -t 0 -x " x["2:"]
print "tmux resize-pane -t 1 -x " x["1:"]
print "tmux resize-pane -t 2 -x " x["0:"] }' |
sh
e chmod +x /tmp/myscript
, em seguida, adicione à sua ~/.tmux.conf
uma ligação como, por exemplo, para a letra o
, digitada após a sua chave de prefixo usual:
bind-key o run-shell /tmp/myscript