tmux:结合 xterm 标题和 tmux 提供的标题

tmux:结合 xterm 标题和 tmux 提供的标题

我在 bash 中有一个traponDEBUG信号,用于更新 Xterm 中的标题

__title() {
    COMMAND="$BASH_COMMAND"
    case "$COMMAND" in
        history* | autojump*)
            COMMAND=""
            ;;
    esac
    if [ "$COMMAND" ]; then
        echo -ne "\e]0;${COMMAND}\007"
    else
        echo -ne "\e]0; ... \007"
}

if [ "$BASH" ]; then
    case "$TERM" in xterm* | rxvt*)
        trap '__title' DEBUG
        ;;
    esac
fi

有没有办法在 tmux 中捕获这个标题并在窗格和窗口标题中使用它?

答案1

我已经成功地将bash标题和tmux标题结合起来

tmux.conf:

          set-option        -g default-terminal "xterm-256color"
          set-option        -g set-titles on
          set-option        -g set-titles-string "#T / #S / #I #F #W"
          set-window-option -g pane-border-status top
          set-window-option -g pane-border-format '#T'
          set -as terminal-overrides ',tmux*:Ms=\\E]52;%p1%s;%p2%s\\007'
          set -as terminal-overrides ',screen*:Ms=\\E]52;%p1%s;%p2%s\\007'

.bashrc

if [ "$BASH" ]; then
    case "$TERM" in
        xterm* | rxvt* | tmux* | screen*)
            trap '__title' DEBUG
            ;;
    esac
fi

相关内容