捕获tmux状态栏内容

捕获tmux状态栏内容

我写了一个 tmux 插件,tmux-gitbar,它向 tmux 状态栏添加一些有关当前 Git 工作树的信息(本地和远程分支的名称、工作树是否干净?等)。所以基本上就是修改tmux状态栏的内容。

我目前正在编写一套自动化测试,我想捕获 tmux 状态栏的实际内容以便执行一些检查。

我尝试使用unixscript工具,也尝试过ttyrec,两者都用于实现终端会话录制。他们抓取整个终端内容,但是不是状态栏

我该怎么做呢?

编辑:

事实上,我能够使用 和 来捕获 tmux 状态scriptttyrec捕获 tmux 状态栏。为此,我只需在启动 tmux 之前运行它们即可。当这些工具抓取当前终端时,它们不知道家长您启动 tmux 的终端。之前启动它们tmux使它们能够看到 tmux 在其中创建状态栏的终端行和列。

不过,我仍在寻找另一种解决方案,因为我发现解析script或生成的二进制文件并不真正稳定ttyrec作为我的集成测试套件的一部分的。然而,有一个工具看起来很有希望完成这项任务:用 python 编写的 vt100 模拟器库,但我仍然愿意接受建议/解决方案。

答案1

回答我自己的问题。

经过一番研究,是的,我发现了一个可靠的通向捕获任何基于终端的应用程序的输出: 用一个VT100终端仿真器

VT100现在是所有虚拟终端应用程序的事实上的标准,并且tmux是与终端交互的应用程序,其内容及其状态栏都可以被废弃。

我为此使用的库是皮特效果很好。
或许还有很多其他的

相关内容