tmux:如何始终将所有窗口的大小调整为最大可用大小?

tmux:如何始终将所有窗口的大小调整为最大可用大小?

我正在运行 tmux 3.0a,当我连接较小分辨率的终端时,较大的终端也会调整为较小的。

这是众所周知的(尽管我不明白为什么他们将其设为默认行为),解决方案是c-b c-: :resize-window -Atmux 强制调整窗口大小,https://stackoverflow.com/questions/7814612/is-there-any-way-to-redraw-tmux-window-when-switching-smaller-monitor-to-bigger/61764869#61764869)。不幸的是,这需要在每个窗格/窗口中完成。

虽然有这个选项set-window-option -g aggressive-resize on,但对我来说没有任何影响。

那么:如何始终将所有窗口的大小调整为最大可用大小?

答案1

显然,:resize-window -A需要在每个窗口中完成,但完成后它会持续存在(当您断开连接并重新连接较小的终端时,它会记住积极调整大小)。

因此,请在您的命令中包含.bashrc以下命令:

tmux resize-window -A

每当您打开新窗口时,这都会为该特定窗口设置积极的大小调整。

目前还不清楚它为什么有效,请参阅评论中的讨论。问题在于 tmux 的文档不清楚,并且存在三个影响调整大小的选项。

实现适当调整大小的另一种方法似乎是(对于 tmux >=3.1):

set -g window-size latest
setw -g aggressive-resize on

答案2

我还没有弄清楚如何自动执行此操作。但如果您使用xterm,您可以手动执行此操作:

  1. 脱离会话tmux
  2. 输入resize你的终端并运行它,
  3. 返回到您的会话,窗口大小应该会调整。

相关内容