• Bug#1088739: [PATCH iproute2 0/2] Improve coloured text readability

    From Ben Hutchings@21:1/5 to All on Wed Mar 26 15:10:02 2025
    XPost: linux.debian.kernel

    Currently coloured text output isn't very readable in GNOME Terminal
    or xterm with a dark background:

    - These terminals don't set $COLORFGBG, so we end up using the
    light-background palette.

    - The standard (dark) blue is also too close to black in their default
    dark palettes.

    Ben.

    Ben Hutchings (2):
    color: Assume background is dark if unknown
    color: Do not use dark blue in dark-background palette

    lib/color.c | 20 ++++++++++++--------
    1 file changed, 12 insertions(+), 8 deletions(-)


    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAmfkCjEACgkQ57/I7JWG EQme3w//SyFIhH4XemA/BXbpk/zTFpn4zh4TT3Qyc1ONY1KQWInI3/Sy9kuokXkD 0h6xLi/7I0k2vz0uJlFF5efUOKwscX01r2YZToDN6LnXNRngZ6ppYCNrCOGH6ns1 PXSC5ZV4JjcueJx7HOILSQDdevPKVlqWAJfdNXWcglKRuocaxeBaKoN9NxcedACc Yn6bTPxmkITGf7qHAEJtyhVzuzYFyq6TgX5qrYKn7VoqjGhqBlHKZ96LgoqClpU9 b/BCChdR8Rve/NttfW7ZGpEwQbCdxWtUI3sdcd60tALXCHyAPr6e9U8oLE49apP2 EnOn6230wqQwdQoCpnXJwDMH9xm4gebkMBKVw6wrB//Z9HDxJgq3tzQCabbV65RL Fow4I+aQ4sHB/o9WS6Maj782GwnLKlV5g3BLVeo+Rojx6IAM2AJjVLZcW8MfKfRb P0FlVNS3qitNbPaPGiOwtpC500eeDRM2IUDmMVYCR2cWSl7cBqnPbzZBjlw1Swyg 1bQYVOcqimbNltxXf1hP5pJk9/Ahda3MjEq6ZVQiWuUHVYezq0oJeA+KUaSBQXWZ X+Ak306akWrozBezDt4iQPHU9KGlUL97OieVR0n0EVGfBI66r3grv1jHbkpf9zpt kUIUMKdb1o4UoZCPg2YR2Kf3gpYMtJ8ON+Bwhej6ASgEuLo/wpA=
    =3f35
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ben Hutchings@21:1/5 to All on Wed Mar 26 15:20:01 2025
    XPost: linux.debian.kernel

    In GNOME Terminal's default dark colour schemes, the default (dark)
    blue on a black background is barely readable. Light blue is
    significantly more readable to me, and is also easily readable on a
    white background.

    In Konsole, rxvt, and xterm, I can see little if any difference
    between dark and light blue in the default dark colour schemes.

    So replace dark blue with light blue in the dark-background palette.

    Signed-off-by: Ben Hutchings <benh@debian.org>
    ---
    lib/color.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/lib/color.c b/lib/color.c
    index 88ba9b03..aa112352 100644
    --- a/lib/color.c
    +++ b/lib/color.c
    @@ -24,7 +24,7 @@ enum color {
    C_BOLD_RED,
    C_BOLD_GREEN,
    C_BOLD_YELLOW,
    - C_BOLD_BLUE,
    + C_BOLD_LIGHT_BLUE,
    C_BOLD_MAGENTA,
    C_BOLD_CYAN,
    C_BOLD_WHITE,
    @@ -42,7 +42,7 @@ static const char * const color_codes[] = {
    "\e[1;31m",
    "\e[1;32m",
    "\e[1;33m",
    - "\e[1;34m",
    + "\e[1;94m",
    "\e[1;35m",
    "\e[1;36m",
    "\e[1;37m",
    @@ -66,7 +66,7 @@ static enum color attr_colors_dark[] = {
    C_BOLD_CYAN,
    C_BOLD_YELLOW,
    C_BOLD_MAGENTA,
    - C_BOLD_BLUE,
    + C_BOLD_LIGHT_BLUE,
    C_BOLD_GREEN,
    C_BOLD_RED,
    C_CLEAR

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAmfkCngACgkQ57/I7JWG EQnkJA/8DU/1qxOL3nxMX5y5r/6ahpld8uMIDw4eaI8RPVGxDThRytbIu3isHYzM 99E3t5T584vSjTYPpUK/lwqoqzob6uYQP/ikK1E2j+/+LUezk5EkS6A1slfC5sg5 2QRrizcTQWULhPQ0r8vMLXR+CL5Eaw+BP+7G1IInFEnCn4T0K
  • From Ben Hutchings@21:1/5 to All on Wed Mar 26 15:20:01 2025
    XPost: linux.debian.kernel

    We rely on the COLORFGBG environment variable to tell us whether the
    background is dark. This variable is set by Konsole and rxvt but not
    by GNOME Terminal or xterm. This means we use the wrong set of
    colours when GNOME Terminal or xterm is configured with a dark
    background.

    It appears to me that the dark-background colour palette works better
    on a light background than vice versa. So it is better to assume a
    dark background if we cannot find this out from $COLORFGBG.

    - Change the initial value of is_dark_bg to 1.
    - In set_color_palette(). conditinally set is_dark_bg to 0 with an
    inverted test of the colour.

    Signed-off-by: Ben Hutchings <benh@debian.org>
    ---
    lib/color.c | 14 +++++++++-----
    1 file changed, 9 insertions(+), 5 deletions(-)

    diff --git a/lib/color.c b/lib/color.c
    index 3c6db08d..88ba9b03 100644
    --- a/lib/color.c
    +++ b/lib/color.c
    @@ -72,7 +72,11 @@ static enum color attr_colors_dark[] = {
    C_CLEAR
    };

    -static int is_dark_bg;
    +/*
    + * Assume dark background until we know otherwise. The dark-background
    + * colours work better on a light background than vice versa.
    + */
    +static int is_dark_bg = 1;
    static int color_is_enabled;

    static void enable_color(void)
    @@ -138,12 +142,12 @@ static void set_color_palette(void)
    /*
    * COLORFGBG environment variable usually contains either two or three
    * values separated by semicolons; we want the last value in either case.
    - * If this value is 0-6 or 8, background is dark.
    + * If this value is 0-6 or 8, background is dark; otherwise it's light.
    */
    if (p && (p = strrchr(p, ';')) != NULL
    - && ((p[1] >= '0' && p[1] <= '6') || p[1] == '8')
    - && p[2] == '\0')
    - is_
  • From patchwork-bot+netdevbpf@kernel.org@21:1/5 to All on Sun Apr 6 19:20:01 2025
    XPost: linux.debian.kernel

    Hello:

    This series was applied to iproute2/iproute2-next.git (main)
    by David Ahern <dsahern@kernel.org>:

    On Wed, 26 Mar 2025 15:07:49 +0100 you wrote:
    Currently coloured text output isn't very readable in GNOME Terminal
    or xterm with a dark background:

    - These terminals don't set $COLORFGBG, so we end up using the
    light-background palette.

    - The standard (dark) blue is also too close to black in their default
    dark palettes.

    [...]

    Here is the summary with links:
    - [iproute2,1/2] color: Assume background is dark if unknown
    https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=cc0f1109d286
    - [iproute2,2/2] color: Do not use dark blue in dark-background palette
    https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=46a4659313c2

    You are awesome, thank you!
    --
    Deet-doot-dot, I am a bot.
    https://korg.docs.kernel.org/patchwork/pwbot.html

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)