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



我可以定义自定义布局的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 手册页并用谷歌搜索,但找不到任何东西。

创建自己的自定义布局的方法是使用键绑定或命令在 tmux 中设置布局,然后使用"tmux lsw"获取布局字符串。

它们不打算以任何其他方式构建。

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
  • 窗格 id-s 不相关,例如,如果替换为 0 或随机混合(并且校验和也调整(,选择布局将像以前一样工作。这是一个错失的机会,因为:
  • 窗格 - 按窗格索引排序 - 为布局中找到的每个完整(大小,坐标1,坐标2,id(元组放置一个。不幸的是,一些 tmux 命令(如移动窗格(会重新分发窗格索引,因此它们不像窗格 id-s 那样永久。

最新更新