ulfalizer / Kconfiglib

A flexible Python 2/3 Kconfig implementation and library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The monochrome menuconfig style is not real monochrome in PowerShell

dobairoland opened this issue · comments

Hello @ulfalizer!

I've got the following screenshots from developers using PowerShell. The result is still usable and nice but some might be confused by the name and would think something is wrong with their setup. Taking the Wikipedia definition, "A monochromic image is composed of one color (or values of one color).". I personally expect it to be "black and white" which is true in terminals I personally tested.

This is not a high priority issue but I thought that maybe you want to know about this. Thank you for your work on this great library!

1
2

The monochrome theme is mostly there as a fallback for terminals that don't support colors (curses.has_colors() returns False), so it doesn't try to do anything with colors. It's really ugly, so don't use it as the default theme. ;)

Maybe the theme could specify black/white as well, though it'd only make a difference on color-capable terminals when explicitly selecting monochrome.

Do you know if they explicitly select monochrome, or if the fallback kicked in?

Don't miss the updates I posted about in espressif/esp-idf#4387 btw. You probably want to update.

It's really ugly, so don't use it as the default theme. ;)

We don't plan to do. :-)

Do you know if they explicitly select monochrome, or if the fallback kicked in?

Yes, I made selectable the theme (not yet on Github) and they've tested that one as well.

We are keeping "aquatic" as the default one with the option to change if someone experience some problem.

Don't miss the updates I posted about in espressif/esp-idf#4387 btw. You probably want to update.

Thank you for the fix. We will update ASAP.

We are keeping "aquatic" as the default one with the option to change if someone experience some problem.

FWIW, I think the default theme looks better. Guessing aquatic was picked because it's closer to the C menuconfig, but the C menuconfig has borders around things, which makes it easier to avoid ugly color clashes.

Can't make style decisions for you though... :P

Still not sure that specifying colors in the monochrome theme is worthwhile. Doesn't seem like it would add much:

  • If the terminal doesn't support color, then the colors won't do anything

  • If the terminal supports color, then you're almost guaranteed to prefer some theme with colors.

    Even for people who don't like colors, just having two "colors" (it's really curses.A_NORMAL vs. curses.A_STANDOUT) available isn't a good fit for menuconfig.py, because it makes stuff bleed into each other due to the "borderless" design (e.g. the cursor and the separators).

Maybe a proper separate grayscale theme could be defined instead. That might look better, though it'd require 256 colors.

Guessing aquatic was picked because it's closer to the C menuconfig

Yes, true.

Still not sure that specifying colors in the monochrome theme is worthwhile

Me neither. If there is no easy and clean solution for this then probably you can forget about this. I'm fine with it if it doesn't get solved. I opened this issue just to let you know about this in case you could fix it.

grayscale theme could be defined instead. That might look better, though it'd require 256 colors.

Probably it is an overkill and one would need to use grayscale when doesn't have colors.

Closing for now.

It's working as intended. "Colorless" is meant as "doesn't use/specify colors". If the terminal settings happen to make it some non-b/w color, it's probably fine. Many old hardware terminals have a green tint too. ;)

Pushed some more minor robustness tweaks yesterday btw.

Don't miss that there's a graphical configuration interface as well (guiconfig.py). It might be closer to what Windows users are used to.

Thank you!