shell 什么是tmux布局字符串格式?

vulvrdjw  于 2023-02-16  发布在  Shell
关注(0)|答案(2)|浏览(112)

定义自定义布局的tmux布局字符串格式是什么?当我在 tmux 会话中运行tmux list-windows时,它会显示如下内容:
0: bash* (2 panes) [186x52] [layout 294a,186x52,0,0{93x52,0,0,185,92x52,94,0,186}] @113 (active)
但我想知道什么是格式,这样我就可以创建我的自定义格式,在启动新会话时由配置文件中的tmuxp之类的东西加载。我搜索了tmux手册页和Google,但没有找到任何内容。

v2g6jxz6

v2g6jxz61#

创建您自己的自定义布局的方法是使用键绑定或命令在tmux中设置布局,然后使用“tmux lsw”获取布局字符串。
它们不打算以任何其他方式构造。

x6yk4ghg

x6yk4ghg2#

layout 294a,186x52,0,0{93x52,0,0,185,92x52,94,0,186}
        ↑checksum        ↑pane size | another pane size + coord + id 
               ↑window size   ↑pane coord
                                  ↑pane id

因此,对于此布局,它包含两个窗格:

  1. 93x52,在x = 0、y = 0处对齐,ID为%185
  2. 92x52,在x = 94、y = 0处对齐,ID为%186
    编辑:
  • 前4个十六进制数字是校验和,您可以在以下位置找到Perl实现:https://metacpan.org/dist/Term-Tmux-Layout/view/bin/tmuxlayout
  • pane的id-s是不相关的,例如,如果替换为0或随机混合(并且校验和也被调整),select-layout将像以前一样工作。
  • 窗格按窗格索引排序,每个完整的(size,coord1,coord2,id)元组对应一个窗格。不幸的是,一些tmux命令,如move-pane,redistribute pane indices,因此它们不像pane id-s那样持久。

相关问题