[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] color command
From: |
Vesa Jääskeläinen |
Subject: |
Re: [RFC] color command |
Date: |
Thu, 26 Jul 2007 00:14:20 +0300 |
User-agent: |
Thunderbird 2.0.0.5 (Windows/20070716) |
Robert Millan wrote:
> Hi,
>
> I'd like to discuss the possibility of providing functionality equivalent to
> the "color" command in GRUB Legacy.
>
> One of the downsides of how color worked in GRUB Legacy is that internally
> colors were handled by GRUB directly as VGA codes. Since this isn't portable,
> I suggest that we avoid it completely instead of just mapping them for
> platforms using non-VGA tables (I've seen that ofconsole is using RGB
> structs).
>
> The solution I propose would be to have a "color" variable (and another one
> for
> highlight color?) with human readable names based on the list in GRUB Legacy,
> and let each terminal parse that and pull their colors during initialisation
> (this has the downside that one would have to reinitialise terminal after
> changing color, but this seems to be akin to the gfxterm / gfxmode situation
> and I think is reasonable).
>
> Any comments? Should I go on implementing that?
>
Hi,
One idea was to define themable colors and then use grub_video_map_color
to map this to hardware (color index or RGB value):
http://grub.enbug.org/VideoSubsystem#head-0df1ed220076ff6cc8188d1a192a21d443cc2456
You could define normal VGA color with like
GRUB_COLOR_{WHITE|BLACK|LIGHT_GREEN|YELLOW...}. Then setup theme to map
GRUB_COLOR_CONSOLE_BACKGROUND->GRUB_COLOR_BLACK and
GRUB_COLOR_CONSOLE_FOREGROUND->GRUB_COLOR_LIGHT_GREEN. Of course we have
this missing component 'theme support' here ;)
You can make dynamic variables in GRUB so that when you set it it will
call function (which could call proper {term|theme}->set color function).
I would rather resolve this issue at same time when resolving graphical
menu issues (meaning within graphical menu subproject) (still looking
for more members ;)):
http://grub.enbug.org/Subprojects
http://grub.enbug.org/Subprojects/GraphicalMenu
Thanks,
Vesa Jääskeläinen