Você pode fornecer suas próprias ligações consistindo em comandos associados por \;
. Por exemplo, no seu ~/.tmux.conf
add
bind-key '"' split-window \; select-layout -n \; select-layout -p
Isto faz com que Ctrl-b " divida a janela, depois mude o layout para o próximo layout e, em seguida, retorne ao layout anterior. Você precisaria fazer isso para outros comandos que adicionam ou removem janelas .
Se você quiser mais controle automático, você pode escrever um processo de modo de controle tmux em segundo plano para ouvir um processo tmux real. Ele recebe notificações de tudo o que acontece no tmux real, e você pode enviar comandos select-layout
sempre que vir uma notificação de uma nova janela ou de uma janela excluída. Eu não experimentei muito isso, mas se você usar 2 terminais e executar uma sessão normal em um
tmux new -s mysession
e no outro
tmux -C attach -t mysession
então quando você divide janelas, adiciona novas, ou fecha-as no tmux normal, você terá linhas como
%layout-change @2 91a8,80x23,0,0[80x11,0,0,5,80x11,0,12,7]
%window-add @3
%window-close @1
no tmux de controle. Quando você vê estes, você pode escrever select-layout -n
no modo de controle, e isso afeta o primeiro. Há uma biblioteca python para usar este mecanismo, que eu não analisei ainda mais.