TrueColor-Unterstützung kann in tmux nicht durch Überschreiben von Terminfo aktiviert werden

TrueColor-Unterstützung kann in tmux nicht durch Überschreiben von Terminfo aktiviert werden

Verteilung: Arch Linux.

Ich habe einen st-Build von AUR und tmux vom offiziellen Repo. In st treffe ich auf eine gute TrueColor-Unterstützung, die mit der letzten Vim-Version über die Option termguicolors funktioniert. Aber als ich versuchte, dies auf tmux zu bringen, stieß ich auf einige Probleme.

Zum ersten Mal die Ausgabe von

tmux info | grep Tc

von innerhalb von tmux war

197: Tc: [missing]

nach dem Lesen der tmux man page fand ich, dass diese Option zu tmux Tc bringen muss

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

wo es mir von meinem Terminalemulator Folgendes zurückgibt:

TERM=st-256color 

Aber das Ergebnis von tmux info war immer noch das gleiche. Nur zur Kontrolle habe ich xterm installiert und die gleiche Manipulation damit versucht, aber es hat mir kein anderes Ergebnis gebracht. Schließlich erkennt tmux, dass das Terminal 256 Farben unterstützt und emuliert damit True Color

Antwort1

Sie können Ihre Kopie der Terminalbeschreibung ändern, um dieses Flag bereitzustellen:

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

Das würde für ncurses funktionieren (was bei jeder Linux-Distribution vorhanden ist) undvielleichtNetBSD flucht.

Antwort2

Sie müssen -aFolgendes hinzufügen, um etwas anzuhängen, anstatt die vorhandenen Terminalfunktionen zu überschreiben:

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

Dies funktioniert mit jedem Terminal, das 256 Farben unterstützt.

Überprüfen Sie, dass Sie nicht set -g terminal-overridesauch irgendwo später in Ihrer Konfigurationsdatei ein anderes haben.


Für vimmöchten Sie wahrscheinlich auch:

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

verwandte Informationen