tmux 窗口名称的行为根据窗口是否已手动重命名而有所不同。未手动重命名的窗口会刷新为当前正在运行的任何程序的名称(bash
、vi
等),而重命名的窗口即使活动程序发生更改也会保留其自定义名称。
我想以编程方式确定正在遵循哪种行为。换句话说,我想确定一个窗口是否被手动重命名。这将允许我编写这样的脚本:“如果用户覆盖了默认窗口名称,则尊重用户的自定义窗口名称。否则,以我喜欢的方式覆盖默认名称。”
这可能吗?我在 中没有看到任何相关内容tmux 变量列表。
答案1
当您手动重命名窗口时,tmux 将在该窗口的窗口选项中关闭自动重命名:
$ tmux -Ltest -f/dev/null new -d
$ tmux -Ltest show -w
$ tmux -Ltest renamew foo
$ tmux -Ltest show -w
automatic-rename off
$
所以你可以检查一下。
最好将自动重命名格式设置为您想要的格式,并让 tmux 担心用户是否已重命名窗口。