Não é possível ativar o suporte TrueColor no tmux substituindo terminfo

Não é possível ativar o suporte TrueColor no tmux substituindo terminfo

dist: Arch Linux.

Eu tenho uma compilação st do AUR e tmux do repositório oficial. Em primeiro lugar encontro um bom suporte TrueColor que funciona com a última versão do Vim através da opção termguicolors. Mas quando tentei trazer isso para o tmux, enfrentei alguns problemas.

Na primeira vez a saída de

tmux info | grep Tc

de dentro do tmux era

197: Tc: [missing]

depois de ler a página de manual do tmux, descobri que esta opção deve trazer para o tmux Tc

set-option -g terminal-overrides "st-256color:Tc"

onde do meu emulador de terminal ele me retorna:

TERM=st-256color 

Mas o resultado do tmux info ainda era o mesmo. Só para verificar instalei o xterm e tentei a mesma manipulação, mas não me deu outro resultado. Afinal, o tmux reconhece que o terminal suporta 256 cores e emula cores verdadeiras através dele

Responder1

Você pode modificar sua cópia da descrição do terminal para fornecer este sinalizador:

infocmp -x >foo
edit foo, adding "Tc," after the end of any line ending with a comma
tic -x foo

Isso funcionaria para ncurses (que é o que você tem com qualquer distribuição Linux), etalvezMaldições do NetBSD.

Responder2

Você precisa adicionar -apara anexar, em vez de substituir os recursos existentes do terminal:

set-option -ga terminal-overrides ",*256*:Tc"

Isso funcionará para qualquer terminal que anuncie 256 cores.

Verifique se você também não tem outro set -g terminal-overridesem algum lugar posterior no seu arquivo de configuração.


Para vim, você provavelmente também desejará:

set -g default-terminal "screen-256color"

informação relacionada