Skip to content

TERM "*-direct" values are not recognized as True Color-capable #4137

@mc-butler

Description

@mc-butler

Important

This issue was migrated from Trac:

Origin https://midnight-commander.org/ticket/4137
Reporter RogueScholar (admin@….net)
Keywords truecolor, terminfo, color

Using latest versions of Konsole and Yakuake terminal emulators with True Color (24-bit or Direct RGB) color support announced via the pair of environment variables:

 TERM=konsole-direct
 COLORTERM=truecolor

With MC configured to use either 256-color or 16M-color skins reports on invocation that the terminal is capable of only basic 16-color palettes and has reverted to the default skin accordingly. Prepending 'TERM=konsole-256color' to the invocation while leaving the COLORTERM variable set as before provides the expected behavior, with skins of all color bit-depths able to be set and subsequently displaying as designed. A test with TERM set to the more generic 'xterm-direct' value produced the same results as 'konsole-direct' where MC does not recognize direct RGB colors. This leads me to conclude that MC lacks recognition for the "-direct" values for TERM which were implemented in S-Lang 2.3.1 built with ncurses >=6.1.

System info

  • Operating System: Kubuntu 20.10
  • KDE Plasma Version: 5.20.0
  • KDE Frameworks Version: 5.76.0
  • Qt Version: 5.15.0
  • Kernel Version: 5.8.0-23-generic
  • OS Type: 64-bit

Hardware

  • Model: Lenovo ThinkPad T420s
  • Processor: Intel® Core™ i7-2620M CPU @ 2.70GHz
  • Memory: 8 GiB of RAM
  • Graphics Processor: NVS 4200M/PCIe/SSE2

Relevant Software Versions

  • libncursesw6: 6.2
  • libslang2: 2.3.2 (built using unicode-data 13.0.0)
  • konsole: 20.08.2
  • yakuake: 20.08.1

Debugging command output

$ LC_MESSAGES=C mc -V

GNU Midnight Commander 4.8.25-55-g5bf714b
Built with GLib 2.64.2
Built with S-Lang 2.3.2 with terminfo database
With builtin Editor and Aspell support
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With support for X11 events
With internationalization support
With multiple codepages support
With ext2fs attributes support
Virtual File Systems:
cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish
Data types:
char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

$ mc --configure-options

'--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include'
'--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info'
'--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib'
'--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking'
'--disable-silent-rules' '--with-x' '--with-screen=slang' '--enable-aspell'
'--disable-rpath' '--disable-static' 'build_alias=x86_64-linux-gnu'
'CFLAGS=-g -O2 -fdebug-prefix-map=/build/mc-4.8.25~git20201017=.
-fstack-protector-strong -Wformat -Werror=format-security'

'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ttyInteraction with the terminal, screen librariesprio: mediumHas the potential to affect progress

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions