Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

Commit

Permalink
upd - Updated boot styles
Browse files Browse the repository at this point in the history
---

Type: upd
Breaking: False
Doc Required: False
Part: 1/1
  • Loading branch information
AptiviCEO committed Mar 10, 2024
1 parent d3cb6bd commit f62e35b
Show file tree
Hide file tree
Showing 9 changed files with 92 additions and 73 deletions.
14 changes: 7 additions & 7 deletions GRILO.Bootloader/Boot/Style/BaseBootStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,18 @@ public virtual string Render()
string finalRenderedSection = "-- Select boot entry --";
int halfX = Console.WindowWidth / 2 - finalRenderedSection.Length / 2;
builder.Append(
TextWriterWhereColor.RenderWhere(finalRenderedSection, halfX, 2, new Color(sectionTitle), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(finalRenderedSection, halfX, 2, new Color(sectionTitle))
);

// Now, render a box
builder.Append(
BorderColor.RenderBorder(2, 4, Console.WindowWidth - 6, Console.WindowHeight - 9, new Color(boxBorderColor), ColorTools.CurrentBackgroundColor)
BorderColor.RenderBorder(2, 4, Console.WindowWidth - 6, Console.WindowHeight - 9, new Color(boxBorderColor))
);

// Offer help for new users
string help = $"SHIFT + H for help. Version {Entry.griloVersion}";
builder.Append(
TextWriterWhereColor.RenderWhere(help, Console.WindowWidth - help.Length - 2, Console.WindowHeight - 2, new Color(ConsoleColor.White), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(help, Console.WindowWidth - help.Length - 2, Console.WindowHeight - 2, new Color(ConsoleColor.White))
);
return builder.ToString();
}
Expand Down Expand Up @@ -95,7 +95,7 @@ public virtual string RenderHighlight(int chosenBootEntry)
string rendered = $" >> {bootApp}";
var finalColor = i == chosenBootEntry ? highlightedEntry : normalEntry;
builder.Append(
TextWriterWhereColor.RenderWhere(rendered, upperLeftCornerInterior.Item1, upperLeftCornerInterior.Item2 + renderedAnswers, new Color(finalColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(rendered, upperLeftCornerInterior.Item1, upperLeftCornerInterior.Item2 + renderedAnswers, new Color(finalColor))
);
renderedAnswers++;
}
Expand All @@ -104,7 +104,7 @@ public virtual string RenderHighlight(int chosenBootEntry)
string renderedNumber = $"[{chosenBootEntry + 1}/{bootApps.Count}]═[{currentPage + 1}/{pages}]";
(int, int) lowerRightCornerToWrite = (Console.WindowWidth - renderedNumber.Length - 3, Console.WindowHeight - 4);
builder.Append(
TextWriterWhereColor.RenderWhere(renderedNumber, lowerRightCornerToWrite.Item1, lowerRightCornerToWrite.Item2, new Color(pageNumberColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(renderedNumber, lowerRightCornerToWrite.Item1, lowerRightCornerToWrite.Item2, new Color(pageNumberColor))
);
return builder.ToString();
}
Expand Down Expand Up @@ -139,13 +139,13 @@ public virtual string RenderBootFailedMessage(string content) =>

/// <inheritdoc/>
public virtual string RenderSelectTimeout(int timeout) =>
TextWriterWhereColor.RenderWhere($"{timeout} ", 2, Console.WindowHeight - 2, true, new Color(ConsoleColor.White), ColorTools.CurrentBackgroundColor);
TextWriterWhereColor.RenderWhereColor($"{timeout} ", 2, Console.WindowHeight - 2, true, new Color(ConsoleColor.White));

/// <inheritdoc/>
public virtual string ClearSelectTimeout()
{
string spaces = new(' ', GetDigits(Config.Instance.BootSelectTimeoutSeconds));
return TextWriterWhereColor.RenderWhere(spaces, 2, Console.WindowHeight - 2, true, new Color(ConsoleColor.White), ColorTools.CurrentBackgroundColor);
return TextWriterWhereColor.RenderWhereColor(spaces, 2, Console.WindowHeight - 2, true, new Color(ConsoleColor.White));
}

internal static int GetDigits(int Number) =>
Expand Down
48 changes: 24 additions & 24 deletions GRILO.Bootloader/Boot/Style/Styles/BootMgrBootStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ public override string Render()
ConsoleColor barColor = ConsoleColor.Gray;
ConsoleColor barForeground = ConsoleColor.Black;
builder.Append(
TextWriterWhereColor.RenderWhere(new string(' ', barLength), marginX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhere(new string(' ', barLength), marginX, footerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhere(header, headerTextX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhere(footer, 3, footerY, new Color(barForeground), new Color(barColor))
TextWriterWhereColor.RenderWhereColorBack(new string(' ', barLength), marginX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhereColorBack(new string(' ', barLength), marginX, footerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhereColorBack(header, headerTextX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhereColorBack(footer, 3, footerY, new Color(barForeground), new Color(barColor))
);

// Render the hints
Expand All @@ -62,9 +62,9 @@ public override string Render()
int chooseHelpY = 2;
int optionHelpY = 12;
builder.Append(
TextWriterWhereColor.RenderWhere("Choose an operating system to start, or press TAB to select a tool:", marginX, chooseHelpY, new Color(promptColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere("(Use the arrow keys to highlight your choice, then press ENTER.)", marginX, chooseHelpY + 1, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere("To specify an advanced option for this choice, press F8.", marginX, optionHelpY, new Color(promptColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor("Choose an operating system to start, or press TAB to select a tool:", marginX, chooseHelpY, new Color(promptColor)) +
TextWriterWhereColor.RenderWhereColor("(Use the arrow keys to highlight your choice, then press ENTER.)", marginX, chooseHelpY + 1, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor("To specify an advanced option for this choice, press F8.", marginX, optionHelpY, new Color(promptColor))
);

// Return the result
Expand Down Expand Up @@ -96,7 +96,7 @@ public override string RenderHighlight(int chosenBootEntry)
var finalColorBg = i == chosenBootEntry ? selectedEntryBg : normalEntryBg;
var finalColorFg = i == chosenBootEntry ? selectedEntryFg : normalEntryFg;
builder.Append(
TextWriterWhereColor.RenderWhere(rendered + new string(' ', Console.WindowWidth - 15 - rendered.Length) + (i == chosenBootEntry ? '>' : ' '), 6, 5 + renderedAnswers, false, new Color(finalColorFg), new Color(finalColorBg))
TextWriterWhereColor.RenderWhereColorBack(rendered + new string(' ', Console.WindowWidth - 15 - rendered.Length) + (i == chosenBootEntry ? '>' : ' '), 6, 5 + renderedAnswers, false, new Color(finalColorFg), new Color(finalColorBg))
);
renderedAnswers++;
}
Expand All @@ -117,26 +117,26 @@ public override string RenderBootFailedMessage(string content)
ConsoleColor barColor = ConsoleColor.Gray;
ConsoleColor barForeground = ConsoleColor.Black;
builder.Append(
TextWriterWhereColor.RenderWhere(new string(' ', barLength), marginX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhere(new string(' ', barLength), marginX, footerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhere(header, headerTextX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhere(footer, 3, footerY, new Color(barForeground), new Color(barColor))
TextWriterWhereColor.RenderWhereColorBack(new string(' ', barLength), marginX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhereColorBack(new string(' ', barLength), marginX, footerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhereColorBack(header, headerTextX, headerY, new Color(barForeground), new Color(barColor)) +
TextWriterWhereColor.RenderWhereColorBack(footer, 3, footerY, new Color(barForeground), new Color(barColor))
);

// Render the hints first
ConsoleColor promptColor = ConsoleColor.White;
ConsoleColor hintColor = ConsoleColor.Gray;
int failedHelpY = 2;
builder.Append(
TextWriterWhereColor.RenderWhere("Windows failed to start. A recent hardware or software change might be the\ncause. To fix the problem:", marginX, failedHelpY, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere("1. Insert your Windows installation disc and restart your computer.", marginX + 2, failedHelpY + 3, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere("2. Choose your language settings, and then click \"Next.\"", marginX + 2, failedHelpY + 4, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere("3. Click \"Repair your computer.\"", marginX + 2, failedHelpY + 5, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere("If you do not have this disc, contact your system administrator or computer\nmanufacturer for assistance.", marginX, failedHelpY + 7, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere($"File: {new Color(promptColor).VTSequenceForeground}\\Boot\\BCD", marginX + 4, failedHelpY + 10, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere($"Status: {new Color(promptColor).VTSequenceForeground}0xc000000f", marginX + 4, failedHelpY + 12, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere($"Info:", marginX + 4, failedHelpY + 14, new Color(hintColor), ColorTools.CurrentBackgroundColor) +
TextWriterWhereColor.RenderWhere(content, marginX + 10, failedHelpY + 14, new Color(promptColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor("Windows failed to start. A recent hardware or software change might be the\ncause. To fix the problem:", marginX, failedHelpY, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor("1. Insert your Windows installation disc and restart your computer.", marginX + 2, failedHelpY + 3, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor("2. Choose your language settings, and then click \"Next.\"", marginX + 2, failedHelpY + 4, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor("3. Click \"Repair your computer.\"", marginX + 2, failedHelpY + 5, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor("If you do not have this disc, contact your system administrator or computer\nmanufacturer for assistance.", marginX, failedHelpY + 7, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor($"File: {ColorTools.RenderSetConsoleColor(new Color(promptColor))}\\Boot\\BCD", marginX + 4, failedHelpY + 10, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor($"Status: {ColorTools.RenderSetConsoleColor(new Color(promptColor))}0xc000000f", marginX + 4, failedHelpY + 12, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor($"Info:", marginX + 4, failedHelpY + 14, new Color(hintColor)) +
TextWriterWhereColor.RenderWhereColor(content, marginX + 10, failedHelpY + 14, new Color(promptColor))
);
return builder.ToString();
}
Expand All @@ -148,12 +148,12 @@ public override string RenderSelectTimeout(int timeout)
int marginX = 2;
int optionHelpY = 12;
builder.Append(
TextWriterWhereColor.RenderWhere("Seconds until the highlighted choice will be started automatically:", marginX, optionHelpY + 1, true, new Color(hintColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor("Seconds until the highlighted choice will be started automatically:", marginX, optionHelpY + 1, true, new Color(hintColor))
);
int timeoutX = marginX + "Seconds until the highlighted choice will be started automatically: ".Length;
int timeoutY = 13;
builder.Append(
TextWriterWhereColor.RenderWhere($"{timeout} ", timeoutX, timeoutY, true, new Color(hintColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor($"{timeout} ", timeoutX, timeoutY, true, new Color(hintColor))
);
return builder.ToString();
}
Expand All @@ -165,7 +165,7 @@ public override string ClearSelectTimeout()
int timeoutY = 13;
ConsoleColor hintColor = ConsoleColor.Gray;
builder.Append(
TextWriterWhereColor.RenderWhere(new string(' ', Console.WindowWidth - 2), marginX, timeoutY, true, new Color(hintColor), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(new string(' ', Console.WindowWidth - 2), marginX, timeoutY, true, new Color(hintColor))
);
return builder.ToString();
}
Expand Down
12 changes: 6 additions & 6 deletions GRILO.Bootloader/Boot/Style/Styles/GrubBootStyle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ public override string Render()
string finalRenderedSection = "GNU GRUB version 2.06";
int halfX = Console.WindowWidth / 2 - finalRenderedSection.Length / 2;
builder.Append(
TextWriterWhereColor.RenderWhere(finalRenderedSection, halfX, 2, new Color(sectionTitle), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(finalRenderedSection, halfX, 2, new Color(sectionTitle))
);

// Now, render a box
builder.Append(
BorderColor.RenderBorder(2, 4, Console.WindowWidth - 6, Console.WindowHeight - 15, new Color(boxBorderColor), ColorTools.CurrentBackgroundColor)
BorderColor.RenderBorder(2, 4, Console.WindowWidth - 6, Console.WindowHeight - 15, new Color(boxBorderColor))
);

// Offer help for new users
Expand All @@ -59,7 +59,7 @@ public override string Render()
$"before booting or `c' for a command line.";
int longest = help.Split(['\n']).Max((text) => text.Length);
builder.Append(
TextWriterWhereColor.RenderWhere(help, Console.WindowWidth / 2 - longest / 2 - 2, Console.WindowHeight - 8, new Color(sectionTitle), ColorTools.CurrentBackgroundColor)
TextWriterWhereColor.RenderWhereColor(help, Console.WindowWidth / 2 - longest / 2 - 2, Console.WindowHeight - 8, new Color(sectionTitle))
);
return builder.ToString();
}
Expand Down Expand Up @@ -89,7 +89,7 @@ public override string RenderHighlight(int chosenBootEntry)
var finalColorBg = i == chosenBootEntry ? highlightedEntry : normalEntry;
var finalColorFg = i == chosenBootEntry ? normalEntry : highlightedEntry;
builder.Append(
TextWriterWhereColor.RenderWhere(rendered + new string(' ', Console.WindowWidth - 6 - rendered.Length), upperLeftCornerInterior.Item1, upperLeftCornerInterior.Item2 + renderedAnswers, false, new Color(finalColorFg), new Color(finalColorBg))
TextWriterWhereColor.RenderWhereColorBack(rendered + new string(' ', Console.WindowWidth - 6 - rendered.Length), upperLeftCornerInterior.Item1, upperLeftCornerInterior.Item2 + renderedAnswers, false, new Color(finalColorFg), new Color(finalColorBg))
);
renderedAnswers++;
}
Expand All @@ -102,13 +102,13 @@ public override string RenderBootFailedMessage(string content) =>
public override string RenderSelectTimeout(int timeout)
{
string help = $"The highlighted entry will be executed automatically in {timeout}s. ";
return TextWriterWhereColor.RenderWhere(help, 4, Console.WindowHeight - 5, true, new Color(ConsoleColor.White), ColorTools.CurrentBackgroundColor);
return TextWriterWhereColor.RenderWhereColor(help, 4, Console.WindowHeight - 5, true, new Color(ConsoleColor.White));
}

public override string ClearSelectTimeout()
{
string help = $"The highlighted entry will be executed automatically in {Config.Instance.BootSelectTimeoutSeconds}s. ";
return TextWriterWhereColor.RenderWhere(new string(' ', help.Length), 4, Console.WindowHeight - 5, true, new Color(ConsoleColor.White), ColorTools.CurrentBackgroundColor);
return TextWriterWhereColor.RenderWhereColor(new string(' ', help.Length), 4, Console.WindowHeight - 5, true, new Color(ConsoleColor.White));
}
}
}
Loading

0 comments on commit f62e35b

Please sign in to comment.