Home > Configuration > GUI
The GUI settings can me modified by changing parameters in the GUI section of the main configuration file config.plist.
Older Clover revisions < 1659 read the GUI settings from *refit.conf*
<key>GUI</key> </dict> ... </dict>
<key>TextOnly</key> <false/>
Text-only menu mode for a minimal GUI and faster loading times.
The design of the GUI depends on the chosen theme, which is set using:
<key>Theme</key> <string>metal</string>
Additionally you can set the theme in the preference panel. This setting overrides the one in the configuration file. In case an invalid theme name is used here (no theme.plist exists at the given path), then the configuration file setting is used again. If even here the theme name is invalid, then you will be greeted with an ugly fallback theme that will still be operational.
<key>ScreenResolution</key> <string>1024x768</string>
You can set the desired screen resolution if it is supported by the video card and the monitor. Clover will try to set the highest available resolution, however it might fail. You can check the list of supported resolutions in the boot log. In case PatchVBios=Yes
is used in the Graphics section, you will get the highest resolution supported by the monitor. In that case this parameter may be obsolete. The default value is 1024x768
.
<key>ConsoleMode</key> <string>[Number]/Max/Min</string>
Will switch the console driver to requested console mode (which is used by shell, boot.efi, dumpueficalls, etc). It is usually not necessary to use this, and should be used only where needed.
0
(default) - Disabled. No switch will be done due to possible incompatibility reasons.Min
- Selects lowest mode available. Useful for slow consoles, like CloverEFI, with much debug output.Max
- Select highest mode available. Useful for fast consoles, where it works.[Number]
- Selects specific mode. See boot.log from revison >= 2496 for a list of available modes.<key>Language</key> <string>en:0</string>
Sets language of Clover's help menu, that can be accessed with shortcut F1. Furthermore, this setting is passed to the OS and can have an influence on the language.
Available languages codes are:
en
, ru
, fr
, it
, es
, pt
, br
, de
, nl
, pl
, ua
, cz
, hr
, id
, ko
<key>CustomIcons</key> <true/>
Enabling this key will load the icon from the partition itself. You may assign your own icons to each volume, and you can use different icons for different volumes, even when they have the same OS.
<key>Mouse</key> <dict> <key>Enabled</key> <true/> <key>Speed</key> <integer>2</integer> <key>Mirror</key> <false/> <key>DoubleClick</key> <integer>500</integer> </dict>
Enabled
- The mouse may not work or even cause the whole GUI to lock up. Turn it off if this is the case.Speed
- Mouse movement speed. Reasonable values range from 2
-8
. Some mice may need a negative speed to reverse the movement. 0
turns off the mouse.Mirror
- Negative movement speed on a single axisDoubleClick
- Pause for double click detection in milliseconds. Until now 500
has been a good value for everyone.<key>Scan</key> <true/>
Enable or disable all automatic scans.
<key>Scan</key> <dict> <key>Entries</key> <true/> </dict>
Enable or disable the automatic UEFI entries scan.
<key>Scan</key> <dict> <key>Tool</key> <true/> </dict>
Enable or disable the automatic UEFI tool scan.
<key>Scan</key> <dict> <key>Legacy</key> <string>Last</string> </dict>
Enable or disable automatic legacy scan. Also choose from First
to list in the beginning, Last
to list it in the end.
<key>Scan</key> <dict> <key>Kernel</key> <string>All/Newest/Oldest/First/Last/MostRecent/Earliest/None</string> </dict>
Enable or disable automatic Linux kernel scan. Additionally you may choose between several options:
All
- all found kernels (default)Newest
- newest file modification dateOldest
- oldest file modification dateFirst
- first matchingLast
- last matchingMostRecent
- most recent versionEarliest
- earliest versionNone
- no kernel scan<key>Hide</key> <array> <string>WindowsHDD</string> <string>HD(1,GPT,E223FF7F-F2DA-4DBB-B765- 756F2D95B0FE)</string> </array>
Hide a partition with given name or GUID.
<key>Custom</key> <dict> ... </dict>
If the automatically scan entries are not enough you can add your own custom boot entries.
<key>Entries</key> <array> <dict> <key>Disabled</key> <false/> <key>Volume</key> <string>Volume name or GUID</string> <key>VolumeType</key> <string>Volume type</string> <key>Path</key> <string>Loader path</string> <key>Arguments</key> <string>Load options</string> <key>AddArguments</key> <string>Load options</string> <key>Title</key> <string>Display title</string> <key>FullTitle</key> <string>Full display title</string> <key>Image</key> <string>ImagePath</string> <key>ImageData</key> <string>Image hex</string> OR <data>Image base64</data> <key>DriveImage</key> <string>ImagePath</string> <key>DriveImageData</key> <string>Image hex</string> OR <data>Image base64</data> <key>Hidden</key> <true/> or <false/> or <string>Yes/No/Always</string> <key>InjectKexts</key> <true/> or <false/> or <string>Yes/No/Detect</string> <key>NoCaches</key> <false/> <key>Kernel</string> <string>All/Newest/Oldest/First/Last/MostRecent/Earliest</string> <key>Type</key> <string>OSX/OSXInstaller/OSXRecovery/Windows/Linux</string> <key>BootBgColor</key> <string>RRGGBBAA</string> <key>CustomLogo</key> <false/> <key>KernelAndKextPatches</key> <dict> <key>AppleRTC</key> <false/> <key>KextsToPatch</key> <array> ... </dict> <array>...</array> Or <true/> / <false/> </dict> ... </array>
Disabled
- Disables the entry so it is not taken into account.Volume
- A volume name or GUID to be used when scanning for loader.VolumeType
- The type of volume you want your custom entry to match. Can be a string with one type or an array with multiple types. Valid volume types are Internal
, External
, Optical
and FireWire
.Path
- Location to scan for the efi loader.Arguments
- Arguments that are to be passed to the loader. Overides the default boot arguments in Boot / Arguments.AddArguments
- Adds to the default boot arguments. For a SubEntry it adds to the arguments of the main entry.Title
- Changes the display title. Uses the format "Boot <Title> from <VolumeName>
"FullTitle
- Sets the display title to only "<FullTitle>
" without any format.Image
- Path to a custom image file. Search path is root directory of entry volume, theme directory, clover directory, clover volume root directory, and finally os icon names.ImageData
- Embedded custom image. Can be PNG or BMP format.DriveImage
- Path to a custom drive image file. Search path is root directory of entry volume, theme directory, clover directory, clover volume root directory, and finally os icon names.DriveImageData
- Embedded custom drive image. Can be PNG or BMP format.Hidden
- Hides the entry. If value is true
the entry can be shown by pressing F3. If value is Always
the entry can never be show.InjectKexts
- Inject kexts. Valid options are Yes
, No
or Detect
. Use Detect
to inject kexts only if FakeSMC is not present in KernelCache or /S/L/E. For OSX
, OSXInstaller
and OSXRecovery
type entries.NoCaches
- Skip caches. For OSX
, OSXInstaller
and OSXRecovery
type entries.Kernel
- Set the linux kernel scan priority. If this option is not supplied Clover will show all kernels found. Valid options are Newest
, Oldest
, First
, Last
, MostRecent
, Earliest
. For LinuxKernel
type entries.Type
- The type of OS that is being scanned for. Valid types are OSX
, OSXInstaller
, OSXRecovery
, Windows
, Linux
, LinuxKernel
. If Type is not one of these it will be treated as all types.BootBgColor
- Specifies the boot screen's background color. For OSX
, OSXInstaller
and OSXRecovery
type entries.CustomLogo
- Defines the boot screen logo style. For further information read Boot / CustomLogoSubEntries
- (Default:true) Disables the default sub entries if set to false. Can also be used to create custom sub entries using the same structure as a main entry, any settings that aren't set in the sub entry will be inherited from the main entry.KernelAndKextPatches
- Uses the same hierarchy and offers the same functionality found in KernelAndKextPatches, so you can selectively apply patches for each entry. Only works with revision 2797 or higher.<key>Legacy</key> <array> <dict> <key>Volume</key> <string>Volume name or GUID</string> <key>Title</key> <string>Display title</string> <key>Hidden</key> <false/> <key>Disabled</key> <false/> <key>Ignore</key> <true/> <key>Type</key> <string>Windows/Linux</string> </dict> ... </array>
Volume
- A volume name or GUID to be used when scanning for loader.Title
- Changes the display title. Uses the format "Boot <Title> from <VolumeName>
"Hidden
- Hides the entry but can be shown by pressing F3.Disabled
- Disables the entry so that is never shown.Ignore
- Entry will be ignored, or not used, so it will not affect anything.Type
- The type of OS that is being scanned for. Valid types are OSX
, OSXInstaller
, OSXRecovery
, Windows
, Linux
, LinuxKernel
. If Type is not one of these it will be treated as all types.<key>Tool</key> <array> <dict> <key>Volume</key> <string>Volume name or GUID</string> <key>Path</key> <string>Loader path</string> <key>Arguments</key> <string>Load options</string> <key>Hotkey</key> <string>G</string> <key>Title</key> <string>Display title</string> <key>FullTitle</key> <string>Full Display title</string> <key>Hidden</key> <false/> <key>Disabled</key> <false/> <key>Ignore</key> <true/> </dict> ... </array>
More explanation will come.
<key>ShowOptimus</key> <true/>
Rev 4222
Tested on Dell Latitude E6430 which can be powered with Optimus enabled or disabled in BIOS.
In Clover GUI, it will look like this:
The criteria is a number of videocard found.
2 = Embedded Intel + Discrete == "Intel"
1 = Discrete only == "Discrete"
I am not sure if someone else needed this feature so default behaviour to be not shown.
Rev 4719
Added prelang kbd option if want to keep language when updating macOS with native NVRAM.
- This is the key to fixing macOS language problems when using native NVRAM.
- This is macOS bug for long time ago.
- When using only AptioMemoryFix
or OsxAptioFixV3
without EmuVariableUefi
- When using a language other than English
You can fix issues below if use this key:
<key>GUI</key> <dict> <key>KbdPrevLang</key> <true/> <key>Language</key> <string>ru:0</string> <----- you want language </dict>
mixed language in restart popup after updating macOS.
always keep english when updating macOS in recovery despite to user already use other language in macOS.
Rev 4644
A possibility to choose between Light and Dark embedded themes
<key>GUI</key> <dict> <key>Theme</key> <string>embedded</string> <key>EmbeddedThemeType</key> <string>Dark</string>
Possible values Dark/Light/SVG /Daytime
The result:
Rev 4773
Daylight support in Clover GUI (like in Mojave).
You should choose
<key>GUI</key> <dict> <key>Timezone</key> <integer>3</integer> <key>Theme</key> <string>embedded</string> <key>EmbeddedThemeType</key> <string>Daytime</string>
Then BIOS time + Timezone will be compared to 8:00 of morning and 20:00 of evening and set light type or dark.
Rev 4774
Clovy SVG theme has os_moja_night icon and Background_night to choose depending on daylight.
Rev 4794
Implemented command line to manage boot.efi output
Explanations by vit9696 here.
By default I set command line as "log=0"
it means you will not see long output from system start to ++++++
The setting can be changed inClover GUI
> Options
> System Parameters
Rev 4840
Sync and Async sound play.
Sync play - sound play before enter Clover GUI. Clover GUI started after the sound is finished.
Async play - sound started to play before Clover GUI started and continue playing when GUI is ready.
To switch edit config.plist
<key>GUI</key> <dict> <key>PlayAsync</key> <false/>
Rev 4847-4852
There is interface in Clover GUI to tune startup sound parameters.
Computer will play a sound before enter Clover GUI. To do this you have to
Use CloverX64.efi revision 4852 or up.
Place AudioDxe-64.efi into drivers64 and drivers64UEFI. Playing is possible in both legacy and UEFI modes. AudioDxe.efi is included into Clover project and will be differ from original by Goldfish64 but almost compatible.
Place sound.wav and may be sound_night.wav into your theme folder, for example /EFI/CLOVER/theme/Clovy/. The sound must be 16bit, and 44100 or 48000Hz. But I also made conversion on the fly so 8000Hz is also supported.
Tune sound output in Clover GUI as on screen above. The settings will be stored in NVRAM and used next restart. With legacy Clover or systems without nvram you have to use EmuVariableUefi.efi and rc.scripts to save nvram.plist. For very new systems like Z370 where nvram is not working in macOS there is a chance that the nvram is working on Clover level and so all will works. SIC! Legacy Clover saved Variables only with Apple guid so why it will not work. After some discussing I may rebuild the system to use AppleBootGuid. In this case the system will not be compatible with the original driver but will work with legacy systems.
No more needs in BootChimeCfg and BootChimeDxe while the compatibility still remains
Graphics
>
|