ThemeKit
ThemeKit copied to clipboard
The Unified MacOS Themeing Platform for Applications and System Icons
ThemeKit
The Unified MacOS Themeing Platform.
What is ThemeKit?
ThemeKit is a macOS application that allows you to apply custom built themes to your applications. The goal is to mimic a theme manager from the iOS jailbreaking community which allows you tomap icons with a bundle ID and distribute easily.Themes are currently sparse but will eventually be available at The Official ThemeKit Store for a varying range of prices.
If you would like to read more about why ThemeKit requires SIP being disabled read here.
We have documentation on how to create your own bundles. The wiki is currently in progress but for now refer to here for more info.


Installation
Getting Started
First, visit the Releases page to get the latest version of ThemeKit.
Before Running ThemeKit (Important):
First you must disable SIP. This is required since we are temporarily modifying system files and in order to have access to their asset metadata we must unlock SIP or macOS complains. Re-enabling SIP will mess up your setup and themes so you should revert any theme changes before re-enabling!
Now run the ThemeKit.pkg application and go through the installation steps. If it fails run csrutil status and confirm your SIP has been disabled.
You are now ready to run ThemeKit and start applying themes!
Adding Themes
There are not a lot of themes available currently but you can convert your own iOS themes to ThemeKit themes with zTheme.
The ThemeKit Website currently does not have a lot on it but will soon have a store and system where you can download, host, and redistribute your themes easily. ThemeKit has a special URI scheme which allows you to install themes directly from the browser. If you are hosting your own theme the schema URI is:
themekit://open/https://<URL TO BUNDLE>.zip
If users have ThemeKit installed, clicking this will automatically open ThemeKit up and download it for them!
Troubleshooting
Icons Are Not Being Applied!
If you are running any version of macOS Catalina, Apple apps that come installed must have their permissions changed to read/write or ThemeKit must be run as root
Calendar is not being themed
The Calendar app uses a Dock Tile plugin to display the icon, which allows it to change the date. This means ThemeKit would have to manually replace files which we are trying not to do.
Icons are still themed after removing a theme
Click 'Force Refresh' under the Utilities menu in the menu bar, and wait for the Dock to be killed.
SIP and Permissive Information
ThemeKit requires SIP (System Integrity Protection) to be disabled to theme icons. This is because in newest macOS versions, certain files cannot be modified. ThemeKit uses methods built into AppKit to change icons. Removing a theme resets icons to stock macOS.
On macOS Catalina, new methods prevented ThemeKit from working properly with just SIP disabled. This is because a new read only partition was added to Catalina called /System which cannot be modified. This requires us to remount it as read write, something similar to jailbreaking on iOS. This can be done by running sudo remount -uw / followed by your password. This is only temporary as it will be reset to read write upon boot, so this command can be run only when you need to change a theme after reboot.
Any system apps, as well as user apps installed via a .pkg usually have read/write permissions disabled. In order for ThemeKit to apply icons this must be set to enabled. Once a theme has been applied, it can be disabled again, although will require these steps to be repeated when changing, applying or removing a theme.
Disclaimer
ThemeKit is considered an experiment, and is provided as is. This does not rely on code injection, and requires certain security measures to be disabled, albeit temporarily.
Screenshot Information
Icons in screenshots are Glacier with some of my own icons in that style. Banner space image found here
