Mantenha o título do tmux, título do bash e título da janela do terminal / iTerm em sincronia

1

Algo semelhante foi perguntado aqui mas não consegui resolver o problema para mim

tmux:

# use titles
set-option -g set-titles on
set-option -g set-titles-string '#T'

# add custom term
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',xterm*:XT:sitm=\E[3m'

# always reattach to user namespace
set-option -g default-shell $SHELL
set-option -g default-command "reattach-to-user-namespace -l $(echo $SHELL)"

bash

  case "$TERM" in
    tmux*)
      printf '3]2;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}3\'
      PROMPT_COMMAND="printf '3]2;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}3\'"
      ;;
    xterm*)
      if [ $ITERM_SESSION_ID ]; then
        export PROMPT_COMMAND='echo -ne "3];${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}
# use titles
set-option -g set-titles on
set-option -g set-titles-string '#T'

# add custom term
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',xterm*:XT:sitm=\E[3m'

# always reattach to user namespace
set-option -g default-shell $SHELL
set-option -g default-command "reattach-to-user-namespace -l $(echo $SHELL)"
7"; ': $PROMPT_COMMAND; fi ;; esac

O Bash está mantendo o título atualizado, mas no tmux eu não consigo conseguir manter o título atual também.

tmux (o título não é atualizado depois de alterar o diretório)

não-tmux(otítuloéatualizadodepoisdealterarodiretório)

Existe uma maneira de manter o título do tmux em sincronia com o título bash?

    
por dvcrn 21.09.2018 / 09:26

1 resposta

0

Depois de várias idas e vindas do tmux, eu finalmente encontrei uma solução que funciona exatamente do jeito que eu quero, em todos os emuladores de terminal que eu quero (iTerm / Kitty / Terminal.app), com ou sem tmux

bashrc

case "$TERM" in
  tmux*)
    export PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}
# use titles
set-option -g set-titles on
set-option -g set-titles-string "#T"
set-option -g automatic-rename on
7"' ;; xterm*) if [ $ITERM_SESSION_ID ]; then export PROMPT_COMMAND='echo -ne "3];${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}
case "$TERM" in
  tmux*)
    export PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}
# use titles
set-option -g set-titles on
set-option -g set-titles-string "#T"
set-option -g automatic-rename on
7"' ;; xterm*) if [ $ITERM_SESSION_ID ]; then export PROMPT_COMMAND='echo -ne "3];${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}%pre%7"; ' else export PROMPT_COMMAND='echo -ne "3]${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}%pre%7"; ' fi ;; esac
7"; ' else export PROMPT_COMMAND='echo -ne "3]${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}%pre%7"; ' fi ;; esac

tmux

%pre%     
por 25.09.2018 / 07:28

Tags