Docs/Flavours.md
See Configuration.pdf for a technical description of the OpenCore content flavour system.
This document provides a list of recommended flavours, so that icon pack artists understand what they must and can do, and so that different icon packs can use consistent names for optional icons.
Please follow this guide when providing non-default icons in icon packs.
Please raise a Pull Request or create an Issue to request additional flavours added to the lists below.
In general, users are recommended to apply the full specified flavour names from the lists below (in bold), and icon pack authors are strongly encouraged to create icons with file names from the lists below (in monotype)
Icon pack authors are encouraged to provide only those icons for which there is real demand. The complete lists below are provided for consistency of naming, and not because there is a requirement to provide all (or even most, or any - except for the required system icons listed last) of the icons listed here in a given icon pack.
Note that for all boot entry icon files
<Flavour>.icnsspecified below, anExt<Flavour>.icnsversion may be provided as well. If the selected flavour is specified for an external drive then, if present,Ext<Flavour>.icnswill be used, otherwise for security reasons OpenCore will useExtHardDrive.icnsinstead (not<Flavour>.icns). ProvidingExt<Flavour>.icnsis optional for icon providers, the fallback behaviour will be perfectly acceptable anyway, in most cases.
In the case of macOS only, a flavour based on the detected OS version is applied automatically (as shown below), and the user does not normally need to override this.
For icon pack authors, the Apple icon is recommended, AppleRecv and AppleTM are suggested, all others are entirely optional.
Apple12.icns)Apple11.icns)Apple10_15.icns, etc.)In addition, per-OS Recovery variants and Time Machine variants may be supported by adding Recv and TM to each element of the flavour as shown below.
Recovery flavours also automatically add the OS version:
AppleRecv11.icns, etc.)Time machine icons do not automatically add the OS version, so per-OS versions would require manual specification by the user (e.g. in .contentFlavour) as follows, in order to be found and used:
AppleTM11.icns, etc.)Windows is automatically detected by OpenCore, so the basic Windows flavour will be applied automatically. Unlike macOS, Windows versions are not detected automatically, so per-version icons will require manual specification by the user (e.g. in .contentFlavour) as follows, in order to be found and used.
Windows icon is recommended, all others are optional.
Windows11.icns)Windows10.icns)Windows8_1.icns, etc.)Icon support for Linux is optional. It is not required to provide all flavours even if some are provided; icon pack authors are encouraged to respond to real user demand.
Note: Media pack authors should understand that it is not required, but optional, to provide
Linux.icnseven if, for example,Debian.icnsorUbuntu.icnsare provided. Provided icons will be used (if selected in flavours specified by the user); icons which are not present will always fall back eventually to OC defaults. (In the case of an OS this will fall back toHardDrive.icns.) Similar rules apply in all sections.
Please open an Issue or Pull Request if an additional Linux flavour is required. (Please base this on actual need, e.g. it will affect at least several users.)
Linux.icns)Arch.icns, etc.)Lubuntu.icns, etc.)All optional.
Additional sub-flavours are obviously possible for Android, but none are currently defined in this list. Create a Pull Request or Issue if you believe there is a genuine need - e.g. affecting at least several users - to include these.
Linux.icns as a fallback where available, or to fallback directly to HardDrive if no Android.icns is availableReactOS.icns)
Windows.icns as a fallback, or to fallback directly to HardDrive.icns if no ReactOS.icns is available.Create an Issue or Pull Request to request additional tool icons. If doing so please provide a clear case, e.g. showing that it affects at least several users.
It is recommended to provide this icon.
It is recommended to provide one of these files (more is optional, and not normally required).
If providing just one file, name it Shell.icns if the theming of the icon is generic to any shell tool (as in the examples in OcBinaryData). Name it OpenShell.icns or UEFIShell.icns if the theming is more specific (e.g. includes specific text on the icon).
UEFIShell.icns, then Shell.icns (and then, by OC default behaviour, Tool.icns, then HardDrive.icns)OpenShell.efi, as is done in the sample config filesShell.icns or UEFIShell.icns anywayIt is recommended to either i) only provide NVRAMTool.icns, as this will be applied to the Reset NVRAM tool and the Toogle SIP tool, or else ii) provide ResetNVRAM.icns and ToggleSip.icns separately (in which case NVRAMTool.icns is not normally required).
If providing NVRAMTool.icns, it should be themed so that it could be applied to any generic NVRAM tool.
NVRAMTool.icns)ResetNVRAM.icns)
ResetNvramEntry.efi driver.ResetNVRAM.icns, then NVRAMTool.icns (and then, by OC default behaviour, Tool.icns then HardDrive.icns)ToggleSIP.icns)OpenNetworkBoot.efi uses the following flavours:
If none of these icons are available, network boot is treated like an external OS, so the fallbacks are Other followed by HardDrive.
A list of other known tools which are common enough that some icon pack artists may wish to provide a standard icon for them:
FirmwareSettingsEntry.efi (FirmwareSettings.icns)
MemTest.icns)Certain well-known bootloaders have also been assigned a flavour:
Bootloader.icns)Grub.icns)OpenCore.icns)OpenCanopy will not start if these are not present.
Provided by OcBinaryData. Used automatically by OC in some circumstances, if provided in an icon pack.
NOT provided by OcBinaryData. Are used automatically by OC in some circumstances, if provided.
Required. OpenCanopy will not start if these are not present.
These icons are not directly related to boot entry flavours, but they are included here to provide all relevant icon pack info in one place.
BtnFocus.icns)Cursor.icns, etc.)In addition, Background (Background.icns) is used as the background image for the OpenCanopy boot picker if provided.