tmux membatasi dimensi jendela hingga yang terkecil dari setiap dimensi di semua sesi yang dilampirkan jendela. Jika tidak melakukan ini tidak akan ada cara yang masuk akal untuk menampilkan seluruh area jendela untuk semua klien yang dilampirkan.
Hal termudah untuk dilakukan adalah melepaskan klien lain dari sesi saat Anda melampirkan:
tmux attach -d
Sebagai alternatif, Anda dapat memindahkan klien lain ke sesi yang berbeda sebelum melampirkan ke sesi:
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
Layar akan menyusut lagi jika klien yang lebih kecil beralih ke sesi.
Ada juga variasi di mana Anda hanya "mengambil alih" jendela (menautkan jendela ke sesi baru, mengatur aggressive-resize
, dan mengganti sesi lain yang memiliki jendela itu aktif ke jendela lain), tetapi lebih sulit untuk skrip pada umumnya huruf besar-kecil (dan berbeda dengan “keluar” karena Anda ingin membatalkan tautan jendela atau membunuh sesi alih-alih hanya melepaskan dari sesi).