Отвечать

Отвечать

Что нужно сделать, чтобы 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'

Связанный контент