summaryrefslogtreecommitdiff
path: root/resources/grub/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
blob: 5e4722314f870ba3611856a3ee8b9e53301d500d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
From 2abd6ada3fbd6a782346354b8fe47477463162fb Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Sun, 31 Oct 2021 03:47:05 +0000
Subject: [PATCH 1/2] mitigate grub's missing characters for borders/arrow
 characters

This cleans up the display on the main screen in GRUB.

Just don't draw a border, at all.
---
 grub-core/normal/menu_text.c | 49 ++----------------------------------
 1 file changed, 2 insertions(+), 47 deletions(-)

diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index 18240e76c..4d6282b43 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -108,47 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
   grub_print_message_indented_real (msg, margin_left, margin_right, term, 0);
 }
 
-static void
-draw_border (struct grub_term_output *term, const struct grub_term_screen_geometry *geo)
-{
-  int i;
-
-  grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
-  grub_term_gotoxy (term, (struct grub_term_coordinate) { geo->first_entry_x - 1,
-	geo->first_entry_y - 1 });
-  grub_putcode (GRUB_UNICODE_CORNER_UL, term);
-  for (i = 0; i < geo->entry_width + 1; i++)
-    grub_putcode (GRUB_UNICODE_HLINE, term);
-  grub_putcode (GRUB_UNICODE_CORNER_UR, term);
-
-  for (i = 0; i < geo->num_entries; i++)
-    {
-      grub_term_gotoxy (term, (struct grub_term_coordinate) { geo->first_entry_x - 1,
-	    geo->first_entry_y + i });
-      grub_putcode (GRUB_UNICODE_VLINE, term);
-      grub_term_gotoxy (term,
-			(struct grub_term_coordinate) { geo->first_entry_x + geo->entry_width + 1,
-			    geo->first_entry_y + i });
-      grub_putcode (GRUB_UNICODE_VLINE, term);
-    }
-
-  grub_term_gotoxy (term,
-		    (struct grub_term_coordinate) { geo->first_entry_x - 1,
-			geo->first_entry_y - 1 + geo->num_entries + 1 });
-  grub_putcode (GRUB_UNICODE_CORNER_LL, term);
-  for (i = 0; i < geo->entry_width + 1; i++)
-    grub_putcode (GRUB_UNICODE_HLINE, term);
-  grub_putcode (GRUB_UNICODE_CORNER_LR, term);
-
-  grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
-  grub_term_gotoxy (term,
-		    (struct grub_term_coordinate) { geo->first_entry_x - 1,
-			(geo->first_entry_y - 1 + geo->num_entries
-			 + GRUB_TERM_MARGIN + 1) });
-}
-
 static int
 print_message (int nested, int edit, struct grub_term_output *term, int dry_run)
 {
@@ -167,10 +126,8 @@ command-line or ESC to discard edits and return to the GRUB menu."),
     {
       char *msg_translated;
 
-      msg_translated = grub_xasprintf (_("Use the %C and %C keys to select which "
-					 "entry is highlighted."),
-				       GRUB_UNICODE_UPARROW,
-				       GRUB_UNICODE_DOWNARROW);
+      msg_translated = grub_xasprintf (_("Use the arrow keys to select which "
+					 "entry is highlighted."));
       if (!msg_translated)
 	return 0;
       ret += grub_print_message_indented_real (msg_translated, STANDARD_MARGIN,
@@ -410,8 +367,6 @@ grub_menu_init_page (int nested, int edit,
 
   grub_term_normal_color = grub_color_menu_normal;
   grub_term_highlight_color = grub_color_menu_highlight;
-  if (geo->border)
-    draw_border (term, geo);
   grub_term_normal_color = old_color_normal;
   grub_term_highlight_color = old_color_highlight;
   geo->timeout_y = geo->first_entry_y + geo->num_entries
-- 
2.25.1