Hallo,

i have installed grub-0.90 from the RH 7.2 RPM. This version of
grub contains the VGA16-patch, whicht allow you to display a
splashscreen.

After I have try out it, I thought, it may be helpful, if you
cann hide the box drawed arround the menu, the usage text and/or
the timer countdown.

So I have developed a patch, with implements 

noborder        Couse, that no border wil be draw

hideusage       Couse, that no usagetext will be display.

hidecountdown   Couse, that the timer countdown will not display
on the screen

I hope, that this patch may be helpful and I'm will be pleasure
to hear your mind about it.

Best Regards:

Jochen Schmitt
--- grub-0.90.org/stage2/builtins.c     Thu Nov  8 20:13:58 2001
+++ grub-0.90/stage2/builtins.c Thu Nov  8 22:02:13 2001
@@ -77,6 +77,12 @@
 int grub_timeout = -1;
 /* Whether to show the menu or not.  */
 int show_menu = 1;
+/* hide the border */
+int hide_border = 0;
+/* hide usage */
+int hide_usage = 0;
+/* hide countdown */
+int hide_countdown = 0;
 /* The BIOS drive map.  */
 static unsigned short bios_drive_map[DRIVE_MAP_SIZE + 1];
 
@@ -4691,7 +4697,59 @@
   " only works with the vga interface."
 };
 #endif /* VGA16 */
-  
+
+/* noborder */
+static int
+noborder_func(char *arg, int flags)
+{
+  hide_border = 1;
+  return (0);
+}
+
+static struct builtin builtin_noborder =
+  {
+    "noborder",
+    noborder_func,
+    BUILTIN_CMDLINE | BUILTIN_MENU,
+    "noborder",
+    "Suppress display of the border around the menulist"
+    " when the meu should be display."
+  };
+
+/* hidecountdown */
+static int
+hidecountdown_func(char *arg, int flags)
+{
+  hide_countdown = 1;
+  return 0;
+}
+
+static struct builtin builtin_hidecountdown = 
+  {
+    "hidecountdown",
+    hidecountdown_func,
+    BUILTIN_CMDLINE | BUILTIN_MENU,
+    "hidecountdown",
+    "Hide the countdown before booting of a OS"
+  };
+
+/* hideusage */
+static int
+hideusage_func(char *arg, int flags)
+{
+  hide_usage = 1;
+  return 0;
+}
+
+static struct builtin builtin_hideusage =
+  {
+    "hideusage",
+    hideusage_func,
+    BUILTIN_CMDLINE | BUILTIN_MENU,
+    "hideusage"
+    "Hide the Usage information display"
+  };
+
 /* The table of builtin commands. Sorted in dictionary order.  */
 struct builtin *builtin_table[] =
 {
@@ -4734,7 +4792,9 @@
   &builtin_geometry,
   &builtin_halt,
   &builtin_help,
+  &builtin_hidecountdown,
   &builtin_hiddenmenu,
+  &builtin_hideusage,
   &builtin_hide,
 #ifdef SUPPORT_NETBOOT
   &builtin_ifconfig,
@@ -4752,6 +4812,7 @@
 #endif /* USE_MD5_PASSWORDS */
   &builtin_module,
   &builtin_modulenounzip,
+  &builtin_noborder,
   &builtin_partnew,
   &builtin_parttype,
   &builtin_password,
--- grub-0.90.org/stage2/stage2.c       Thu Nov  8 20:13:58 2001
+++ grub-0.90/stage2/stage2.c   Thu Nov  8 22:00:42 2001
@@ -215,6 +215,9 @@
     }
 #endif
 
+  if(hide_border)
+    return;
+
   gotoxy (view_x0 + 1, y);
 
   putchar (disp_ul);
@@ -421,7 +424,8 @@
       if (terminal & TERMINAL_DUMB)
          print_entries_raw (num_entries, first_entry, menu_entries);
 
-      grub_printf ("\n\
+      if(!hide_usage)
+       grub_printf ("\n\
       Use the %c and %c keys to select which entry is highlighted.\n",
                   disp_up, disp_down);
 
@@ -491,22 +495,25 @@
         }  
       else if (! auth && password)
        {
-         printf ("\
+         if(!hide_usage)
+           printf ("\
       Press enter to boot the selected OS or \'p\' to enter a\n\
       password to unlock the next set of features.");
        }
       else
        {
-         if (config_entries)
-           printf ("\
+         if(!hide_usage) {
+           if (config_entries)
+             printf ("\
       Press enter to boot the selected OS, \'e\' to edit the\n\
       commands before booting, or \'c\' for a command-line.");
-         else
-           printf ("\
+           else
+             printf ("\
       Press \'b\' to boot, \'e\' to edit the selected command in the\n\
       boot sequence, \'c\' for a command-line, \'o\' to open a new line\n\
       after (\'O\' for before) the selected line, \'d\' to remove the\n\
       selected line, or escape to go back to the main menu.");
+         }
        }
 
       if (terminal & TERMINAL_DUMB)      
@@ -540,14 +547,16 @@
          /* else not booting yet! */
          time2  = time1;
 
-         if (terminal & TERMINAL_DUMB)
+         if (!hide_countdown) {
+           if (terminal & TERMINAL_DUMB) 
              grub_printf ("\r    Entry %d will be booted automatically in %d seconds. 
  ", 
                           entryno, grub_timeout);
-         else
-         {
-             gotoxy (view_x0 + 3, view_y1 - 3);
-             printf ("The highlighted entry will be booted automatically in %d 
seconds.    ", grub_timeout);
-             gotoxy (view_x0 - 6, view_y0 + 4 + entryno);
+           else
+             {
+               gotoxy (view_x0 + 3, view_y1 - 3);
+               printf ("The highlighted entry will be booted automatically in %d 
+seconds.    ", grub_timeout);
+               gotoxy (view_x0 - 6, view_y0 + 4 + entryno);
+             }
          }
          
          grub_timeout--;

Reply via email to