Jump to content

Clover Themes


Slice
1,871 posts in this topic

Recommended Posts

8 hours ago, Awesome Donkey said:

 

Yes I am using the build you posted yesterday (but I did have to rename CLOVER.efi to CLOVERX64.efi if that makes any difference) along with the current DarkBootX theme (v1.7) with a custom icon for macOS Mojave (doesn't make a difference if I use the original one). Random thought; would forcing screen resolution in Clover cause it to happen? If so, I have mine forced to display at 2560x1440. But yeah, MainEntries are still off-center for me. Second random thought; I also use only custom entries too, perhaps that's why it happens?

 

EDIT: I removed the 2560x1440 screen resolution, and it didn't make a difference so it isn't that.

 

EDIT 2: Switched from custom entries to auto and that doesn't make a difference either, MainEntries are still off-center for me. I'm stumped now.

 

Are you sure you aren't using \EFI\BOOT\BOOTX64.efi as your clover and thats what needed replaced?

  • Like 1
Link to comment
Share on other sites

8 hours ago, Awesome Donkey said:

 

Yes I am using the build you posted yesterday (but I did have to rename CLOVER.efi to CLOVERX64.efi if that makes any difference) along with the current DarkBootX theme (v1.7) with a custom icon for macOS Mojave (doesn't make a difference if I use the original one). Random thought; would forcing screen resolution in Clover cause it to happen? If so, I have mine forced to display at 2560x1440. But yeah, MainEntries are still off-center for me. Second random thought; I also use only custom entries too, perhaps that's why it happens?

 

EDIT: I removed the 2560x1440 screen resolution, and it didn't make a difference so it isn't that.

 

EDIT 2: Switched from custom entries to auto and that doesn't make a difference either, MainEntries are still off-center for me. I'm stumped now.

 

screenshot2.thumb.png.9688543b90f755e2cf39970e9d9df94a.png

 

Thanks for this new report and for details of what you've tried. This will need some further testing when I get time.

 

EDIT:

I've just tested again, this time using a new build of Clover with a couple of patches applied. This time I see it too..

 

offset.jpg.b54ed999e62f3c60b1bd1f75302364cc.jpg

 

This gives me something to work on...

 

Edited by blackosx
Link to comment
Share on other sites

9 hours ago, Awesome Donkey said:

 

Yes I am using the build you posted yesterday (but I did have to rename CLOVER.efi to CLOVERX64.efi if that makes any difference) along with the current DarkBootX theme (v1.7) with a custom icon for macOS Mojave (doesn't make a difference if I use the original one). Random thought; would forcing screen resolution in Clover cause it to happen? If so, I have mine forced to display at 2560x1440. But yeah, MainEntries are still off-center for me. Second random thought; I also use only custom entries too, perhaps that's why it happens?

 

EDIT: I removed the 2560x1440 screen resolution, and it didn't make a difference so it isn't that.

 

EDIT 2: Switched from custom entries to auto and that doesn't make a difference either, MainEntries are still off-center for me. I'm stumped now.

 

You were using r4818 (could be from SF release?) instead of blackosx's r4817 which is different, few things were changed from r4785 commit. My attached r4819 below is another "different" bcoz I reverted back r4785 commit to r4784 instead of changed them (I really didn't understand should change to what LoL). Now we have 3 diff. Clover's; I hope you're bit confuse but for testing purpose I guess you could preview them using VM instead of real HW (or via USB FlashDisk).

 

#EDIT: Or you just forgot to copy blackosx's CLOVERX64.efi to \EFI\BOOT\ and rename it to BOOTX64.efi

r4819-Test.zip

Edited by Badruzeus
  • Like 1
Link to comment
Share on other sites

2 minutes ago, blackosx said:

And the icons are centred as you said, before 4785.

Yes, but I'm just afraid if Vector theme layout (that currently I'm working on) would be affected, it looks similar with what SF has but who know; I was reverting it when r4808 arrived BTW (which I believe another few changes were made on those files from r4785).  

Link to comment
Share on other sites

16 minutes ago, Badruzeus said:

Yes, but I'm just afraid if Vector theme layout (that currently I'm working on) would be affected, it looks similar with what SF has but who know; I was reverting it when r4808 arrived BTW (which I believe another few changes were made on those files from r4785).  

The main change for centred icons is down to the line discussed here

 

For designing vector themes, sure, the layout is still new and under development, but I believe as long as you design as per the latest Clovy, then you'll be good. Though I wouldn't rush to create lots of vector themes just yet as I'm sure settings will change as bugs are ironed out and new ideas/settings are implemented. But having said that, it's only by creating new vector themes that bugs and other ideas may arise.

 

  • Like 1
Link to comment
Share on other sites

33 minutes ago, blackosx said:

The main change for centred icons is down to the line discussed here

 

For designing vector themes, sure, the layout is still new and under development, but I believe as long as you design as per the latest Clovy, then you'll be good. Though I wouldn't rush to create lots of vector themes just yet as I'm sure settings will change as bugs are ironed out and new ideas/settings are implemented. But having said that, it's only by creating new vector themes that bugs and other ideas may arise.

 

If allowed I'll propose "a key" to disable vector GUI and or SVG support on config.plist (if it' s possible) for user to decide; I got significant performance degradation with (probably, my Nvidia Fermi graphics on 2nd gen?), but no problem with Vesa on a laptop that comes with 4th Gen IntelHD 4xxx (Clovy is well loaded for no more than 2 secs, but mine took about 20-30 secs.. I use 1360x768 for ScreenResolution to get it closer to native res, which on Intel HD I changed nothing to get a proper native res on Clover GUI.. or could bcoz something else which I don't know what is it, dynamic DayLight? I don't use it btw). Yes, apianti has told many times that how icons drawn on GUI were changed since Vector introduced, though.

 

#EDIT: Or bcoz I've installed too many themes (more than 60 items lol), since now I play with VM a lot instead of real HW for preview purpose, I think need to remove them and report later. Thanks anyway.

Edited by Badruzeus
Link to comment
Share on other sites

19 minutes ago, Badruzeus said:

If allowed I'll propose "a key" to disable vector GUI and or SVG support on config.plist (if it' s possible) for user to decide

I don't think a key is necessary as surely the theme entry in either nvram or config.plist does this?

 

19 minutes ago, Badruzeus said:

I got significant performance degradation with (probably, my Nvidia Fermi graphics on 2nd gen?), but no problem with Vesa on a laptop that comes with 4th Gen IntelHD 4xxx (Clovy is well loaded for no more than 2 secs, but mine took about 20-30 secs..

Can you post a debug log to show timings? This may help identify where any lags are happening.

 

19 minutes ago, Badruzeus said:

I use 1360x768 for ScreenResolution to get it closer to native res, which on Intel HD I changed nothing to get a proper native res on Clover GUI.. or could bcoz something else which I don't know what is it, dynamic DayLight? I don't use it btw

Shouldn't make much of a different which resolution you use. You could always test with BGM_SVG as that contains many of the possible variations of content, for example many icons and day/night versions of each.

 

19 minutes ago, Badruzeus said:

Yes, apianti has told many times that how icons drawn on GUI were changed since Vector introduced, though.

 

Yes, there have been lots of changes to implement vector themes so there may well be bugs that need addressing.

6 minutes ago, Awesome Donkey said:

 

We've got a winner! It's nice and center now, thanks!

 

Great. Thanks for confirming.

 

For ref: diff is

Binary files /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/.DS_Store and /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/.DS_Store differ
diff -uNr /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/Version.h /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/Version.h
--- /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/Version.h	1970-01-01 01:00:00.000000000 +0100
+++ /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/Version.h	2018-12-23 22:58:50.000000000 +0000
@@ -0,0 +1,4 @@
+#define FIRMWARE_BUILDDATE "2018-12-23 22:58:50"
+#define FIRMWARE_REVISION L"4819"
+#define REVISION_STR "Clover revision: 4819"
+#define BUILDINFOS_STR "Args: -D USE_LOW_EBDA -a X64 -b DEBUG -t XCODE8 -n 5 | OS: 10.14.2 | XCODE: 10.1"
diff -uNr /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/libeg/VectorGraphics.c /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/libeg/VectorGraphics.c
--- /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/libeg/VectorGraphics.c	2018-12-23 23:35:46.000000000 +0000
+++ /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/libeg/VectorGraphics.c	2018-12-23 21:22:31.000000000 +0000
@@ -107,6 +107,9 @@
         if ((strstr(IconName, "selection_big") != NULL) && (!GlobalConfig.SelectionOnTop)) {
           GlobalConfig.MainEntriesSize = (int)(IconImage->width * Scale); //xxx
           row0TileSize = GlobalConfig.MainEntriesSize; // + (int)(16.f * Scale);
+          DBG("GlobalConfig.SelectionOnTop = FALSE\n");
+          DBG("row0TileSize=%d\n",(int)row0TileSize);
+          DBG("MainEntriesSize=%d\n",(int)GlobalConfig.MainEntriesSize);
           DBG("main entry size = %d\n", GlobalConfig.MainEntriesSize);
         }
          if ((strstr(IconName, "selection_small") != NULL) && (!GlobalConfig.SelectionOnTop)) {
@@ -404,10 +407,13 @@
   GlobalConfig.ThemeDesignHeight = (int)SVGimage->height;
   GlobalConfig.ThemeDesignWidth = (int)SVGimage->width;
   if (GlobalConfig.SelectionOnTop) {
+    DBG("GlobalConfig.SelectionOnTop = TRUE\n");
     row0TileSize = (INTN)(144.f * Scale);
     row1TileSize = (INTN)(64.f * Scale);
     GlobalConfig.MainEntriesSize = (INTN)(128.f * Scale);
   }
+  DBG("row0TileSize=%d\n",(int)row0TileSize);
+  DBG("MainEntriesSize=%d\n",(int)GlobalConfig.MainEntriesSize);
   DBG("parsing theme finish\n");
   return EFI_SUCCESS;
 }
diff -uNr /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/refit/menu.c /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/refit/menu.c
--- /Volumes/Data/VCS/SVN/cloverefiboot-code/rEFIt_UEFI/refit/menu.c	2018-12-16 19:16:50.000000000 +0000
+++ /Users/blackosx/src/UDK2018/Clover/rEFIt_UEFI/refit/menu.c	2018-12-23 22:58:16.000000000 +0000
@@ -4053,7 +4053,9 @@
       MaxItemOnScreen = (UGAWidth - (int)((ROW0_SCROLLSIZE * 2)* GlobalConfig.Scale)) / (EntriesWidth + EntriesGap); //8
       CountItems(Screen);
       InitScroll(State, row0Count, Screen->EntryCount, MaxItemOnScreen, 0);
-      row0PosX = (UGAWidth + EntriesGap - (EntriesWidth + EntriesGap)
+      //row0PosX = (UGAWidth + EntriesGap - (EntriesWidth + EntriesGap)
+      //            * ((MaxItemOnScreen < row0Count)?MaxItemOnScreen:row0Count)) >> 1;
+      row0PosX = (UGAWidth + (GlobalConfig.TypeSVG ? EntriesGap : 8) - (EntriesWidth + EntriesGap)
                   * ((MaxItemOnScreen < row0Count)?MaxItemOnScreen:row0Count)) >> 1;
       row0PosY = (int)(((float)UGAHeight - LayoutMainMenuHeight * GlobalConfig.Scale) * 0.5f +
                   LayoutBannerOffset * GlobalConfig.Scale);

Time out.. bed time..

 

Edited by blackosx
  • Thanks 1
Link to comment
Share on other sites

17 minutes ago, blackosx said:

I don't think a key is necessary as surely the theme entry in either nvram or config.plist does this?

I didn't check my nvram either; is there any issue if nvram's Clover.Theme="Name" and Theme=Name on config.plist are different?

 

17 minutes ago, blackosx said:

Can you post a debug log to show timings? This may help identify where any lags are happening.

File attached, just not sure why logs are repeated on one debug file.

debug.log_r4819_a43sj.zip

 

#EDIT: Oh yes, they're different:

1:517  0:001  Default theme: Nightwish256
5:344  0:001  theme Apocalypse defined in NVRAM found and theme.plist parsed

 

Edited by Badruzeus
Link to comment
Share on other sites

7 hours ago, Badruzeus said:

I didn't check my nvram either; is there any issue if nvram's Clover.Theme="Name" and Theme=Name on config.plist are different?

No issue. Any theme entry in nvram will take precedence over a theme entry in config.plist.

 

7 hours ago, Badruzeus said:

File attached, just not sure why logs are repeated on one debug file.

debug.log_r4819_a43sj.zip

 

Weren't you saying you experience long delays with the Clovy theme? Your log shows you only loading your Apocalypse raster theme.

5:209  0:001  === [ InitTheme ] =========================================
5:376  0:001  Chosen theme Apocalypse
9:067  0:424  GUI ready

5:252  0:001  === [ InitTheme ] =========================================
5:421  0:001  Chosen theme Apocalypse
9:189  0:413  GUI ready

5:886  0:001  === [ InitTheme ] =========================================
6:076  0:001  Chosen theme Apocalypse
9:900  0:431  GUI ready

5:930  0:001  === [ InitTheme ] =========================================
6:099  0:001  Chosen theme Apocalypse
9:967  0:432  GUI ready

5:852  0:001  === [ InitTheme ] =========================================
6:032  0:001  Chosen theme Apocalypse
9:811  0:428  GUI ready

 

Edited by blackosx
Link to comment
Share on other sites

33 minutes ago, blackosx said:

No issue. Any theme entry in nvram will take precedence over a theme entry in config.plist.

 

Weren't you saying you experience long delays with the Clovy theme? Your log shows you only loading your Apocalypse raster theme.

Oh yes, I removed it BTW.. last time using it on real HW was with r4784 or earlier. Will do more tests with vector theme. My bad, the issue about slow loading vector GUI probably has been resolved with recent Clover revs.

Edited by Badruzeus
Link to comment
Share on other sites

28 minutes ago, Badruzeus said:

Oh yes, I removed it BTW.. last time using it on real HW was with r4784 or earlier. Will do more tests with vector theme. My bad, the issue about slow loading vector GUI probably has been resolved with recent Clover revs.

 

Ok. No problem.

 

 

On 12/22/2018 at 1:30 PM, Badruzeus said:

@Slice Sorry for another report.

We have weird scrollbar appearance since r4811, only bar_fill & scroll_fill are shown properly (especially if they contain Alpha). Thanks.

 

scrollbar_r4811.png

 

So is this still an issue?

 

I've just tested your DarkBoot theme on my hack with latest Clover build and see the scrollbar is okay, but then do I need to check on a lighter background?

 

Besides, WTF happened to vertically positioning of logo? Is this another new bug? I see it on all raster themes....

 

image.thumb.jpg.19e52e711b8f6aaff136808dfcbf5753.jpg

 

EDIT:

It seems this only happens if I boot with a default vector theme, then change to a raster theme from within the GUI.

 

time out. gotta go out now.

Edited by blackosx
  • Like 1
Link to comment
Share on other sites

35 minutes ago, blackosx said:

So is this still an issue?

 

I've just tested your DarkBoot theme on my hack with latest Clover build and see the scrollbar is okay, but then do I need to check on a lighter background?

About scrollbar currently: Yes. Even if I fill layer with non-transparent color, but drawn on top transparent background; it'll show weird black color over it.

 

35 minutes ago, blackosx said:

Besides, WTF happened to vertically positioning of logo? Is this another new bug? I see it on all raster themes....

I remember have reported this issue before (on vector theme thread): If Vector theme is used by default, then switched to Raster theme; Raster's Banner positioning would follow vector has. No issue if Raster theme is the default (till it changed to vector, then switched back).

 

VirtualBox_Clover Bootloader_24_12_2018_15_50_28.png

Edited by Badruzeus
Link to comment
Share on other sites

@blackosx Weird, on my case with r4820 if Clovy (vector) is used by default, then switched to Raster > Banner positioning for Raster theme will become upper (not lower as seen on your screenshot). Uhmmb, the only diff. from my attached CLOVER below is I just added on ../rEFIt_UEFI/entry_scan/loader.c (for KDE Neon Linux entry):

	...  
	{ L"\\EFI\\neon\\grubx64.efi", L"KDE Neon EFI boot menu", L"neon,linux", "KDE Neon" },
#else
	...
	{ L"\\EFI\\neon\\grub.efi", L"KDE Neon EFI boot menu", L"neon,linux", "KDE Neon" },
#endif

(Screenshot was using 1920x1080 res virtually).

r4820-EDK2.zip

VirtualBox_Clover Bootloader_24_12_2018_16_15_29.png

Link to comment
Share on other sites

2 hours ago, Slice said:

Why


EntriesWidth = GlobalConfig.MainEntriesSize + (16 * row0TileSize) / 144;

May be better just

EntriesWidth = GlobalConfig.MainEntriesSize;

?

Using your option with bigger than 128px for MainEntries, horizontal allignment issue is back and also cropped when item is highlighted (Selection_big). But Clovy looks better (well centered, no longer has 8px gap to left side)

VirtualBox_Clover-Bootloader_24_12_2018_21_30_36.png

Edited by Badruzeus
  • Like 1
Link to comment
Share on other sites

10 hours ago, Slice said:

@blackosx look

image.png

 

row0width = (EntryWidth + EntryGap) * Num - EntryGap;  // without last entrygap

row0pos = (UGAWidth - row0width) / 2;

So the commit 4785 is right. The issue is somewhere else.

 

8 hours ago, Slice said:

Why


EntriesWidth = GlobalConfig.MainEntriesSize + (16 * row0TileSize) / 144;

May be better just

EntriesWidth = GlobalConfig.MainEntriesSize;

?

 

This is great for themes with 128px icons.

 

Settings.c has
GlobalConfig.MainEntriesSize          = 128;

 

But other themes use different sizes, for example DarkBootX icon sizes are 160px wide and BGM256 icon sizes are 256px wide.

 

I was thinking maybe the easiest solution is to allow designer to define icon width in theme.plist, but there is already a Theme->Layout->MainEntriesSize setting which I'd forgotten about, though it gives different result.

 

https://clover-wiki.zetam.org/Design

 

MainEntriesSize - The size of the main device icons is set internally in the code to 128. Changing this value will instruct Clover to scale the device icons. For example, using a value of 256 on a theme with 128px icons will show the device icons scaled up to 256px. Note: badges will not be affected and will more than likely need repositioning.
 

So needs more attention.. To be looked at after Christmas
 

Edited by blackosx
Link to comment
Share on other sites

12 hours ago, Badruzeus said:

About scrollbar currently: Yes. Even if I fill layer with non-transparent color, but drawn on top transparent background; it'll show weird black color over it.

 

I remember have reported this issue before (on vector theme thread): If Vector theme is used by default, then switched to Raster theme; Raster's Banner positioning would follow vector has. No issue if Raster theme is the default (till it changed to vector, then switched back).

 

Scrollbar fix is to change this line

https://sourceforge.net/p/cloverefiboot/code/4822/tree/rEFIt_UEFI/refit/menu.c#l3310

 

from:

    Total = egCreateFilledImage(ScrollTotal.Width, ScrollTotal.Height, FALSE, &MenuBackgroundPixel);

to:

    Total = egCreateFilledImage(ScrollTotal.Width, ScrollTotal.Height, TRUE, &MenuBackgroundPixel);

 

  • Thanks 1
Link to comment
Share on other sites

2 minutes ago, blackosx said:

Absolutely. That works great for themes with 128px icons.

 

Settings.c has
GlobalConfig.MainEntriesSize          = 128;

 

But other themes use different sizes, for example DarkBootX icon sizes are 160px wide and BGM256 icon sizes are 256px wide.

 

I was thinking maybe the easiest solution is to allow designer to define icon width in theme.plist, but there is already a Theme->Layout->MainEntriesSize setting which I'd forgotten about, though it gives different result.

 

https://clover-wiki.zetam.org/Design

 

MainEntriesSize - The size of the main device icons is set internally in the code to 128. Changing this value will instruct Clover to scale the device icons. For example, using a value of 256 on a theme with 128px icons will show the device icons scaled up to 256px. Note: badges will not be affected and will more than likely need repositioning.
 

So needs more attention.. To be looked at after Christmas

 

Thanks for r4820 commit, could be temporary solution but it just worked.

Merry Christmas to you and your family.

VirtualBox_Clover Bootloader_24_12_2018_16_58_38.png

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

×
×
  • Create New...