Jump to content
Slice

Clover Themes

1,520 posts in this topic

Recommended Posts

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

Share this post


Link to post
Share on other sites
Advertisement
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);

 

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
22 minutes ago, blackosx said:

 

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 again, it solves transparent scrollbar issue (right ss) :thumbsup_anim:

VirtualBox_Clover-Bootloader_25_12_2018_04_54_19.png

Share this post


Link to post
Share on other sites
4 hours ago, Ingwar77 said:

r4822 se ve bien

screenshot0.thumb.png.8e709851d34a61ab1a6abf6e4ed89441.png

 

a pesar de la pérdida inesperada del tema de la noche en Clovy 8 PM (GMT + 3)

1956949049_2018-12-2420_14_01.png.86dd8247c3ad57740ae555bb2928d4af.png

 

Friend great topic, I would like for my asus x540 Mojave, you can share it. Thank you

Share this post


Link to post
Share on other sites
29 minutes ago, blackosx said:

Great job! emoji3.png

My test version is terrible, and I forgot applying Bevel & Emboss on it (which I believe ur design using it hah haa)

Are you sure wanna touch your PC on Xmas moment? Can't believe that is raining on a whole day here since this morning (now is evening IDN Time), unable going to anywhere then. 

os_moja.icns_bevel.zip

Edited by Badruzeus

Share this post


Link to post
Share on other sites

1395974808_ScreenShot.png.3c03136615e7447b412b2604f44e32bb.png

 

Hello there, just wondering are these 2 parameters still working as such or there's been some modification to the way its done?

 

Asking this because made a few themes for my machines and those doesn't seem to apply no matter what... or did i missed something in the way?

 

pls some hints

thx.

Share this post


Link to post
Share on other sites

to follow up on 

I've conducted some initial testing for icon placement.

 

Notes for sanity:
=============
Default, in Settings.c
GlobalConfig.MainEntriesSize = 128;   <--- Overridden by theme.plist entry MainEntriesSize
row0TileSize = 144;                   <--- Overridden by theme.plist entry SelectionBigWidth
GlobalConfig.TileXSpace = 8;          <--- Overridden by theme.plist entry TileXSpace

 

Default in menu.c
#define ROW0_SCROLLSIZE (100)

 

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

To start, I added some debug statements to current clover and also to r4875

DBG("UGAWidth =%d\n", UGAWidth);
DBG("GlobalConfig.MainEntriesSize =%d\n", GlobalConfig.MainEntriesSize);
DBG("row0TileSize =%d\n", row0TileSize);
DBG("GlobalConfig.Scale =%d\n", GlobalConfig.Scale);
DBG("EntriesGap =%d\n", EntriesGap);
DBG("EntriesWidth =%d\n", EntriesWidth);
DBG("MaxItemOnScreen =%d\n", MaxItemOnScreen);
DBG("row0Count =%d\n", row0Count);
DBG("row0PosX (Before) =%d\n", row0PosX);
DBG("row0PosY (Before) =%d\n", row0PosY);
DBG("row1PosX (Before) =%d\n", row1PosX);

      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);
      row1PosX = (UGAWidth + 8 - (row1TileSize + (INTN)(8.0f * GlobalConfig.Scale)) * row1Count) >> 1;

DBG("row0PosX (After) =%d\n", row0PosX);
DBG("row0PosY (After) =%d\n", row0PosY);
DBG("row1PosX (After) =%d\n", row1PosX);


Then saved screenshots of DarkBootX and BGM raster themes and overlaid debug and measurements for comparison.

 

BGM has Selection_big at 144px and icons as 128px and works fine before and after commit 4785. This is how rEFIt was designed to work.

 

1520275931_3_4785_BGM_Screenshot2018-12-26at08_01_163.thumb.jpg.ad6d763b3da687dcfdd3bacd51743fed.jpg

 

DarkBootX, however, has Selection_big at 180px and icons as 160px and fails to be centered with commit 4785. This goes against rEFIt's original design intention but plays with layout options introduced in to Clover which allowed BGM256 to work.


1870523027_1_4785_Darkboot_Screenshot2018-12-26at07_53.08_3.thumb.jpg.6e489da1651744693169039556ca757a.jpg

 

 

Even though DarkbootX did render centred before commit 4785 or after r4820 the code was still incorrect as EntriesWidth was incorrect and and EntriesGap was not being seen on the screen.

 

EntriesWidth
=============
The current calculation of EntriesWidth is strange as Slice pointed out.

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

BGM
EntriesWidth = 128 + (16 * 144) / 144;        = 144  <-- Ends up being same as Selection_big width

 

DarkBootX
EntriesWidth = 128 + (16 * 180) / 144;        = 148  <-- Ends up being neither Selection_big or icon width


Proposed Change 1
============

I suggest to just use row0TileSize (also SelectionBigWidth from theme.plist) for EntriesWidth.

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

Then centre the icons as per Slice's simple drawing above, otherwise themes such as DarkBootX will not be centered.

      //row0PosX = (UGAWidth + (GlobalConfig.TypeSVG ? EntriesGap : 8) - (EntriesWidth + EntriesGap)
      //            * ((MaxItemOnScreen < row0Count)?MaxItemOnScreen:row0Count)) >> 1;
      row0PosX = row0TileSize + EntriesGap;
      row0PosX = row0PosX * MaxItemOnScreen;
      row0PosX = row0PosX - EntriesGap;
      row0PosX = UGAWidth - row0PosX;
      row0PosX = row0PosX / 2;

Proposed Change 2 (Not done)
============

Also.. menu.c has

#define ROW0_SCROLLSIZE (100)

However, Clover does not use a scroll at either side of the icons, so why not have this setting user definable in the theme.plist? Setting this to a lower value can allow more larger icons to fit on a smaller screen for example.


Moving forward
============

One caveat is that as TileXSpace is now used properly, any themes based on BGM256 or for example DarkBootX which uses the layout options

            <key>TileXSpace</key>
            <integer>nn</integer>

will now properly have nn Gap between icons. This will need to be reduced in most instances. Here's an image showing BGM256 with three different TileXSpace values.

 

screenshot_BGM256_TileXSpace_diffs.thumb.jpg.57c5c7fea62802da8dfeaa88d7287a7b.jpg

 

Also, for now with Clovy theme only when SelectionOnTop="0", the selector draws the selected icon in a different position. This needs to be addressed next..

 

Here's a test build for testing:

CLOVERX64.efi.zip

 

Edited by blackosx

Share this post


Link to post
Share on other sites
On 12/26/2018 at 10:18 AM, SavageAUS said:

What's up with the line down the middle?



screenshot1.thumb.png.f23275ecfee7e8ba3a3c22c86d64459c.png

 

What can I say, "InsanelyLook" (and also "Carbon") theme use:

		<key>Background</key>
		<dict>
			...
			<key>Type</key>
			<string>Tile</string>
		</dict>

.. and provided *.png is 1080p (why I limited into this size on Theme's Description), while your display is 1440p.

You could change it to "Type=Scale" though I'm not sure about Layout potitioning related to "background".

The easier is using another background image, not should be 1440p or larger but whatever it fits the Display with "Type=Scale". Yeah, these themes are bad on this part, I could provide an alternate bkg later but honestly.. I lost my interest using fixed background since Vector theme arrived hah haa.

 

No idea with your 2nd screenshot, are you using vector theme then switched to Raster? About Banner positioning is just previous posts back on this thread, I guess. 

Share this post


Link to post
Share on other sites
8 hours ago, blackosx said:

Here's a test build for testing:

CLOVERX64.efi.zip

Here's my report;

Using your r4824 (test); both Raster & Vector theme with 128px icons as MainEntries would be alligned to the left side. Tested using Clovy and Mojave theme (No Layout customized, standard):

 

Clovy
VirtualBox_Clover Bootloader_27_12_2018_20_10_34.png

Mojave
VirtualBox_Clover Bootloader_27_12_2018_20_17_13.png
 

 

 

Any themes with bigger than 128px icons size however; are well alligned, but "TileXSpace" becomes too large: (Using Lightness256 here)

 

 

Lightness256
VirtualBox_Clover Bootloader_27_12_2018_20_22_54.png

 

Edited by Badruzeus

Share this post


Link to post
Share on other sites

This is very old bug/absent feature in DrawMainMenuEntries->BltImageCompositeBadge()

Quote

  //to simplify suppose square images

Clovy theme has non-square images so we see shifting when selected.

 

Share this post


Link to post
Share on other sites
1 hour ago, Badruzeus said:

Here's my report;

Using your r4824 (test); both Raster & Vector theme with 128px icons as MainEntries would be alligned to the left side. Tested using Clovy and Mojave theme (No Layout customized, standard):

  Reveal hidden contents

Clovy
VirtualBox_Clover Bootloader_27_12_2018_20_10_34.png

Mojave
VirtualBox_Clover Bootloader_27_12_2018_20_17_13.png
 

 

 

Any themes with bigger than 128px icons size however; are well alligned, but "TileXSpace" becomes too large: (Using Lightness256 here)

 

  Reveal hidden contents

Lightness256
VirtualBox_Clover Bootloader_27_12_2018_20_22_54.png

 

 

Thanks for testing and thanks for the report.

 

Can you try this version with added debug statements to show me what's happening? I'm sure you know, but add the following to your config.plist

    <key>Boot</key>
    <dict>
      <key>Debug</key>
      <true/>
    </dict>

debug.log will be written to /EFI/Clover/misc

 

CLOVERX64_DEBUG.zip

Share this post


Link to post
Share on other sites
49 minutes ago, blackosx said:

Can you try this version with added debug statements to show me what's happening? I'm sure you know, but add the following to your config.plist


    <key>Boot</key>
    <dict>
      <key>Debug</key>
      <true/>
    </dict>

 

debug.log attached

debug.log_gt520_r4824.zip

Share this post


Link to post
Share on other sites
[mention=331032]blackosx[/mention]
long time no see.
seems to update christmas theme and newyear theme
there is no mojave icon and apfs icon.
screenshot0.thumb.png.f7a0bd770376004b936a7fc0f0520071.png
 
thanks in advance

Hi Sherlock’s
I’ll fix it soon. Thanks for the reminder.
debug.log attached
debug.log_gt520_r4824.zip

Thanks Badruzeus.
I’ll take a look soon when I get home.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Reel
      All work except camera
      You need SwitchResX that the screen does not freeze
         


    • By RougeOne
      Budget Workstation MacOS 10.14.1 build: z370 AORUS Gaming 5 - i5-8600K - RX 580 - UHD 630
      flawless iGPU/dGPU integration, fast FCPX editing/rendering, great overall performance for ~$1200 / ~£1000
       
      Update: updated WhateverGreen and Lilu, then updated OS to 10.14.3 and everything is fine! Even iMessage, which previously I hadn't been able to make work, is now working - possibly the update flushed the NVRAM?
       
      I'm gonna come straight out and admit it - I used newb tools which are considered taboo on InsanelyMac, and so this isn't so much an installation guide as it is a green flag to anyone considering the same hardware. My first and previous Hackintosh project was just over ten years ago and this site was massively helpful, so this is my (very small) way of giving back.
       
      EFI DIRECTORY
      http://s000.tinyupload.com/index.php?file_id=97606131925137056003
       
      HARDWARE
      CPU: Intel i5-8600K 3.6GHz hexacore (contains UHD 630 iGPU)
      CPU Cooler: be quiet! Pure Rock Slim (no paste needed, and fan facing front)
      Mobo: GIGABYTE z370 AORUS Gaming 5 (WIFI)
      RAM: 1x 8GB CORSAIR Vengeance LPX C16 2666MHz (in first slot)
      GFX Card: Sapphire RX 580 NITRO+ SE
      SATA: used ports 0, 1, 3, 5 (HDD problems when connected to port 4)
      HDD: generic
      DVD Drive: generic
      PSU: EVGA 500W Semi Modular (but you should get 650W!)
      Case: CoolerMaster CM590 III
      Fans: 2x stock case fans (one sucky on front, one blowy on back), 3x be quiet! BL046 120mm fans (two blowy on top, one sucky on front). Airflow near-perfectly balanced.
       
      ADVICE
      With the Clover configuration, you want to pay close attention to all things relating to graphics. There are some specific settings for ACPI, Boot, Devices and Graphics which should be copied exactly in order to get the iGPU and dGPU to work in perfect harmony. For instance, make sure you use ig-platform-id 59120003 rather than 59120000 if you want FCPX to be usable. With the right settings, FCPX will not only run, but run flawlessly.
       
      I was not able to figure out how to make NVRAM/PRAM behave itself, and I got errors when I tried to issue relevant commands. As a result, I could not at first get iMessage to work properly. It worked once on my first installation attempt but not from subsequent attempts. This Clover configuration therefore has no consideration whatsoever toward iMessage reliability - however, iMessage ended up working somehow, anyway - I noticed it after I'd updated to 10.14.3 but this may just have been coincidence.
       
      Onboard WiFi does not work. There is no driver for it. I'm using wired ethernet to a bridge router as it was cheaper than getting a compatible PCI card.
       
      Audio is working well after I installed the z370 audio patch, then the ALC1220 codecs, then AppleALC.
       
      With kexts for generic 3rd party SATA and generic 3rd party eSATA, my HDDs and DVD drive work perfectly well.
       
      Sleep/Wake functions run perfectly. iCloud functions run perfectly. Shutdown leaves the mobo LEDs on, annoyingly.
       
      My USB 3 ports seem to suffer from low power output, and I don't know why.
       
      Overall, this system appears to run about as well under MacOS 10.14 Mojave as it does under Windows 7. I would solidly recommend this build to anyone looking to build a computer for workstation purposes, on a budget.
    • By JhonneR
      Good morning, everyone, I'm sorry if I was wrong in choosing the topic but I need help.
      I have found it extremely difficult to mount a Hackintosh in my acer.
      Setup;
      I5 2430m 2.4 6GB RAM
      Mobo P5we0 - Intel intel Graphics 3000
      At the moment I have not found out what my audio codecs are.
      but I'll leave the link on the motherboard.
      however, my real problem is several.
      I have already used the itakos image, I have already used several images that could be installed normally and that after installing the image I do not have internet via cable or wireless.
      And another, I already looked in other forums and I know that I will be called a donkey in the logical question but I have not been able to install the [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url] or clover to start from the Hard Disk, so I do not know what to do.At the moment I still do not know if there has already been someone who has already installed the High Sierra or just the Sierra in this notebook model and obtained permanent success.
      If anyone can help me, I'll be grateful.
      Installations without success, but with the system already installed in ACER;
      SIERRA
      HIGH SIERRA
      MOJAVE
      All with the same symptom. Starting only by the bootable USB stick and without internet connection via cable and wireless.
      Appreciate ! Acer 5750 Official Page
    • By Slice
      Since rev 4844 Vector Themes are supported and there are ready-to-use Clovy by Clovy, cesium by Slice and BGM_SVG by Blackosx.
      You may see it's structure to create own theme
      -------------------------------------------------------------------------------------------------------------------------------------------------------
       
       
      Now I want to add vector graphics support in Clover. See rev 4560 and later.
      It is not working yet but designers may begin to create Vector Themes.
      It supposed to consist of SVG elements and has design size. It will be rendered to any screen size scaled from design size.
       
      What application in macOS can create SVG graphics?
      Inkscape is not working in macOS 10.11+. Pity.
      LibreOffice Draw works with SVG but buggy.
      Boxy SVG cost 10$ but looks good enough. It creates the best in simplicity files and have more then enough features.
      Illustrator is good but expensive.
       
      How to improve SVG file?
      Clover has restricted support for SVG. It is your job to make compatible file and as small as possible to speedup rendering.
      Some helps:
      Help:Inkscape – From invalid to valid SVG Inkscape files
      From invalid to valid SVG Adobe Illustrator files
      From invalid to valid SVG files of other editors: BKchem, ChemDraw and CorelDRAW
      Help:Illustrator – Assistance with creating and saving SVG images in Adobe Illustrator that will pass W3C validation
      User:Quibik/Cleaning up SVG files manually
      Later I will write own instructions specific to Clover abilities.
       
      How to create SVG fonts?
      You can google to find ready-to-use SVG fonts.  I found some problems with too beaty fonts: slow rendering and overflow crash. Be careful.
      You can get ttf or otf fonts and convert them into svg by using online WEB services. Not a problem to google.
      But then I want to find a way to simplify the font to reduce a size and speedup rendering.
      You can create own font by FontForge It is opensource and available for Windows, Mac and GNU+Linux. It creates otf font which you can convert to svg font.
       
      Pictures from Badruzeus
      https://www.insanelymac.com/forum/applications/core/interface/file/attachment.php?id=301597
×