O tmux limita as dimensões de uma janela ao menor de cada dimensão em todas as sessões às quais a janela está conectada. Se não o fizesse, não haveria maneira sensata de exibir toda a área da janela para todos os clientes conectados.
A coisa mais fácil a fazer é desanexar outros clientes das sessões quando você anexa:
tmux attach -d
Como alternativa, você pode mover qualquer outro cliente para uma sessão diferente antes de anexar à sessão:
takeover() {
# create a temporary session that displays the "how to go back" message
tmp='takeover temp session'
if ! tmux has-session -t "$tmp"; then
tmux new-session -d -s "$tmp"
tmux set-option -t "$tmp" set-remain-on-exit on
tmux new-window -kt "$tmp":0 \
'echo "Use Prefix + L (i.e. ^B L) to return to session."'
fi
# switch any clients attached to the target session to the temp session
session="$1"
for client in $(tmux list-clients -t "$session" | cut -f 1 -d :); do
tmux switch-client -c "$client" -t "$tmp"
done
# attach to the target session
tmux attach -t "$session"
}
takeover 'original session' # or the session number if you do not name sessions
A tela diminuirá novamente se um cliente menor mudar para a sessão.
Há também uma variação em que você apenas "assume" a janela (vincula a janela a uma nova sessão, define aggressive-resize
e alterna quaisquer outras sessões que tenham essa janela ativa para outra janela), mas é mais difícil criar scripts em geral case (e diferente de "exit", pois você deseja desvincular a janela ou interromper a sessão em vez de apenas desconectá-la da sessão).