├── .gitignore ├── Flavours.md ├── Images_Icons ├── AppIcon.png ├── Icons.png ├── OC.png ├── Ring.png ├── RingOrig.png └── Vector.png ├── LICENSE ├── README.md ├── SetupPickerVariant.md └── Source ├── AppIcon.icns ├── AppIconOff.icns ├── Builder ├── Credits.rtf ├── MainMenu.nib └── keyedobjects.nib ├── Sound ├── Funk.aiff └── Hero.aiff ├── icnspack ├── pngquant └── script /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | Source/.DS_Store 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /Flavours.md: -------------------------------------------------------------------------------- 1 | # OpenCore Content Flavours 2 | 3 | 4 | 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. 5 | 6 | ***Please follow this guide when providing non-default icons in icon packs.*** 7 | 8 | Please raise a Pull Request or create an Issue to request additional flavours added to the lists below. 9 | 10 | 11 | ## Recommended Icon Flavours 12 | 13 | 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`) 14 | 15 | 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. 16 | 17 | > Note that for all boot entry icon files `.icns` specified below, an `Ext.icns` version may be provided as well. If the selected flavour is specified for an external drive then, if present, `Ext.icns` will be used, otherwise for security reasons OpenCore will use `ExtHardDrive.icns` instead (not `.icns`). Providing `Ext.icns` is optional for icon providers, the fallback behaviour will be perfectly acceptable anyway, in most cases. 18 | 19 | ## macOS 20 | 21 | 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. 22 | 23 | For icon pack authors, the **Apple** icon is recommended, **AppleRecovery** and **AppleTM** are suggested, all others are entirely optional. 24 | 25 | (`All the Flavours icons must be 256x256 in 144 pixels`) 26 | 27 | 28 | - **Apple13:Apple** - Ventura (`Apple13.icns`) 29 | - **Apple12:Apple** - Monterey (`Apple12.icns`) 30 | - **Apple11:Apple** - Big Sur (`Apple11.icns`) 31 | - **Apple10_15:Apple** - Catalina (`Apple10_15.icns`, etc.) 32 | - **Apple10_14:Apple** - Mojave 33 | - **Apple10_13:Apple** - High Sierra 34 | - **Apple10_12:Apple** - Sierra 35 | - **Apple10_11:Apple** - El Capitan 36 | - **Apple10_10:Apple** - Yosemite 37 | - **Apple10_9:Apple** - Mavericks 38 | - **Apple10_8:Apple** - Mountain Lion 39 | - **Apple10_7:Apple** - Lion 40 | - **Apple10_6:Apple** - Snow Leopard 41 | - **Apple10_5:Apple** - Leopard 42 | - **Apple10_4:Apple** - Tiger 43 | 44 | 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. 45 | 46 | Recovery flavours also automatically add the OS version: 47 | 48 | - **AppleRecv11:AppleRecv:Apple11:Apple** - macOS Big Sur Recovery (`AppleRecv11.icns`, etc.) 49 | - ... 50 | - **AppleRecv10_4:AppleRecv:Apple10_4:Apple** - macOS Tiger Recovery 51 | 52 | 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: 53 | 54 | - **AppleTM:Apple** - macOS Time Machine, default flavour, not version specific 55 | - **AppleTM11:AppleTM:Apple11:Apple** - macOS Big Sur Time Machine (`AppleTM11.icns`, etc.) 56 | - ... 57 | - **AppleTM10_4:AppleTm:Apple10_4:Apple** - macOS Tiger Time Machine 58 | 59 | ## Windows 60 | 61 | 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. 62 | 63 | **Windows** icon is recommended, all others are optional. 64 | 65 | - **Windows** - Microsoft Windows (auto-detected by OC; fallback: **HardDrive**) 66 | - **Windows11:Windows** - Microsoft Windows 11 (`Windows11.icns`) 67 | - **Windows10:Windows** - Microsoft Windows 10 (`Windows10.icns`) 68 | - **Windows8_1:Windows** - Microsoft Windows 8.1 (`Windows8_1.icns`, etc.) 69 | - **Windows8:Windows** - Microsoft Windows 8 70 | - **Windows7:Windows** - Microsoft Windows 7 71 | 72 | 73 | ## Linux 74 | 75 | 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. 76 | 77 | > Note: Media pack authors should understand that it is not required, but optional, to provide `Linux.icns` even if, for example, `Debian.icns` or `Ubuntu.icns` are 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 to `HardDrive.icns`.) Similar rules apply in all sections. 78 | 79 | 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.) 80 | 81 | - **Linux** - Base icon for Linux (`Linux.icns`) 82 | - **Arch:Linux** - Arch Linux (`Arch.icns`, etc.) 83 | - **Astra:Linux** - Astra Linux 84 | - **CentOS:Linux** - CentOS 85 | - **Debian:Linux** - Debian 86 | - **Deepin:Linux** - Deepin 87 | - **elementaryOS:Linux** - elementary OS 88 | - **Endless:Linux** - Endless OS 89 | - **Gentoo:Linux** - Gentoo Linux 90 | - **Fedora:Linux** - Fedora 91 | - **KDEneon:Linux** - KDE neon 92 | - **Kali:Linux** - Kali Linux 93 | - **MX:Linux** - MX Linux 94 | - **Mageia:Linux** - Mageia (fork of former Mandriva) 95 | - **Manjaro:Linux** - Manjaro 96 | - **Mint:Linux** - Linux Mint 97 | - **openSUSE:Linux** - openSUSE 98 | - **Oracle:Linux** - Oracle Linux 99 | - **PopOS:Linux** - Pop!_OS 100 | - **RHEL:Linux** - Red Hat Enterprise Linux 101 | - **Rocky:Linux** - Rocky Linux 102 | - **Solus:Linux** - Solus 103 | - **Ubuntu:Linux** - Ubuntu 104 | - **Lubuntu:Ubuntu:Linux** - Lubuntu (`Lubuntu.icns`, etc.) 105 | - **UbuntuMATE:Ubuntu:Linux** - Ubuntu MATE 106 | - **Void:Linux** - Void Linux 107 | - **Xubuntu:Ubuntu:Linux** - Xubuntu 108 | - **Zorin:Linux** - Zorin OS 109 | 110 | ## Other Operating Systems 111 | 112 | All optional. 113 | 114 | 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. 115 | 116 | - **Android** - Android OS 117 | - It is down to user preference whether to specify the flavour as **Android:Linux** or just **Android** - depending on whether the user wishes to use `Linux.icns` as a fallback where available, or to fallback directly to **HardDrive** if no `Android.icns` is available 118 | - **BSD** - Base icon for BSD 119 | - **FreeBSD:BSD** - FreeBSD 120 | - Typically at most one of the above two icon files will be provided 121 | - **ReactOS** - ReactOS (alpha version open-source Windows Server binary compatible OS; not currently UEFI bootable, but reserved here anyway) (`ReactOS.icns`) 122 | - It is user preference whether to specify **ReactOS:Windows** or just **ReactOS** - depending on whether the user wishes to use `Windows.icns` as a fallback, or to fallback directly to `HardDrive.icns` if no `ReactOS.icns` is available. 123 | 124 | ## Tools 125 | 126 | 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. 127 | 128 | ### Generic Tool Icon 129 | 130 | It is recommended to provide this icon. 131 | 132 | - **Tool** - Any tool entry 133 | - If provided, is used as fallback for non-OS entries in OpenCore; if not provided falls back again to **HardDrive** (which is required) 134 | 135 | ### Shell Tools 136 | 137 | It is recommended to provide _one_ of these files (more is optional, and not normally required). 138 | 139 | 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). 140 | 141 | - **Shell** - Any shell-style tool 142 | - **UEFIShell:Shell** - EDK II UEFI Shell 143 | - As an example of how flavours work: **UEFIShell:Shell** will try `UEFIShell.icns`, then `Shell.icns` (and then, by OC default behaviour, `Tool.icns`, then `HardDrive.icns`) 144 | - _**NB**: Including **UEFIShell** anywhere in the flavour triggers picker audio-assist for "UEFI Shell"_ 145 | - **OpenShell:UEFIShell:Shell** - Themed specifically for OpenCore OpenShell (which is a variant of the EDK II UEFI Shell) 146 | - This is the recommended flavour to use for `OpenShell.efi`, as is done in the sample config files 147 | - Although this is the recommended *flavour*, icon artists are not required to provide this icon file, since this flavour will automatically find and use `Shell.icns` or `UEFIShell.icns` anyway 148 | - Because **UEFIShell** is included in this flavour, it will also trigger picker audio-assist for "UEFI Shell" 149 | - **GRUBShell:Shell** - GRUB Shell themed icon 150 | 151 | ### NVRAM Tools 152 | 153 | It 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 `NVRAMTools.icns` is not normally required). 154 | 155 | If providing `NVRAMTool.icns`, it should be themed so that it could be applied to any generic NVRAM tool. 156 | 157 | - **NVRAMTool** - Any NVRAM-related tool (`NVRAMTool.icns`) 158 | - **ResetNVRAM:NVRAMTool** - Reset NVRAM tool (`ResetNVRAM.icns`) 159 | - This is the recommended flavour, used for the entry created by the `ResetNvramEntry.efi` driver. 160 | - As another example of how flavours work: **ResetNVRAM:NVRAMTool** will look for `ResetNVRAM.icns`, then `NVRAMTool.icns` (and then, by OC default behaviour, `Tool.icns` then `HardDrive.icns`) 161 | - **NB**: Including **ResetNVRAM** anywhere in a user flavour triggers picker audio-assist and builtin label support for "Reset NVRAM" 162 | - **ToggleSIP:NVRAMTool** - Icon themed for Toggle SIP tool (`ToggleSIP.icns`) 163 | - **ToggleSIP_Enabled:ToggleSIP:NVRAMTool** - Icon themed for Toggle SIP tool when SIP is enabled (system is protected) 164 | - **ToggleSIP_Disabled:ToggleSIP:NVRAMTool** - Icon themed for Toggle SIP tool when SIP is disabled (system is unprotected) 165 | - **NB**: Including **ToggleSIP_Enabled** or **ToggleSIP_Disabled** anywhere in a user flavour triggers picker audio-assist and builtin label support for the two states of the Toggle SIP menu entry 166 | 167 | ### Other Tools 168 | 169 | A list of other known tools which are common enough that some icon pack artists may wish to provide a standard icon for them: 170 | 171 | - **MemTest** - A system memory testing tool such as that available from [memtest86.com](https://www.memtest86.com/) (`MemTest.icns`) 172 | 173 | ## Bootloaders 174 | 175 | Certain well-known bootloaders have also been assigned a flavour: 176 | 177 | - **Boatloader** - Generic bootloader icon (`Bootloader.icns`) 178 | - **Grub:Bootloader** - Icon for the GRUB2 bootloader (`Grub.icns`) 179 | - **OpenCore:Bootloader** - OpenCore intentionally does not offer to start instances of itself which have had the OC binary signature applied (i.e. standard release versions), however a) it will show non-signed versions and b) we need to have our own flavour (`OpenCore.icns`) 180 | 181 | --- 182 | 183 | ## System Boot Entry Icons 184 | 185 | ### Required 186 | 187 | OpenCanopy will not start if these are not present. 188 | 189 | - **ExtHardDrive** - Bootable OS (on external drive) 190 | - **HardDrive** - Bootable OS 191 | 192 | ### Optional 193 | 194 | Provided by OcBinaryData. Used automatically by OC in some circumstances, if provided in an icon pack. 195 | 196 | - **AppleRecv** - Apple Recovery (fallback: **HardDrive**) 197 | - **AppleTM** - Apple Time Machine (fallback: **HardDrive**) 198 | - **ExtAppleRecv** - Apple Recovery (on external drive) (fallback: **ExtHardDrive**) 199 | - **ExtAppleTM** - Apple Time Machine (on external drive) (fallback: **ExtHardDrive**) 200 | - **Shell** - Shell tool (fallback: **Tool**) 201 | - **Tool** - Generic tool (fallback: **HardDrive**) 202 | - **Windows** - Microsoft Windows (fallback: **HardDrive**) 203 | 204 | ### Additional Optional 205 | 206 | NOT provided by OcBinaryData. Are used automatically by OC in some circumstances, if provided. 207 | 208 | - **Apple** - macOS (fallback: **HardDrive**) 209 | - **ExtApple** - macOS (on external drive) (fallback: **ExtHardDrive**) 210 | - **ExtWindows** - Microsoft Windows (on external drive) (fallback: **ExtHardDrive**) 211 | - **ResetNVRAM** - Reset NVRAM tool (fallback: **Tool**) 212 | 213 | --- 214 | 215 | ## System Icons 216 | 217 | Required. OpenCanopy will not start if these are not present. 218 | 219 | 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. 220 | 221 | - **BtnFocus** - show focus on additional (shutdown and restart) buttons (`BtnFocus.icns`) 222 | - **Cursor** - mouse cursor (`Cursor.icns`, etc.) 223 | - **Dot** - password entry hidden character dot 224 | - **Enter** - password entry enter symbol 225 | - **Left** - additional picker entries to left 226 | - **Lock** - password lock 227 | - **Password** - password entry text area 228 | - **Restart** - additional button: restart 229 | - **Right** - additional picker entries to right 230 | - **Selected** - selected entry background 231 | - **Selector** - show selected entry 232 | - **SetDefault** - show selected entry in 'set default' mode 233 | - **ShutDown** - additional button: shut down 234 | 235 | In addition, **Background** (`Background.icns`) is used as the background image for the OpenCanopy boot picker if provided. 236 | -------------------------------------------------------------------------------- /Images_Icons/AppIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Images_Icons/AppIcon.png -------------------------------------------------------------------------------- /Images_Icons/Icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Images_Icons/Icons.png -------------------------------------------------------------------------------- /Images_Icons/OC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Images_Icons/OC.png -------------------------------------------------------------------------------- /Images_Icons/Ring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Images_Icons/Ring.png -------------------------------------------------------------------------------- /Images_Icons/RingOrig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Images_Icons/RingOrig.png -------------------------------------------------------------------------------- /Images_Icons/Vector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Images_Icons/Vector.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 chris1111 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenCanopy Generator 2 | 3 | Github Project 4 | 5 | - Build by [chris1111](https://github.com/chris1111/) 6 | - Credit: [pngquant](https://pngquant.org), [Acidanthera](https://github.com/acidanthera/OpenCorePkg), [blackosx](https://www.insanelymac.com/forum/profile/331032-blackosx/), [pkdesign](https://www.insanelymac.com/forum/profile/488070-pkdesign/) 7 | - Created from [Platypus](https://github.com/sveinbjornt/Platypus) 8 | ### Release Update 9 | - Release V6 uppdate 07 Jul 2024 Update app icons 10 | ### Download V-6 ➤ [OpenCanopy Generator](https://github.com/chris1111/OpenCanopy-Generator/releases/tag/V6) 11 | 12 | This tool is for create OpenCore Themes. create a set of Icon at the good size. 13 | ### ⬇(Exemple)⬇ 14 | 15 | - Selector.png 16 | - Selected.png 17 | - Apple.png 18 | - ExtHardDrive.png 19 | - AppleRecv.png 20 | - ExtAppleRecv.png 21 | - ExtAppleTM.png 22 | - HardDrive.png 23 | - AppleTM.png 24 | - Windows.png 25 | - Tool.png 26 | - Shell.png 27 | - ResetNVRAM.png 28 | - ToggleSip.png 29 | - Bootloader.png 30 | - Left.png 31 | - Right.png 32 | - Cursor.png 33 | - Restart.png 34 | - ShutDown.png 35 | - Background.png 36 | - BtnFocus.png 37 | - Dot.png 38 | - Enter.png 39 | - SetDefault.png 40 | - Lock.png 41 | 42 | ### Create Flavours Theme ➥ [Flavours Icons](https://github.com/chris1111/OpenCanopy-Generator/blob/OpenCanopy-Generator.dmg/Flavours.md) 43 | 44 | ----------------------------- 45 | #### TAKE NOTE: for OC 0.6.6 and Higher 46 | * Background.png must be 3840x2160 in 144 pixels this is for 1080p 47 | * Left.png and Right.png must be 80x80 in 144 pixels 48 | * Selector.png must be 80x80 in 144 pixels 49 | * Selected.png must be 288x288 in 144 pixels 50 | * BtnFocus.png must be 100x100 in 144 pixels 51 | * Dot.png must be 14x14 in 144 pixels 52 | * Enter.png must be 115x50 in 144 pixels 53 | * SetDefault.png must be 80x80 in 144 pixels 54 | * Lock.png must be 160x222 in 144 pixels 55 | * All the others must be 256x256 in 144 pixels 56 | 57 | #### All Background.png size for OC 0.6.6 and Higher 58 | - Create image Background 5120x2880 in 144 pixels ➤ this is for 2560x1440 screen 59 | - Create image Background 3840x2400 in 144 pixels ➤ this is for 1920x1200 screen 60 | - Create image Background 3360x2100 in 144 pixels ➤ this is for 1680x1050 screen 61 | - Create image Background 3200x2400 in 144 pixels ➤ this is for 1600x1200 screen 62 | - Create image Background 3200x1800 in 144 pixels ➤ this is for 1600x900 screen 63 | - Create image Background 2880x2160 in 144 pixels ➤ this is for 1440x1080 screen 64 | - Create image Background 3840x2160 in 144 pixels ➤ this is for 1920x1080 screen 65 | - Create image Background 2880x1800 in 144 pixels ➤ this is for 1440x900 screen 66 | - Create image Background 2732x1536 in 144 pixels ➤ this is for 1366x768 screen 67 | - Create image Background 2560x1920 in 144 pixels ➤ this is for 1280x960 screen 68 | - Create image Background 2560x1600 in 144 pixels ➤ this is for 1220x800 screen 69 | - Create image Background 2048x1536 in 144 pixels ➤ this is for 1024x768 screen 70 | 71 | 72 | #### Looking for ➣ [Themes exemple](https://github.com/chris1111/My-Simple-OC-Themes/releases/tag/Archive_New-Themes) 73 | 74 | View full Video ⬇︎ 75 | ### Video release V-1 76 | [![Modular Image Creation](https://i.ibb.co/K5bFrB5/VIDEO.png)](https://youtu.be/3zK7SGYhZ8Q) 77 | 78 | ### Setup config.plist ⇩ 79 | 80 | #### Setup PickerVariant config.plist ☞ [Setup PickerVariant](https://github.com/chris1111/OpenCanopy-Generator/blob/OpenCanopy-Generator.dmg/SetupPickerVariant.md) 81 | 82 | ### Mandatory - UEFI -> Drivers add OpenCanopy.efi 83 | 84 | #### A tool to [Resize Image Icons](https://github.com/chris1111/Build-256-Icons) 85 | 86 | #### A tool to resize Background images for use with OpenCanopyGenerator ➤ [Background-Resizer](https://github.com/chris1111/Background-Resizer) 87 | -------------------------------------------------------------------------------- /SetupPickerVariant.md: -------------------------------------------------------------------------------- 1 | ## Setup PickerVariant config 2 | 3 | ### Setup PickerVariant config.plist (OnLight themes as exemple) 4 | #### see Exemple ⤋ 5 | - Misc -> Boot -> PickerVariant: chris1111\OnLight 6 | - Misc -> Boot -> PickerAtributes: 17 7 | 8 | ![config1](https://user-images.githubusercontent.com/6248794/205488013-6fb04d32-8519-4d31-9d3c-1cb7e60cc1fa.png) 9 | 10 | ### Setup Flavours theme in config.plist (Flavours-Wonderfull themes as exemple) 11 | #### see Exemple ⤋ 12 | - Misc -> Boot -> PickerVariant: chris1111\Flavours-Wonderfull 13 | - Misc -> Boot -> PickerAtributes: 145 14 | 15 | ![config2](https://user-images.githubusercontent.com/6248794/205488049-1000e880-aca8-4ecd-8a02-93c29b88e8c5.png) 16 | 17 | ### NOTE: OpenCore 0.8.7 and Higher themes in config.plist 18 | #### see Exemple ⤋ 19 | - Misc -> Boot -> PickerVariant: chris1111\Flavours-Wonderfull 20 | - Misc -> Boot -> PickerAtributes: 145 21 | - Misc -> Boot -> ShowPicker: Always 22 | 23 | ![config3](https://user-images.githubusercontent.com/6248794/205488054-54b361c1-794b-492e-8a73-7a2bd42e98b8.png) 24 | 25 | ### NOTE: OpenCore 0.8.8 and Higher themes in config.plist 26 | #### see Exemple ⤋ 27 | - Misc -> Boot -> PickerVariant: chris1111\Flavours-Mountain 28 | - Misc -> Boot -> PickerAtributes: 145 29 | - Misc -> Boot -> ShowPicker: true 30 | 31 | ![OC 088](https://user-images.githubusercontent.com/6248794/206881307-2eec1bb8-c4a5-4a87-89ae-d49f0c9fa9d6.png) 32 | 33 | 34 | [Back on top ↑](https://github.com/chris1111/OpenCanopy-Generator) 35 | -------------------------------------------------------------------------------- /Source/AppIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/AppIcon.icns -------------------------------------------------------------------------------- /Source/AppIconOff.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/AppIconOff.icns -------------------------------------------------------------------------------- /Source/Builder: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # OpenCanopy Generator 3 | # Copyright (c) 2021, 2024 chris1111. All Right Reserved 4 | # Simple bash script for icnspack by chris1111 5 | # Credit: Acidanthera, blackosx, pkdesign, pngquant. 6 | # Vars 7 | apptitle="OpenCanopy Generator" 8 | version="1.0" 9 | PARENTDIR=$(dirname "$0") 10 | cd "$PARENTDIR" 11 | IN_DIR="/Private/tmp/Icon" 12 | OUT_DIR="/Private/tmp/Resource" 13 | 14 | [[ ! -d "$IN_DIR" ]] && mkdir -p "$IN_DIR" 15 | [[ ! -d "$OUT_DIR" ]] && mkdir -p "$OUT_DIR" 16 | 17 | 18 | for pngFile in "$IN_DIR"/*.png 19 | do 20 | 21 | filename=$(basename -- "$pngFile") 22 | filenameNoExt="${filename%*.png}" 23 | 24 | cp "$pngFile" "$OUT_DIR" 25 | 26 | width=$(sips -g pixelWidth "$pngFile") 27 | height=$(sips -g pixelHeight "$pngFile") 28 | 29 | width="${width##*: }" 30 | height="${height##*: }" 31 | 32 | halfWidth=$(( width/2 )) 33 | halfHeight=$(( height/2 )) 34 | 35 | sips --deleteProperty profile -Z $halfWidth $halfHeight "$pngFile" --out "$OUT_DIR"/"$filenameNoExt"_sml.png &>/dev/null 36 | 37 | ./pngquant --quality=90 --ext=.png --force "$OUT_DIR"/*.png 38 | 39 | ./icnspack "$OUT_DIR"/"$filenameNoExt".icns "$OUT_DIR"/"$filenameNoExt"_sml.png "$OUT_DIR"/"$filenameNoExt".png && echo "Generated $filenameNoExt.icns" && rm "$OUT_DIR"/*.png 40 | 41 | done 42 | Sleep 1 43 | cd /Private/tmp 44 | zip -r Resource.zip Resource 45 | Sleep 1 46 | osascript < /dev/null &"' 70 | osascript -e 'display notification "OpenCanopy Generator" with title "'"$apptitle"'" subtitle "All is Done"' 71 | -------------------------------------------------------------------------------- /Source/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf2578 2 | \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\froman\fcharset0 Times-Bold;\f1\froman\fcharset0 Times-Roman;} 3 | {\colortbl;\red255\green255\blue255;\red15\green128\blue255;\red255\green255\blue255;\red255\green255\blue255; 4 | \red255\green255\blue255;\red46\green111\blue253;} 5 | {\*\expandedcolortbl;;\cssrgb\c0\c58980\c100000;\cssrgb\c100000\c100000\c99985\c0;\cssrgb\c100000\c100000\c99926\c0; 6 | \cssrgb\c100000\c100000\c99941\c0;\cssrgb\c22750\c53231\c99501;} 7 | {\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{none\}}{\leveltext\leveltemplateid1\'00;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}} 8 | {\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}} 9 | \margl1440\margr1440\vieww11520\viewh8400\viewkind0 10 | \deftab720 11 | \pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 12 | \ls1\ilvl0 13 | \f0\b\fs24 \cf2 \cb3 \expnd0\expndtw0\kerning0 14 | By 15 | \f1\b0 {\field{\*\fldinst{HYPERLINK "https://github.com/chris1111/"}}{\fldrslt \cb4 \ul chris1111}}\cb5 \ 16 | \pard\tx220\tx720\pardeftab720\li720\fi-720\partightenfactor0 17 | \ls1\ilvl0 18 | \f0\b \cf6 Credit 19 | \f1\b0 \cf2 {\field{\*\fldinst{HYPERLINK "https://github.com/acidanthera/OpenCorePkg"}}{\fldrslt 20 | \f0\b \cb4 \ul Acidanthera}} 21 | \f0\b \cb4 , {\field{\*\fldinst{HYPERLINK "https://www.insanelymac.com/forum/profile/331032-blackosx/"}}{\fldrslt blackosx}}, {\field{\*\fldinst{HYPERLINK "https://www.insanelymac.com/forum/profile/488070-pkdesign/"}}{\fldrslt pkdesign}}\cb5 , \ 22 | \ls1\ilvl0{\field{\*\fldinst{HYPERLINK "https://pngquant.org/"}}{\fldrslt \cb4 pngquant}}\cb4 , {\field{\*\fldinst{HYPERLINK "https://github.com/sveinbjornt/Platypus"}}{\fldrslt Platypus}}} -------------------------------------------------------------------------------- /Source/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Source/Sound/Funk.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/Sound/Funk.aiff -------------------------------------------------------------------------------- /Source/Sound/Hero.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/Sound/Hero.aiff -------------------------------------------------------------------------------- /Source/icnspack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/icnspack -------------------------------------------------------------------------------- /Source/pngquant: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chris1111/OpenCanopy-Generator/aab5c8a962bfae9919cd5b7aa75f06f94a31801b/Source/pngquant -------------------------------------------------------------------------------- /Source/script: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # OpenCanopy Generator 3 | # Copyright (c) 2021, 2024 chris1111. All Right Reserved 4 | # Simple bash script for icnspack by chris1111 5 | # Credit: Acidanthera, blackosx, pkdesign, pngquant. 6 | # Permission to use, copy, modify, and/or distribute this software for any 7 | # purpose with or without fee is hereby granted, provided that the above 8 | # copyright notice and this permission notice appear in all copies. 9 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | 17 | # Vars 18 | apptitle="OpenCanopy Generator" 19 | version="1.0" 20 | # Set Icon directory and file 21 | export ICNS=$(dirname "${0}") 22 | iconfile="$ICNS/AppIcon.icns" 23 | TempDir="/Private/tmp/Icon" 24 | SourceDir="/Private/tmp/Resource" 25 | osascript -e "set Volume 3" 26 | # Remove file if exist 27 | if [ "/Private/tmp/Resource" ]; then 28 | rm -rf "/Private/tmp/Resource" 29 | fi 30 | 31 | if [ "/Private/tmp/Icon" ]; then 32 | rm -rf "/Private/tmp/Icon" 33 | fi 34 | 35 | if [ "/Private/tmp/Resource.zip" ]; then 36 | rm -rf "/Private/tmp/Resource.zip" 37 | fi 38 | 39 | echo "Welcome OpenCanopy Generator 40 | Make sure you follow the instructions correctly ⬇︎ 41 | This is a GUI tool for creating OpenCanopy icons for use with OpenCore. 42 | Create a set of PNG icons at the correct size and resolution 43 | (see below) They can be named anything during creation but must be renamed to follow OpenCore/OpenCanopy requirements. 44 | ----------------------------- 45 | - Selector.png, Selected.png, Apple.png, ExtHardDrive.png, AppleRecv.png, ExtAppleRecv.png, ExtAppleTM.png, HardDrive.png, AppleTM.png, Windows.png, Tool.png, Shell.png, ResetNVRAM.png, ToggleSip.png, Bootloader.png, Left.png, Right.png, Cursor.png, Restart.png, ShutDown.png, Background.png, BtnFocus.png, Dot.png, Enter.png, SetDefault.png, Lock.png 46 | 47 | ### Create Flavours Theme ➥ See (https://github.com/chris1111/OpenCanopy-Generator/blob/OpenCanopy-Generator.dmg/Flavours.md) 48 | ----------------------------- 49 | #### TAKE NOTE: for OC 0.6.6 and Higher 50 | * Background.png must be 3840x2160 in 144 pixels this is for 1080p 51 | * Left.png and Right.png must be 80x80 in 144 pixels 52 | * Selector.png must be 80x80 in 144 pixels 53 | * Selected.png must be 288x288 in 144 pixels 54 | * BtnFocus.png must be 100x100 in 144 pixels 55 | * Dot.png must be 14x14 in 144 pixels 56 | * Enter.png must be 115x50 in 144 pixels 57 | * SetDefault.png must be 80x80 in 144 pixels 58 | * Lock.png must be 160x222 in 144 pixels 59 | * All the others must be 256x256 in 144 pixels 60 | ****************************************************** 61 | Drag your PNG images to process them " 62 | # Set Droping directory and file 63 | for files in "$@" ;do 64 | 65 | osascript < /dev/null &"' 91 | osascript -e 'display notification "Program closing" with title "'"$apptitle"'" subtitle "User cancelled"' 92 | echo "Program closing in 2 seconds User cancelled" 93 | Sleep 2 94 | echo "QUITAPP" 95 | exit 0 96 | fi 97 | 98 | echo "Image processing :" 99 | osascript -e 'do shell script "afplay './Sound/Hero.aiff' &> /dev/null &"' 100 | Sleep 1 101 | mkdir -p "${TempDir}" 102 | mkdir -p "${SourceDir}" 103 | Sleep 1 104 | cp -R "$@" "${TempDir}" 105 | sleep 1 106 | ./Builder "${TempDir}" 107 | 108 | osascript < /dev/null &"' 118 | echo "All is Done. Enjoy! " 119 | 120 | #Exit tool 121 | if [ ! -d $EXIT ]; then 122 | echo " " 123 | exit 1 124 | fi 125 | done 126 | --------------------------------------------------------------------------------