我正在运行 tmux 3.0a,当我连接较小分辨率的终端时,较大的终端也会调整为较小的。
这是众所周知的(尽管我不明白为什么他们将其设为默认行为),解决方案是c-b c-: :resize-window -A
(tmux 强制调整窗口大小,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
,您可以手动执行此操作:
- 脱离会话
tmux
, - 输入
resize
你的终端并运行它, - 返回到您的会话,窗口大小应该会调整。