tmux force resize window

I usually connect to remote linux servers from a specific windows server (W1). On the Windows side, I use putty and on the linux side, I start tmux.

Occasionally, I have to use a different windows server (W2) and connect to the same tmux sessions.

Problem: If I had set a size for the putty windows on W1, then I can not exceed this size on W2. When I maximise the putty window, the extra space is unusable, filled with ~ characters.

Is there a way to “force” resize on W2, even if that means W1 will show only partial output ? Or a way to make W1 get disconnected from tmux session ?

Asked By: Prem

||

With tmux list-client, you can list all clients connected to tmux sessions. For instance:

$ tmux list-client
/dev/pts/6: 0 [25x80 xterm] (utf8)
/dev/pts/8: 0 [25x80 xterm] (utf8)

From this point, you can choose to detach a specified client, or all clients of a specified session. Say I want to detach everyone connected to session 0:

$ tmux detach-client -s 0

Then, you can attach the session so the size will be yours.

Actually, all that can be done with tmux attach -d (the -d option force all other clients to detach).

Answered By: apaul

if you are already in tmux then you can detach all other connections using :detach-client -a. It leaves your current session only. Consequently you won’t have extra space is unusable, filled with ~ characters.

Answered By: Maxim Suslov

It is not necessary to detach the other sessions. Use

<c-b>:resize-window -A

to grow the window to the largest connected session.

Other useful parameters to resize-window (resizew) are:

  • -a: resize to the smallest session.
  • -U, -D, -L and -R: adjust up, down, left or right, respectively. Can be followed by a number, determining how much to grow (-D and -R) or shrink (-U and -L).
  • -x <width> and/or -y <height> set width and height to the given values.
Answered By: bavang

If you use xterm,
then you can manually resize your tmux window on W2 by:

  1. detach from the tmux session from W1 and W2,
  2. type resize into your terminal on W2 and run it,
  3. return to your session and the window should be resized.

(Suppose you did not enable automatic window resizing for tmux.)

Answered By: zyy
Categories: Answers Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.