Bug 1859886 - urxvt: highlight yellow and green colors are not readable
Summary: urxvt: highlight yellow and green colors are not readable
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: rxvt-unicode
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Robbie Harwood
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-07-23 09:26 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2020-07-23 18:08 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-07-23 17:01:39 UTC
Type: Bug
Embargoed:


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

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

Description of problem:
Some colors in the basic ANSI palette are displayed by urxvt 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):
rxvt-unicode-9.22-23.fc32

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 Robbie Harwood 2020-07-23 17:01:39 UTC
We ship upstream's defaults; to do otherwise would be confusing.  My feeling is that for pretty much any colorscheme we pick, as you say, "somebody is always unhappy".  That's why it's configurable (see `man rxvt-unicode`).  If you don't like upstream's defaults, you're welcome to take it up with upstream (find info about contacting them here: http://software.schmorp.de/pkg/rxvt-unicode.html ).

If you're trying to get terminals to agree on default colors, in my opinion you're going about it the wrong way.  You need to define what those colors *should be* and show up with a proposal, or at least put all the right people together to decide that.  Don't just file bugs against the ones you don't like and say it's ugly to you.  And since I don't believe either of us are well-versed in accessibility or color theory, it would be even better to have someone who *is* look at the problem.

Comment 2 Zbigniew Jędrzejewski-Szmek 2020-07-23 18:08:17 UTC
Yes, I'm aware that this is an upstream default. I opened a bug in Fedora because
it's easier than talking with each of the upstreams and also because I want to get this
fixed in Fedora sometimes this century. I was hoping that Fedora maintainers would
mediate with the upstream.

The argument that this is only the default is not convincing, at least for me.
I want to have a system where the user gets a usable system out of the box.

The (upstream) default makes no sense — some colors are borderline unusable. Personally,
I don't care too much, because I don't use urxvt anymore, but for users of urxvt this
means that some programs which try to use the full palette will be hard to use.


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