首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测tmux中的调整大小事件

检测tmux中的调整大小事件
EN

Unix & Linux用户
提问于 2020-01-24 00:10:26
回答 1查看 348关注 0票数 0

我有一个tmux设置,我的顶部面板总是2行大。不幸的是,每次终端被调整大小时,比例都会被完全重置,顶部窗格占用更多的空间。

我在.tmux.conf文件中创建了一个绑定,它允许我通过按F12:bind -n F12 resize-pane -t 0 -y 2来调整窗格的大小。

但是,它希望在每一个调整大小的事件上都能自动完成这个任务。有办法有效地做到这一点吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-01-24 18:09:30

我在2.7版左右尝试了下面的内容,它似乎很有效。您可以添加一个钩子来在多个事件上运行tmux命令,特别是在调整窗格大小时似乎会触发window-layout-changed。我尝试了显而易见的

代码语言:javascript
复制
set-hook -g window-layout-changed 'resize-pane -t 0 -y 2'

但这创造了一个无限的循环。有些事件有后版本,但显然没有after-window-layout-changed事件。(早期版本的tmux有一个layout-changed事件,但我无法让它工作)。

最后,我在我的myscript中创建了一个小的shell脚本D4,以检查窗格的当前大小,并且只在必要时调整它的大小:

代码语言:javascript
复制
#!/bin/bash
ht=$(tmux display-message -p -t 0 '#{pane_height}')
if [ 2 != "$ht" ]
then tmux display-panes\; resize-pane -t 0 -y 2
fi

我添加了display-panes,只是为了查看脚本是否正在运行。这似乎适用于:

代码语言:javascript
复制
set-hook -g window-layout-changed 'run-shell myscript'

即使在只剩下窗格0的情况下(因此是不可调整大小的)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/563766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档