Что нужно сделать, чтобы escape-последовательность для двойного подчеркивания \E[4:2m
работала с tmux?
Это работает в моем терминале (mintty) вне tmux, и я успешно настроил terminfo моего терминала для учетарасширения terminfoс которыми совместим tmux, чтобы включить полноцветную печать и наложение линий в tmux.
Однако я не могу заставить работать функцию расширенного подчеркивания (коды 'Smulx'). Вот моя terminfo:
# Compile and add to database using 'tic -x <filename>'
#
stanterm-256color|xterm with non-standard terminfo extensions,
use=xterm-256color,
Tc,
Smol=\E[53m, Rmol=\E[55m,
# These underline extensions don't work in Tmux :(
# Smulx=\E[< WHAT GOES HERE? >m,
# Smul2=\E[4:2m, does not work within tmux
Мой .tmux.conf
содержит только минимальное
set -g default-terminal "tmux-256color"
Я запускаю tmux 3.0 через byobu (tmux был собран из исходников, так как функция overline очень новая). Есть идеи?
Спасибо
Отвечать
Вариант 1: настройка конфигурации tmux
Добавьте set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
к вашему .tmux.conf
урожаю
# .tmux.config
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
# ... rest of your configuration
Вариант 2: Настроить terminfo
Добавьте соответствующую строку termcap Smulx=\E[4:%p1%dm,
к вашему terminfoисточникфайл и скомпилируйте его с помощью tic -x <termfile>
. Обратите внимание, что в отличие от предыдущего варианта Smulx
запись требует одного двоеточия.
Я выбрал последний вариант. Мой исходный файл terminfo выглядит так:
# Compile and add to database using 'tic -x <filename>'
#
stanterm-256color|xterm with non-standard terminfo extensions,
use=xterm-256color,
Tc,
Smol=\E[53m, Rmol=\E[55m,
Smulx=\E[4:%p1%dm,
решение1
установить -as терминал-переопределяет ',*:Smulx=\E[4::%p1%dm'