Re: [F.A.Q.] the advantages of a shared tool/kernel Git repository, tools/perf/ and tools/kvm/

Ingo Molnar
2011-11-09T08:53:04Z

* Gerd Hoffmann <kraxel@redhat.com> wrote:

> > For reference, the default set of colors now is (from
> > tools/perf/util/ui/browser.c):
> >
> > static struct ui_browser__colorset {
> > const char *name, *fg, *bg;
> > int colorset;
> > } ui_browser__colorsets[] = {
> > {
> > .colorset = HE_COLORSET_TOP,
> > .name = "top",
> > .fg = "red",
> > .bg = "default",
>
> Bad idea IMO. Setting only one of foreground+background gives
> pretty much unpredictable results. My xterms have different
> background colors, the ones with a root shell happen to have a
> (dark) red background. Which results in red-on-dark-red text. Not
> good.
>
> I'd strongly suggest to either set both background and foreground
> to default or to set both to a specific color. When doing the
> latter make sure the colors have enougth contrast so they are
> readable.

Indeed.

What we want to have is to have a set of distinctive colors - just
two (background, foreground) colors are not enough - we also need
colors to highlight certain information - we need 5-6 colors for the
output to be maximally expressive. Is there a canonical way to handle
that while still adapting to user preferences automatically by taking
background/foreground color scheme of the xterm into account?

I suspect to fix the worst of the fallout we could add some logic to
detect low contrast combinations (too low color distance) and fall
back to the foreground/background colors in that case.

Plus allowing full .perfconfig configurability of all the relevant
colors, for those with special taste.

Thanks,

Ingo