tmux limita le dimensioni di una finestra al più piccolo di ogni dimensione attraverso tutte le sessioni a cui è attaccato alla finestra. Se non lo facesse, non ci sarebbe alcun modo ragionevole per visualizzare l'intera area della finestra per tutti i client collegati.
La cosa più semplice da fare è quello di staccare qualsiasi altro client dalle sessioni quando si collega:
tmux attach -d
In alternativa, è possibile spostare qualsiasi altro client per una sessione diversa prima di collegare alla sessione:
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
Lo schermo si ridurrà di nuovo se un client più piccolo passa alla sessione.
C'è anche una variante in cui si "prende il controllo" della finestra (collega la finestra in una nuova sessione, imposta aggressive-resize
e passa a qualsiasi altra sessione che ha quella finestra attiva in un'altra finestra), ma è più difficile per lo script nel caso generale (e diverso da "exit" poiché si vorrebbe scollegare la finestra o terminare la sessione invece di staccare semplicemente dalla sessione).
fonte
2011-10-19 09:51:57
Mi piacerebbe sapere come ridisegnare tutte le sessioni, senza staccando qualcuno di loro. –
tutti si staccano ... hai trovato un modo? –