Urxvt 和 tmux - 设置窗口标题

Urxvt 和 tmux - 设置窗口标题

当我使用 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

我的点文件: https://github.com/overlordtm/dotfiles

答案1

tmux查看终端描述以查看是否可以设置标题:

  • 终端描述是否具有 ncurses 扩展功能XT 或者
  • 如果终端描述具有 terminfo 功能fsltsl(从状态行和到状态行)。

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;,

相关内容