Pretty Grub - New Grub Layout and theme

prettygrub

Grub theme - template for horizontal-grub menu

==============================================

StylishDark/Vimix grub theme was used as a base, but is heavily modified.

Special thanks to sgse (aka @SGS) at Manjaro Forum), for his valuable contribution with images, wallpaper and extensive testing. Without good company, coding or any work is boring!

==============================================

==============================================

This grub(2) theme was created with focus on multi-booting systems and combined with horizontal-grub script, although it may be used with a normal grub menu, with optional modifications.

Theme Installation

Install it like a grub theme as usual:

  • Download the prettygrub package (it’s a grub theme folder). Rename the folder to prettygrub (or any other name you like…).
  • Copy the folder to /boot/grub/themes
  • Edit /etc/default/grub and set the theme value to the new theme. For example:
GRUB_THEME="/boot/grub/themes/prettygrub/theme.txt"

Grub menu modification

To make your grub menu look like a fake horizontal (you will better understand when you see it in action):

  • Download the latest horizontal-grub.
  • Make the script executable, run it
  • When you are asked to save to system, answer one of:
    • No
      • Copy the created horizontal-grub.cfg to a folder in $HOME (an example command is given in the terminal output)
      • Review the file and/or test it with grub2-theme-preview to decide if you like it
    • Yes
      • The new grub.cfg will be copied to /boot/grub/grub.cfg, backing up your current file.

Installation (short version):

git clone https://github.com/petsam/prettygrub.git
sudo cp -R prettygrub /boot/grub/themes/
sudo sed -i 's/^?GRUB_THEME=/GRUB_THEME="/boot/grub/themes/prettygrub/theme.txt"/g' /etc/default/grub
sudo update-grub
git clone https://github.com/petsam/horizontal-grub.git
./horizontal-grub/horizontal-grub
# answer Yes to save as system file

Previewing the theme

If you want to preview how the new theme looks like you may:

  • Install (if not already) grub2-theme-preview from AUR
  • Preview the theme with (check --help for other options):
sudo grub2-theme-preview

Theming details

Icons

The distro icons in the icons folder, need to be transformed (when adding/changing to a custom icon).
Resize canvas (height = width x 2), setting the new (transparent) space at the top.
For example, using Pinta:

  • Resize canvas.
  • Extend direction to up.
  • Don’t keep proportions.
  • Set height to double of width.

Theme settings

In theme.txt

  • The distro large icon at the top is created by a second menu (top-menu)
+ boot_menu {
  left = 5%
  top = 10%
  width = 2
  height = 35%
  item_font = "Lato 12"
  item_color = "#000000"
  selected_item_color = "#000000"
  item_height = 12
  item_spacing = 0
  item_padding = 0
  icon_height = 280
  icon_width = 140
}

In order to hide the menu entries, it has to be

item_color = selected_item_color = desktop-color

When you use a wallpaper image (Global property desktop-image), it has to have a monochrome color at the top left quarter.

There are two countdown options for demonstration. One is enough. You may remove one of the two (or not).

Everything else is as with common grub themes. Further modifications depend on the artistic view of the theme devs.


Go ahead and create your own grub theme on this template!
Have fun creating more grub themes!

22 Likes

Thanks! A slight issue.
When scrolling (I’ve lots of entries), the Manjaro avatar on top of the grub menu gets into a double image. Scrolling back does not help and double image remain.

ps: Haven’t tried horizontal as my grub is not in any OS.
Maybe I’ll try with an OS grub, later.
Can you send a pic of the horizontal menu? Thanks.

So you are not RTFM person?:laughing:
The horizontal menu is supposed for that menu full with “Advanced options for” entries. Eliminates the standard 1st page and uses only 1 page for each distro, which includes fallback and kernels.
For custom menu and not using horizontal-grub, you will get multiple icons at top and bottom entries.
If you send me your cfg and tell how you would like to behave, I may find some idea.

So you are not the WTFM person? (write):slightly_smiling_face:

One entry in each page? So I need to flip through about 30 pages?

I was thinking more along the refind style horizontal way, not that it is better ( I think not), but just for variety.

But thanks, this stylo thing is not important to me, as like Plymouth or bootsplash.

Cheers.

Exactly that is, at least “fake”. I am expecting you are bold enough to try… :stuck_out_tongue: or not?
One distro per page, with kernels and fallback, memtest.
Maybe you’ll like it so you leave from custom.cfg :sweat_smile:

As said, it will be through as OS grub. And I don’t use these.
So really what’s the point. And cosmetic things like these are not important to me.
Might be for others, it’s okay, just not for me.
And I’m busy, and through the weekend.
And what is your problem being unable to provide even a screen shot?
You expect people to buy your goods without seeing it? :wink:
Unless you’re unable to make it work yourself? :upside_down_face:

ps: BTW, WTFM might also stand for … WTF, man. :rofl:

Just tried horizontal-grub on Manjaro grub.
Didn’t work. :joy::rofl: LOL …(but I’ll explain)

chmod your downloaded horizontal-grub (within the directory)
Run ./horizontal-grub
Answered ‘y’. System replied something like successful and in grub system.
Reboot and made it go to Manjaro grub (I made my grub go to manjaro grub by multiboot).
Boot looks the same as before. No custom.cfg there (rather as I later booted into it and found an empty custom.cfg).

When rebooted tried again to reinstall horizontal-grub. The message

Transforming /boot/grub/grub.cfg
Created working directory : /tmp/horizontal-grub-1554385011
This grub configuration is already transformed by horizontal-menu.
Exiting…

WTFM ? :rofl::laughing:

Cheers.

1 Like

RTFM bro.
If then you think there is a bug, be kind and report as usual. How improvements happen?

Did it work for you?

I created the script and the theme layout. They both work fine for normal grub generated grub.cfg on multidistro systems.
If you are using default grub cfg and does not work, it’s a bug.
Pictures exist in introduction pages. I did not shoot a video yet, but I suppose I have to.
I know for sure two persons that are excited with it.
I thought more would, but it’s all normal life…

2 Likes

Where the heck are the pictures of the horizontal menu?

Horizontal menu is a bash script. I can post a picture of the code in Kate, but it wouldn’t fit the monitor. Its more than 140 lines.
Maybe check in Github.
The script splits linux and osprober sections of each distro and regroups. I thought I was too detailed in introduction. I may have to post video. Now I have no time. Later…

1 Like

You lost me (meaning I don’t know what you’re talking about).
So if the horizontal menu is installed, when we boot up, at the grub menu page of each distro we see 140 lines of script? We cannot take a picture of that when that happens?

That’s 2 more persons in Manjaro who are interested in getting intel-ucode into the kernel.
That’s life. Funny though, all other distros except Arch are ‘excited’ about putting intel-ucode into the kernels. Oh sorry,… Antergos and netrunner (manjaro version) just ignored intel-ucode, pretended it don’t exists.

And we can install uefi into msdos disks too. That’s life as well.
Deal with it?

This topic is about the theme. The theme works in a non usual way in order to show one large icon of current page distro, and this goes with one installation/distro per page. There is no main screen with all distros/installations, each with one main entry and one submenu. This is not like other themes.
Did technical reasons, specific code changes were needed. Instead of touching grub.d files, which are dangerous and I wouldn’t easily accept anyone that said he edited them, I prefered to manipulate the generated grub.cfg. This is safe and tested and never breaks the system.
The theme has some eye candy that no other theme can do, without code modification. IAMOF, no theme to my knowledge does, or else I wouldn’t play Tarzan to create it. I thought it was unique, so if there is a bug, please be a good friend and help me fix it.
I will owe you three 7inches cheese cakes if you do.
Is it a deal? :innocent:

Only if it is goat cheese from Georgia (Europe) or Croatia.
Russian cheeses are fine. They have improved greatly the past 5 years since the sanctions and are now even able to export them. Good for them (as like for Cuban cancer drugs).

ps: meaning no nz or aussie cheeses, please.

Don’t dream so easy.
No bug posted, no cheesecake.
No bug, no spoiling the introduction and scare people out because you use your custom grub package, no os-prober and hand-written config.
How am I going to collect? :money_mouth_face:

Heh heh heh.
I think it can be done (the horizontal menu).
Remember the short-lived burg (letters arranged opposite to grub)? It is based on grub and keeps breaking upon new grub versions? It too has a ‘nice’ horizontal menu like refind.

However note I said I am not too interested in ‘cosmetics’ and it will take more than cheeses to make me do things I’m not passionate about. Even my ‘grub theming’ tutorial is admittedly ‘rough and unpolished’. Once successful, I did not go and polish it up and I spent about a mere 30 minutes just because I was bored then. You can blame it on my undiagnosed ‘Aspergers’. :laughing:

If you want to try and don’t use it, you can temporarily enable os-prober in default/grub, use grub-mkconfig -o mygrub.cfg, then

horizontal-menu mygrub.cfg
cp horizontal-menu.cfg grub.cfg
# use the command from output for help
grub2-theme-preview etcetera

Edit: so, if you think there is no bug, could you please make it clear, as you are highly respected when it comes to grub?
Whatever you say is benefit, even if it’s negative comments. Thanks!

I couldn’t find it anywhere when I searched. If you have a sign of burg code, I am interested.

Heh heh… It wiped my grub.cfg empty.
No worries - I got it back; remember I have my own grub (and system-boot and refind)?
Then I restored the OS grub back after booting it up.

But I’d advise others not to try it.
You should be okay as you know how to get it booting. Not others.

I’ll see if there’s any burg lying around. But I know nothing about coding. I just a user.
Let you know.