2009-03-06 Robert Millan <rmh@aybabtu.com>

Fix display issue on terminals with screen size other than 80x25 
        (e.g. gfxterm with resolution higher than 640x480).

        * normal/main.c (grub_normal_init_page): Display title text in a  
        position relative to the center of the terminal instead of reliing
        on a hardcoded offset.
This commit is contained in:
robertmh 2009-03-06 19:10:23 +00:00
parent 50fb7002e5
commit b362c9e990
2 changed files with 24 additions and 3 deletions

View file

@ -1,3 +1,12 @@
2009-03-06 Robert Millan <rmh@aybabtu.com>
Fix display issue on terminals with screen size other than 80x25
(e.g. gfxterm with resolution higher than 640x480).
* normal/main.c (grub_normal_init_page): Display title text in a
position relative to the center of the terminal instead of reliing
on a hardcoded offset.
2009-03-04 Robert Millan <rmh@aybabtu.com>
Filter /etc/grub.d/10_* so that only add-ons for native kernels are

View file

@ -389,10 +389,22 @@ grub_enter_normal_mode (const char *config)
void
grub_normal_init_page (void)
{
grub_uint8_t width, margin;
#define TITLE ("GNU GRUB version " PACKAGE_VERSION)
width = grub_getwh () >> 8;
margin = (width - (sizeof(TITLE) + 7)) / 2;
grub_cls ();
grub_printf ("\n\
GNU GRUB version %s\n\n",
PACKAGE_VERSION);
grub_putchar ('\n');
while (margin--)
grub_putchar (' ');
grub_printf ("%s\n\n", TITLE);
#undef TITLE
}
/* Read the file command.lst for auto-loading. */