Make color variables global instead of it being per-terminal.
This commit is contained in:
parent
7d8848f363
commit
bc1369732f
17 changed files with 83 additions and 79 deletions
|
@ -1,12 +1,12 @@
|
||||||
|
2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Make color variables global instead of it being per-terminal.
|
||||||
|
|
||||||
2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/commands/ls.c (grub_ls_print_devices): Add missing
|
* grub-core/commands/ls.c (grub_ls_print_devices): Add missing
|
||||||
asterisk.
|
asterisk.
|
||||||
|
|
||||||
2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
|
|
||||||
|
|
||||||
Make color variables global instead of it being per-terminal.
|
|
||||||
|
|
||||||
2013-01-21 Colin Watson <cjwatson@ubuntu.com>
|
2013-01-21 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
Fix powerpc and sparc64 build failures caused by un-nesting memory
|
Fix powerpc and sparc64 build failures caused by un-nesting memory
|
||||||
|
|
|
@ -2776,6 +2776,33 @@ those colors. Each color must be a name from the following list:
|
||||||
|
|
||||||
The default is @samp{white/black}.
|
The default is @samp{white/black}.
|
||||||
|
|
||||||
|
The color support support varies from terminal to terminal.
|
||||||
|
|
||||||
|
@samp{morse} has no color support at all.
|
||||||
|
|
||||||
|
@samp{mda_text} color support is limited to highlighting by
|
||||||
|
black/white reversal.
|
||||||
|
|
||||||
|
@samp{console} on ARC and IEEE1275, @samp{serial_*} and
|
||||||
|
@samp{spkmodem} are governed by terminfo and support
|
||||||
|
only 8 colors if in modes @samp{vt100-color}, @samp{arc}
|
||||||
|
(default for console on ARC), @samp{ieee1275} (default
|
||||||
|
for console on IEEE1275). When in mode @samp{vt100}
|
||||||
|
then the color support is limited to highlighting by black/white
|
||||||
|
reversal. When in mode @samp{dumb} there is no color support.
|
||||||
|
|
||||||
|
@samp{console} on EMU supports 8 colors.
|
||||||
|
|
||||||
|
When console supports no colors this setting is ignored.
|
||||||
|
When console supports 8 colors, then the colors from the
|
||||||
|
second half of the previous list are mapped to the
|
||||||
|
matching colors of first half.
|
||||||
|
|
||||||
|
@samp{console} on EFI and BIOS and @samp{vga_text} support all 16 colors.
|
||||||
|
|
||||||
|
@samp{gfxterm} supports all 16 colors and would be theoretically extendable
|
||||||
|
to support whole rgb24 palette but currently there is no compelling reason
|
||||||
|
to go beyond the current 16 colors.
|
||||||
|
|
||||||
@node debug
|
@node debug
|
||||||
@subsection debug
|
@subsection debug
|
||||||
|
@ -4355,6 +4382,8 @@ AT keyboard support allows keyboard layout remapping and support for keys not
|
||||||
available through firmware. It isn't needed for normal operation except
|
available through firmware. It isn't needed for normal operation except
|
||||||
baremetal ports.
|
baremetal ports.
|
||||||
|
|
||||||
|
Speaker allows morse and spkmodem communication.
|
||||||
|
|
||||||
USB support provides benefits similar to ATA (for USB disks) or AT (for USB
|
USB support provides benefits similar to ATA (for USB disks) or AT (for USB
|
||||||
keyboards). In addition it allows USBserial.
|
keyboards). In addition it allows USBserial.
|
||||||
|
|
||||||
|
@ -4376,6 +4405,7 @@ and mips-qemu_mips can use only memory up to first hole.
|
||||||
@item network @tab yes (*) @tab no @tab no @tab no
|
@item network @tab yes (*) @tab no @tab no @tab no
|
||||||
@item ATA/AHCI @tab yes @tab yes @tab yes @tab yes
|
@item ATA/AHCI @tab yes @tab yes @tab yes @tab yes
|
||||||
@item AT keyboard @tab yes @tab yes @tab yes @tab yes
|
@item AT keyboard @tab yes @tab yes @tab yes @tab yes
|
||||||
|
@item Speaker @tab yes @tab yes @tab yes @tab yes
|
||||||
@item USB @tab yes @tab yes @tab yes @tab yes
|
@item USB @tab yes @tab yes @tab yes @tab yes
|
||||||
@item chainloader @tab local @tab yes @tab yes @tab no
|
@item chainloader @tab local @tab yes @tab yes @tab no
|
||||||
@item cpuid @tab partial @tab partial @tab partial @tab partial
|
@item cpuid @tab partial @tab partial @tab partial @tab partial
|
||||||
|
@ -4393,6 +4423,7 @@ and mips-qemu_mips can use only memory up to first hole.
|
||||||
@item network @tab yes @tab yes @tab yes @tab yes
|
@item network @tab yes @tab yes @tab yes @tab yes
|
||||||
@item ATA/AHCI @tab yes @tab yes @tab yes @tab no
|
@item ATA/AHCI @tab yes @tab yes @tab yes @tab no
|
||||||
@item AT keyboard @tab yes @tab yes @tab yes @tab no
|
@item AT keyboard @tab yes @tab yes @tab yes @tab no
|
||||||
|
@item Speaker @tab yes @tab yes @tab yes @tab no
|
||||||
@item USB @tab yes @tab yes @tab yes @tab no
|
@item USB @tab yes @tab yes @tab yes @tab no
|
||||||
@item chainloader @tab local @tab local @tab no @tab local
|
@item chainloader @tab local @tab local @tab no @tab local
|
||||||
@item cpuid @tab partial @tab partial @tab partial @tab no
|
@item cpuid @tab partial @tab partial @tab partial @tab no
|
||||||
|
@ -4410,6 +4441,7 @@ and mips-qemu_mips can use only memory up to first hole.
|
||||||
@item network @tab no @tab yes (*) @tab yes @tab no
|
@item network @tab no @tab yes (*) @tab yes @tab no
|
||||||
@item ATA/AHCI @tab yes @tab no @tab no @tab no
|
@item ATA/AHCI @tab yes @tab no @tab no @tab no
|
||||||
@item AT keyboard @tab yes @tab no @tab no @tab no
|
@item AT keyboard @tab yes @tab no @tab no @tab no
|
||||||
|
@item Speaker @tab no @tab no @tab no @tab no
|
||||||
@item USB @tab yes @tab no @tab no @tab no
|
@item USB @tab yes @tab no @tab no @tab no
|
||||||
@item chainloader @tab yes @tab no @tab no @tab no
|
@item chainloader @tab yes @tab no @tab no @tab no
|
||||||
@item cpuid @tab no @tab no @tab no @tab no
|
@item cpuid @tab no @tab no @tab no @tab no
|
||||||
|
@ -4427,6 +4459,7 @@ and mips-qemu_mips can use only memory up to first hole.
|
||||||
@item network @tab no @tab yes
|
@item network @tab no @tab yes
|
||||||
@item ATA/AHCI @tab yes @tab no
|
@item ATA/AHCI @tab yes @tab no
|
||||||
@item AT keyboard @tab yes @tab no
|
@item AT keyboard @tab yes @tab no
|
||||||
|
@item Speaker @tab no @tab no
|
||||||
@item USB @tab N/A @tab yes
|
@item USB @tab N/A @tab yes
|
||||||
@item chainloader @tab yes @tab no
|
@item chainloader @tab yes @tab no
|
||||||
@item cpuid @tab no @tab no
|
@item cpuid @tab no @tab no
|
||||||
|
|
|
@ -28,6 +28,10 @@ struct grub_term_input *grub_term_inputs_disabled;
|
||||||
struct grub_term_output *grub_term_outputs;
|
struct grub_term_output *grub_term_outputs;
|
||||||
struct grub_term_input *grub_term_inputs;
|
struct grub_term_input *grub_term_inputs;
|
||||||
|
|
||||||
|
/* Current color state. */
|
||||||
|
grub_uint8_t grub_term_normal_color;
|
||||||
|
grub_uint8_t grub_term_highlight_color;
|
||||||
|
|
||||||
void (*grub_term_poll_usb) (void) = NULL;
|
void (*grub_term_poll_usb) (void) = NULL;
|
||||||
void (*grub_net_poll_cards_idle) (void) = NULL;
|
void (*grub_net_poll_cards_idle) (void) = NULL;
|
||||||
|
|
||||||
|
|
|
@ -106,8 +106,6 @@ free_and_return:
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static grub_uint8_t color_normal, color_highlight;
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_colors (void)
|
set_colors (void)
|
||||||
{
|
{
|
||||||
|
@ -115,9 +113,6 @@ set_colors (void)
|
||||||
|
|
||||||
FOR_ACTIVE_TERM_OUTPUTS(term)
|
FOR_ACTIVE_TERM_OUTPUTS(term)
|
||||||
{
|
{
|
||||||
/* Reloads terminal `normal' and `highlight' colors. */
|
|
||||||
grub_term_setcolor (term, color_normal, color_highlight);
|
|
||||||
|
|
||||||
/* Propagates `normal' color to terminal current color. */
|
/* Propagates `normal' color to terminal current color. */
|
||||||
grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
|
grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
|
||||||
}
|
}
|
||||||
|
@ -128,7 +123,7 @@ char *
|
||||||
grub_env_write_color_normal (struct grub_env_var *var __attribute__ ((unused)),
|
grub_env_write_color_normal (struct grub_env_var *var __attribute__ ((unused)),
|
||||||
const char *val)
|
const char *val)
|
||||||
{
|
{
|
||||||
if (grub_parse_color_name_pair (&color_normal, val))
|
if (grub_parse_color_name_pair (&grub_term_normal_color, val))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
set_colors ();
|
set_colors ();
|
||||||
|
@ -141,7 +136,7 @@ char *
|
||||||
grub_env_write_color_highlight (struct grub_env_var *var __attribute__ ((unused)),
|
grub_env_write_color_highlight (struct grub_env_var *var __attribute__ ((unused)),
|
||||||
const char *val)
|
const char *val)
|
||||||
{
|
{
|
||||||
if (grub_parse_color_name_pair (&color_highlight, val))
|
if (grub_parse_color_name_pair (&grub_term_highlight_color, val))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
set_colors ();
|
set_colors ();
|
||||||
|
|
|
@ -225,8 +225,10 @@ print_entry (int y, int highlight, grub_menu_entry_t entry,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
grub_term_getcolor (term, &old_color_normal, &old_color_highlight);
|
old_color_normal = grub_term_normal_color;
|
||||||
grub_term_setcolor (term, grub_color_menu_normal, grub_color_menu_highlight);
|
old_color_highlight = grub_term_highlight_color;
|
||||||
|
grub_term_normal_color = grub_color_menu_normal;
|
||||||
|
grub_term_highlight_color = grub_color_menu_highlight;
|
||||||
grub_term_setcolorstate (term, highlight
|
grub_term_setcolorstate (term, highlight
|
||||||
? GRUB_TERM_COLOR_HIGHLIGHT
|
? GRUB_TERM_COLOR_HIGHLIGHT
|
||||||
: GRUB_TERM_COLOR_NORMAL);
|
: GRUB_TERM_COLOR_NORMAL);
|
||||||
|
@ -293,7 +295,9 @@ print_entry (int y, int highlight, grub_menu_entry_t entry,
|
||||||
|
|
||||||
grub_term_gotoxy (term, grub_term_cursor_x (term), y);
|
grub_term_gotoxy (term, grub_term_cursor_x (term), y);
|
||||||
|
|
||||||
grub_term_setcolor (term, old_color_normal, old_color_highlight);
|
grub_term_normal_color = old_color_normal;
|
||||||
|
grub_term_highlight_color = old_color_highlight;
|
||||||
|
|
||||||
grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
|
grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
|
||||||
grub_free (unicode_title);
|
grub_free (unicode_title);
|
||||||
}
|
}
|
||||||
|
@ -349,11 +353,11 @@ grub_menu_init_page (int nested, int edit, int *num_entries,
|
||||||
*num_entries = grub_term_height (term) - GRUB_TERM_TOP_BORDER_Y
|
*num_entries = grub_term_height (term) - GRUB_TERM_TOP_BORDER_Y
|
||||||
- (print_message (nested, edit, term, 1) + 3) - 2;
|
- (print_message (nested, edit, term, 1) + 3) - 2;
|
||||||
|
|
||||||
grub_term_getcolor (term, &old_color_normal, &old_color_highlight);
|
|
||||||
|
|
||||||
/* By default, use the same colors for the menu. */
|
/* By default, use the same colors for the menu. */
|
||||||
grub_color_menu_normal = old_color_normal;
|
old_color_normal = grub_term_normal_color;
|
||||||
grub_color_menu_highlight = old_color_highlight;
|
old_color_highlight = grub_term_highlight_color;
|
||||||
|
grub_color_menu_normal = grub_term_normal_color;
|
||||||
|
grub_color_menu_highlight = grub_color_menu_highlight;
|
||||||
|
|
||||||
/* Then give user a chance to replace them. */
|
/* Then give user a chance to replace them. */
|
||||||
grub_parse_color_name_pair (&grub_color_menu_normal,
|
grub_parse_color_name_pair (&grub_color_menu_normal,
|
||||||
|
@ -362,9 +366,11 @@ grub_menu_init_page (int nested, int edit, int *num_entries,
|
||||||
grub_env_get ("menu_color_highlight"));
|
grub_env_get ("menu_color_highlight"));
|
||||||
|
|
||||||
grub_normal_init_page (term);
|
grub_normal_init_page (term);
|
||||||
grub_term_setcolor (term, grub_color_menu_normal, grub_color_menu_highlight);
|
grub_term_normal_color = grub_color_menu_normal;
|
||||||
|
grub_term_highlight_color = grub_color_menu_highlight;
|
||||||
draw_border (term, *num_entries);
|
draw_border (term, *num_entries);
|
||||||
grub_term_setcolor (term, old_color_normal, old_color_highlight);
|
grub_term_normal_color = old_color_normal;
|
||||||
|
grub_term_highlight_color = old_color_highlight;
|
||||||
print_message (nested, edit, term, 0);
|
print_message (nested, edit, term, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,8 +102,6 @@ static struct grub_term_output grub_console_term_output =
|
||||||
.setcursor = grub_terminfo_setcursor,
|
.setcursor = grub_terminfo_setcursor,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||||
.data = &grub_console_terminfo_output,
|
.data = &grub_console_terminfo_output,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -192,7 +192,8 @@ grub_console_cls (struct grub_term_output *term __attribute__ ((unused)))
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
grub_console_setcolorstate (struct grub_term_output *term,
|
grub_console_setcolorstate (struct grub_term_output *term
|
||||||
|
__attribute__ ((unused)),
|
||||||
grub_term_color_state state)
|
grub_term_color_state state)
|
||||||
{
|
{
|
||||||
grub_efi_simple_text_output_interface_t *o;
|
grub_efi_simple_text_output_interface_t *o;
|
||||||
|
@ -208,10 +209,10 @@ grub_console_setcolorstate (struct grub_term_output *term,
|
||||||
& 0x7f);
|
& 0x7f);
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_NORMAL:
|
case GRUB_TERM_COLOR_NORMAL:
|
||||||
efi_call_2 (o->set_attributes, o, term->normal_color & 0x7f);
|
efi_call_2 (o->set_attributes, o, grub_term_normal_color & 0x7f);
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||||
efi_call_2 (o->set_attributes, o, term->highlight_color & 0x7f);
|
efi_call_2 (o->set_attributes, o, grub_term_highlight_color & 0x7f);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -265,8 +266,6 @@ static struct grub_term_output grub_console_term_output =
|
||||||
.cls = grub_console_cls,
|
.cls = grub_console_cls,
|
||||||
.setcolorstate = grub_console_setcolorstate,
|
.setcolorstate = grub_console_setcolorstate,
|
||||||
.setcursor = grub_console_setcursor,
|
.setcursor = grub_console_setcursor,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS
|
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -82,11 +82,11 @@ grub_ncurses_setcolorstate (struct grub_term_output *term,
|
||||||
grub_console_attr = A_NORMAL;
|
grub_console_attr = A_NORMAL;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_NORMAL:
|
case GRUB_TERM_COLOR_NORMAL:
|
||||||
grub_console_cur_color = term->normal_color;
|
grub_console_cur_color = grub_term_normal_color;
|
||||||
grub_console_attr = A_NORMAL;
|
grub_console_attr = A_NORMAL;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||||
grub_console_cur_color = term->highlight_color;
|
grub_console_cur_color = grub_term_highlight_color;
|
||||||
grub_console_attr = A_STANDOUT;
|
grub_console_attr = A_STANDOUT;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -1036,7 +1036,7 @@ grub_gfxterm_cls (struct grub_term_output *term)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
grub_virtual_screen_setcolorstate (struct grub_term_output *term,
|
grub_virtual_screen_setcolorstate (struct grub_term_output *term __attribute__ ((unused)),
|
||||||
grub_term_color_state state)
|
grub_term_color_state state)
|
||||||
{
|
{
|
||||||
switch (state)
|
switch (state)
|
||||||
|
@ -1046,11 +1046,11 @@ grub_virtual_screen_setcolorstate (struct grub_term_output *term,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_COLOR_NORMAL:
|
case GRUB_TERM_COLOR_NORMAL:
|
||||||
virtual_screen.term_color = term->normal_color;
|
virtual_screen.term_color = grub_term_normal_color;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||||
virtual_screen.term_color = term->highlight_color;
|
virtual_screen.term_color = grub_term_highlight_color;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -1246,8 +1246,6 @@ static struct grub_term_output grub_video_term =
|
||||||
.refresh = grub_gfxterm_refresh,
|
.refresh = grub_gfxterm_refresh,
|
||||||
.fullscreen = grub_gfxterm_fullscreen,
|
.fullscreen = grub_gfxterm_fullscreen,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS,
|
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
.next = 0
|
.next = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -259,7 +259,8 @@ grub_console_getwh (struct grub_term_output *term __attribute__ ((unused)))
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
grub_console_setcolorstate (struct grub_term_output *term,
|
grub_console_setcolorstate (struct grub_term_output *term
|
||||||
|
__attribute__ ((unused)),
|
||||||
grub_term_color_state state)
|
grub_term_color_state state)
|
||||||
{
|
{
|
||||||
switch (state) {
|
switch (state) {
|
||||||
|
@ -267,10 +268,10 @@ grub_console_setcolorstate (struct grub_term_output *term,
|
||||||
grub_console_cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR & 0x7f;
|
grub_console_cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR & 0x7f;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_NORMAL:
|
case GRUB_TERM_COLOR_NORMAL:
|
||||||
grub_console_cur_color = term->normal_color & 0x7f;
|
grub_console_cur_color = grub_term_normal_color & 0x7f;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||||
grub_console_cur_color = term->highlight_color & 0x7f;
|
grub_console_cur_color = grub_term_highlight_color & 0x7f;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -295,8 +296,6 @@ static struct grub_term_output grub_console_term_output =
|
||||||
.setcolorstate = grub_console_setcolorstate,
|
.setcolorstate = grub_console_setcolorstate,
|
||||||
.setcursor = grub_console_setcursor,
|
.setcursor = grub_console_setcursor,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_CP437,
|
.flags = GRUB_TERM_CODE_TYPE_CP437,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -209,18 +209,18 @@ grub_vga_text_getwh (struct grub_term_output *term __attribute__ ((unused)))
|
||||||
#ifndef MODE_MDA
|
#ifndef MODE_MDA
|
||||||
|
|
||||||
static void
|
static void
|
||||||
grub_vga_text_setcolorstate (struct grub_term_output *term,
|
grub_vga_text_setcolorstate (struct grub_term_output *term __attribute__ ((unused)),
|
||||||
grub_term_color_state state)
|
grub_term_color_state state)
|
||||||
{
|
{
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case GRUB_TERM_COLOR_STANDARD:
|
case GRUB_TERM_COLOR_STANDARD:
|
||||||
cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR & 0x7f;
|
cur_color = GRUB_TERM_DEFAULT_STANDARD_COLOR & 0x7f;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_NORMAL:
|
case GRUB_TERM_COLOR_NORMAL:
|
||||||
cur_color = term->normal_color & 0x7f;
|
cur_color = grub_term_normal_color & 0x7f;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||||
cur_color = term->highlight_color & 0x7f;
|
cur_color = grub_term_highlight_color & 0x7f;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -265,8 +265,6 @@ static struct grub_term_output grub_vga_text_term =
|
||||||
.setcolorstate = grub_vga_text_setcolorstate,
|
.setcolorstate = grub_vga_text_setcolorstate,
|
||||||
.setcursor = grub_vga_text_setcursor,
|
.setcursor = grub_vga_text_setcursor,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_CP437,
|
.flags = GRUB_TERM_CODE_TYPE_CP437,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef MODE_MDA
|
#ifdef MODE_MDA
|
||||||
|
|
|
@ -229,8 +229,6 @@ static struct grub_term_output grub_console_term_output =
|
||||||
.setcursor = grub_console_setcursor,
|
.setcursor = grub_console_setcursor,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||||
.data = &grub_console_terminfo_output,
|
.data = &grub_console_terminfo_output,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -115,8 +115,6 @@ static struct grub_term_output grub_audio_term_output =
|
||||||
.cls = (void *) dummy,
|
.cls = (void *) dummy,
|
||||||
.setcolorstate = (void *) dummy,
|
.setcolorstate = (void *) dummy,
|
||||||
.setcursor = (void *) dummy,
|
.setcursor = (void *) dummy,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
.flags = GRUB_TERM_CODE_TYPE_ASCII | GRUB_TERM_DUMB
|
.flags = GRUB_TERM_CODE_TYPE_ASCII | GRUB_TERM_DUMB
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -121,8 +121,6 @@ static struct grub_term_output grub_serial_term_output =
|
||||||
.setcursor = grub_terminfo_setcursor,
|
.setcursor = grub_terminfo_setcursor,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||||
.data = &grub_serial_terminfo_output,
|
.data = &grub_serial_terminfo_output,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -127,8 +127,6 @@ static struct grub_term_output grub_spkmodem_term_output =
|
||||||
.setcursor = grub_terminfo_setcursor,
|
.setcursor = grub_terminfo_setcursor,
|
||||||
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
.flags = GRUB_TERM_CODE_TYPE_ASCII,
|
||||||
.data = &grub_spkmodem_terminfo_output,
|
.data = &grub_spkmodem_terminfo_output,
|
||||||
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
|
|
||||||
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
GRUB_MOD_INIT (spkmodem)
|
GRUB_MOD_INIT (spkmodem)
|
||||||
|
|
|
@ -303,12 +303,12 @@ grub_terminfo_setcolorstate (struct grub_term_output *term,
|
||||||
{
|
{
|
||||||
case GRUB_TERM_COLOR_STANDARD:
|
case GRUB_TERM_COLOR_STANDARD:
|
||||||
case GRUB_TERM_COLOR_NORMAL:
|
case GRUB_TERM_COLOR_NORMAL:
|
||||||
fg = term->normal_color & 0x0f;
|
fg = grub_term_normal_color & 0x0f;
|
||||||
bg = term->normal_color >> 4;
|
bg = grub_term_normal_color >> 4;
|
||||||
break;
|
break;
|
||||||
case GRUB_TERM_COLOR_HIGHLIGHT:
|
case GRUB_TERM_COLOR_HIGHLIGHT:
|
||||||
fg = term->highlight_color & 0x0f;
|
fg = grub_term_highlight_color & 0x0f;
|
||||||
bg = term->highlight_color >> 4;
|
bg = grub_term_highlight_color >> 4;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -221,10 +221,6 @@ struct grub_term_output
|
||||||
/* The feature flags defined above. */
|
/* The feature flags defined above. */
|
||||||
grub_uint32_t flags;
|
grub_uint32_t flags;
|
||||||
|
|
||||||
/* Current color state. */
|
|
||||||
grub_uint8_t normal_color;
|
|
||||||
grub_uint8_t highlight_color;
|
|
||||||
|
|
||||||
void *data;
|
void *data;
|
||||||
};
|
};
|
||||||
typedef struct grub_term_output *grub_term_output_t;
|
typedef struct grub_term_output *grub_term_output_t;
|
||||||
|
@ -233,6 +229,10 @@ typedef struct grub_term_output *grub_term_output_t;
|
||||||
#define GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR 0x70
|
#define GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR 0x70
|
||||||
#define GRUB_TERM_DEFAULT_STANDARD_COLOR 0x07
|
#define GRUB_TERM_DEFAULT_STANDARD_COLOR 0x07
|
||||||
|
|
||||||
|
/* Current color state. */
|
||||||
|
extern grub_uint8_t EXPORT_VAR(grub_term_normal_color);
|
||||||
|
extern grub_uint8_t EXPORT_VAR(grub_term_highlight_color);
|
||||||
|
|
||||||
extern struct grub_term_output *EXPORT_VAR(grub_term_outputs_disabled);
|
extern struct grub_term_output *EXPORT_VAR(grub_term_outputs_disabled);
|
||||||
extern struct grub_term_input *EXPORT_VAR(grub_term_inputs_disabled);
|
extern struct grub_term_input *EXPORT_VAR(grub_term_inputs_disabled);
|
||||||
extern struct grub_term_output *EXPORT_VAR(grub_term_outputs);
|
extern struct grub_term_output *EXPORT_VAR(grub_term_outputs);
|
||||||
|
@ -391,16 +391,6 @@ grub_setcolorstate (grub_term_color_state state)
|
||||||
grub_term_setcolorstate (term, state);
|
grub_term_setcolorstate (term, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set the normal color and the highlight color. The format of each
|
|
||||||
color is VGA's. */
|
|
||||||
static inline void
|
|
||||||
grub_term_setcolor (struct grub_term_output *term,
|
|
||||||
grub_uint8_t normal_color, grub_uint8_t highlight_color)
|
|
||||||
{
|
|
||||||
term->normal_color = normal_color;
|
|
||||||
term->highlight_color = highlight_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Turn on/off the cursor. */
|
/* Turn on/off the cursor. */
|
||||||
static inline void
|
static inline void
|
||||||
grub_term_setcursor (struct grub_term_output *term, int on)
|
grub_term_setcursor (struct grub_term_output *term, int on)
|
||||||
|
@ -460,14 +450,6 @@ grub_term_getcharwidth (struct grub_term_output *term,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
|
||||||
grub_term_getcolor (struct grub_term_output *term,
|
|
||||||
grub_uint8_t *normal_color, grub_uint8_t *highlight_color)
|
|
||||||
{
|
|
||||||
*normal_color = term->normal_color;
|
|
||||||
*highlight_color = term->highlight_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct grub_term_autoload
|
struct grub_term_autoload
|
||||||
{
|
{
|
||||||
struct grub_term_autoload *next;
|
struct grub_term_autoload *next;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue