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-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
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. */