当我使用 urxvt 中的 tmux 时,窗口标题不会更新。通常,当我只使用 urxvt 时,每次更改目录时窗口标题都会更新,并且其形式为“$USER@$HOST:$PWD”,但是当我从 urxvt 运行 tmux 时,窗口标题与之前保持不变运行 tmux。
我按照我在谷歌上找到的一些答案中的建议,在 tmux.conf 中尝试了不同的设置终端覆盖,但没有任何效果。
有人设法让它发挥作用吗?我使用 Xmonad 作为 WM,但如果我从 xterm 运行 tmux(标题相应更改为 tmux.conf 中的 set-titles-string),则相同的配置有效,所以我猜 tmux 和 urxvt 并不真正相互理解。
软件版本:
rxvt-unicode (urxvt) v9.21 - 发布: 2014-12-31
多路复用器1.9
答案1
tmux
查看终端描述以查看是否可以设置标题:
- 终端描述是否具有 ncurses 扩展功能
XT
或者 - 如果终端描述具有 terminfo 功能
fsl
和tsl
(从状态行和到状态行)。
ncurses 的 terminfo 数据库已经XT
为 xterm 条目定义了一段时间(自2010年以来); ncurses 数据库中对此标准进行了讨论屏幕扩展。
只有偶尔的条目可能会定义 urxvt 的其他功能。如果你没有修改该条目,它可能不包括 fsl/tsl。终端数据库中的讨论解释为什么不推荐fsl/tsl:
# These building-blocks allow access to the X titlebar and icon name as a
# status line. There are a few problems in using them in entries:
#
# a) tsl should have a parameter to denote the column on which to transfer to
# the status line.
# b) the "0" code for xterm updates both icon-title and window title. Some
# window managers such as twm (and possibly window managers descended from
# it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you
# don't want to mess with icon-name when using those window managers.
#
# The extension "TS" is preferable, because it does not accept a parameter.
# However, if you are using a non-extended terminfo, "TS" is not visible.
xterm+sl|access X title line and icon name,
hs,
dsl=\E]0;\007, fsl=^G, tsl=\E]0;, TS=\E]0;,