Bug 1859889 - xterm: highlight yellow and green colors are not readable
Summary: xterm: highlight yellow and green colors are not readable
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: xterm
Version: 42
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tomas Korbar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-07-23 09:31 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2025-02-26 12:50 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)
Output from systemd's test-terminal-util (54.73 KB, image/png)
2020-07-23 09:31 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details

Description Zbigniew Jędrzejewski-Szmek 2020-07-23 09:31:28 UTC
Created attachment 1702196 [details]
Output from systemd's test-terminal-util

Description of problem:
Some colors in the basic ANSI palette are displayed by xterm in a way that does not allow text to be read. We would like to use those colors for example to color-code message types, e.g. yellow for warnings, red for errors, etc. Please adjust the underlying mapping to RGB so that all the basic colors are readable, in normal and bold variants, with white and black backgrounds both.

(And before you ask: no, just using a different color is not a viable option. If we had just one terminal emulator, it would be OK. But we have quite a few different ones, and each one decides to render a different color in unusable fashion, meaning that no matter which color we try to use, somebody is always unhappy. The only option that seems viable in the long run is for terminal emulators to render the basic colors as readable in all terminal emulators so that software can rely on the basic palette. )

Version-Release number of selected component (if applicable):
xterm-351-2.fc32.x86_64

Steps to Reproduce:
Execute in urxvt:
1. C="$(cat /etc/fstab)"
2. echo -e "\e[93m$C\e[0m"
3. echo -e "\e[93m$C\e[0m"
4. echo -e "\e[1;33m$C\e[0m"

Actual results:
Yellow text is impossible to read on white background. Green is barely readable.

Comment 1 Tomas Korbar 2020-08-05 13:42:33 UTC
Hi,
I reported this to upstream with proposals how to alter these colors.
Now we must wait for the response.

Comment 2 Thomas E. Dickey 2020-08-05 18:40:43 UTC
Nice goal, but realistically not possible to achieve:
* Yellow won't ever be readable against white
* Blue and black just won't mix - see
  https://invisible-island.net/xterm/xterm.faq.html#dont_like_blue

Real applications are designed for either a light background, or a dark one,
and the designer has to keep that in mind.

By the way, you can program xterm's color palette (and some applications do).
So even if you customized the colors, someone could run an application that undoes that.

Comment 3 Ben Cotton 2020-08-11 13:49:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 4 Zbigniew Jędrzejewski-Szmek 2020-12-09 14:35:00 UTC
gnome-terminal gets this right. So it's clearly "realistically possible".
I'm aware of custom palettes, but that's a separate topic: if you set a custom pallette,
then obviously all promises of readability don't apply. Nevertheless, defaults should
be readable.

Comment 5 Thomas E. Dickey 2020-12-13 15:57:37 UTC
It's not a "separate topic", because gnome-terminal uses custom palettes (has done so more than ten years).

Checking Fedora 33, the default appears to be "GNOME light", which renders "black" as #171421
In other words, it can't even get black right.  Some of the other colors (such as blue) are worse.

You can of course make a resource file for xterm which copies that scheme, but that's a user preference.

Comment 6 Ben Cotton 2021-11-04 16:48:25 UTC
This message is a reminder that Fedora 33 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 33 on 2021-11-30.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '33'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 33 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 7 Zbigniew Jędrzejewski-Szmek 2021-11-05 08:13:51 UTC
Still no change in F35.

Quick test:  /usr/lib/systemd/tests/test-terminal-util

Comment 8 Ben Cotton 2022-11-29 16:49:10 UTC
This message is a reminder that Fedora Linux 35 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 35 on 2022-12-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '35'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 35 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 9 Zbigniew Jędrzejewski-Szmek 2022-11-29 21:57:01 UTC
No change with xterm-375-1.fc37.x86_64.

Comment 10 Aoife Moloney 2023-11-23 00:03:31 UTC
This message is a reminder that Fedora Linux 37 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 37 on 2023-12-05.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '37'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 37 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 11 Zbigniew Jędrzejewski-Szmek 2023-11-23 00:22:58 UTC
Still an issue in F39.

The test is now called /usr/lib/systemd/tests/unit-tests/test-terminal-util.

Comment 12 Aoife Moloney 2024-11-08 10:40:49 UTC
This message is a reminder that Fedora Linux 39 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 39 on 2024-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '39'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 39 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 13 Zbigniew Jędrzejewski-Szmek 2024-11-11 07:21:12 UTC
Still no change with xterm-393-1.fc41.x86_64.

Comment 14 Aoife Moloney 2025-02-26 12:50:52 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.


Note You need to log in before you can comment on or make changes to this bug.