当窗口改变时在 GNU Screen 中运行命令

当窗口改变时在 GNU Screen 中运行命令

当用户改变窗口时是否可以执行屏幕命令?

我使用 zsh 的 precmd() 功能在命令运行时将屏幕的工作目录更改为 zsh 的工作目录,从而将当前工作目录保存在 hardstatus 中。但由于 zsh 在窗口更改时不会运行命令,因此 hardstatus 中的工作目录不会更新为新窗口中的 zsh 实例(显然如此)。

我的想法是,如果我可以让 screen 在窗口改变时执行 :chdir,我就可以让 zsh 将其工作目录存储在某个地方或类似的地方,并让 screen 读取它并在窗口改变时更改为该目录。(可能有一个更有效的解决方案,这只是我突然想到的。)

答案1

我想要我的硬状态中包含的 shell 的工作目录。

可能的解决方案:重写precmd()以设置 Xterm 标题,使用printf "\e]0;%s\007" "$PWD"。 (我喜欢${PWD/#$HOME/~}。)

当在里面使用时screen,这实际上会更新硬状态文本。

相关内容