https://github.com/FrancesCoronel/customize-icons
Customize your icons on macOS 🔧
https://github.com/FrancesCoronel/customize-icons
custom-icon finder hidden-files icon icons macos
Last synced: over 1 year ago
JSON representation
Customize your icons on macOS 🔧
- Host: GitHub
- URL: https://github.com/FrancesCoronel/customize-icons
- Owner: FrancesCoronel
- License: mit
- Archived: true
- Created: 2016-01-08T23:06:34.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-01-26T16:39:29.000Z (over 9 years ago)
- Last Synced: 2024-08-01T16:55:34.556Z (almost 2 years ago)
- Topics: custom-icon, finder, hidden-files, icon, icons, macos
- Language: Ruby
- Homepage:
- Size: 30.6 MB
- Stars: 8
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeIcons.command
- License: LICENSE
Awesome Lists containing this project
README
# customize-icons
[](https://github.com/fvcproductions/customize-icons/issues) [](https://github.com/fvcproductions/customize-icons/pulls) [](http://badges.mit-license.org)
## Use the `ChangeIcons.command` in this folder to customize and change your macOS app icons in a jiffy.
El Capitan introduced a new security policy preventing users from changing any system icon.
However, you can still continue to change your apps and volumes icons normally.
Apps like `LiteIcon` still work pretty well for this sort of thing, but it requires a lot of manual dragging.
If you're like me and enjoy using the `Terminal` to automate work-flows, I think you'll enjoy what's to follow.
## Installation
### Step 1 - Download Icons
[DeviantArt](http://www.deviantart.com) is my go-to place for icons sets, but you can also try [IconArchive](http://www.iconarchive.com/) for a broader range of options.
## Step 2 - Edit Files
I include this command file in the repo under `ChangeIcons.command`
Now here comes the tricky part.
This command relies on a `JSON` file that is named `icon-data.json` and a `UNIX Executable File` called `setfileicon`.


These files are both included in a folder called `set_icon` in the [`ZIP` file](https://github.com/fvcproductions/customize-icons) provided in **Step 1**. The `icon-data.json` file looks something like this:
```json
{
"1Password 5.app":"1Password 5",
"Alfred 2.app":"Alfred 2",
"Amphetamine.app":"Amphetamine"
}
```
It is formatted with the name of the app first in quotes followed by a semi-colon and then the name of the `icns` file.
Edit this `icon-data.json` file to include your own apps or create it yourself using your favorite text-editor.
Here is how the `JSON` file for the Utilities looks like.

It is `case-sensitive`, so make sure to type everything correctly to suit what the app is called and what you named the corresponding `icns` file.
> When you are editing this file to add on your own apps, make sure there’s not a comma on the last line or there will be an error.
Now, using `Terminal`, type in the following: `defaults write com.apple.finder AppleShowAllFiles YES`.
Once you press `Enter`, this command will show all the hidden files on your Mac.
I would not recommend messing with any of these hidden files.
The reason Apple hides them is so that the user has less of a chance of messing things up.
> To make the files hidden again later, type in the same command but with a NO at the end like this: `defaults write com.apple.finder AppleShowAllFiles NO`.
After that, type in `killall Finder` into Terminal for the command to restart the Finder and have the hidden files be revealed in your Finder.
[](https://fvcproductions.files.wordpress.com/2015/03/screenshot-2015-03-29-00-21-37.png)
Now that you have your Finder revealing all the hidden files - in the folder where you have all your icons properly named, copy and paste the folder `set_icons` from the [`ZIP` file](https://github.com/fvcproductions/customize-icons "Icons") mentioned in **Step 1**, and rename it to `.set_icons`.
Adding a period in front of the folder name makes it hidden and you will therefore not be able to see it anymore.
It looks exactly like the `.set_icons` folder already included within the folder called `Utilities` that can be found in the [`ZIP` file](https://github.com/fvcproductions/customize-icons "Icons").

So if you want to change your Utility icons as well, the `.set_icons` folder located in the sub-folder `Utilities` already has the `json` file with all the necessary modifications.
> The only difference between the `ChangeIcons.command` within the `All The Icons` folder and the `ChangeUtilityIcons.command located within the`Utilities folder`is that on Line 36, the app path is listed as`app_path = “/Applications/Utilities/#{key}”`.
## Step 3 - Edit Command
Now you probably have something like the following:
* a folder called `All The Icons` with
* all the icons you want to replace your old ones (in `icns` format)
* the `ChangeIcons.command` that was included in this [`ZIP` file](https://github.com/fvcproductions/customize-icons "Icons")
* a _hidden_ sub-folder called `.set_icons` with
* a modified `icon-data.json` file to include your own personal apps
* the `setfileicon` UNIX executable file
At this point, if you’ve done everything right, you can “hide” your hidden files again in your Finder by executing the command `defaults write com.apple.finder AppleShowAllFiles NO` in `Terminal`.
Make sure to execute `killall Finder` as well so that your Finder restarts and shows the changes.
Now go ahead and click the `ChangeIcons.command` to change all your icons simultaneously.
[](https://fvcproductions.files.wordpress.com/2015/03/screenshot-2015-03-29-00-01-44.png)
You will be prompted to enter your password and **walla** you have all your snazzy new icons in place in seconds!
### Troubleshooting
- You tried to edit the command files and now have a syntax error, like in the form of quotes - just make sure to use _straight quotes_.
- You have a syntax error in your `icon-data.json` file, like a comma on the last line.
- You forgot to include a certain app in your `icon-data.json` file and so the icon does not change when you execute the command.
- An app is locked and, therefore, the icon cannot be changed. To unlock an app, go to the app, right click, `Get Info`. Uncheck the `Locked` button.


## Contributing
This is the `icon_data.json`. This contains all the necessary information the Unix executable file `setfileicon` will need to change your Mac App icons. You will never be able to see either of these files because they are hidden in a system folder called `.set_icons`. To be able to view and edit these files, you will have to run the following 2 commands in `Terminal` to temporarily reveal all hidden folders/files:
```bash
$ defaults write com.apple.finder AppleShowAllFiles YES
$ killall Finder
```
To undo this, enter the following into `Terminal`:
```bash
$ defaults write com.apple.finder AppleShowAllFiles NO
$ killall Finder
```
> On the left we have the name of the Mac App with the `.app` extension.
> On the right we have the actual name of the icon we want to use for that Mac App except without the extension of the image which should always be a `.icns` extension
```json
{
"1Checker.app": "Calibre",
"1Password 5.app": "1Password 5",
"Alchemize.app": "Alchemize",
"Alfred 2.app": "Alfred 2",
// and so on
}
```
So if we wanted to add an icon for the **Ember** Mac App, then we would just add the following line right after the line that has **EasyImageConverter** (so that it stays in alphabetical order):
```json
"Ember.app": "Ember",
```
There would have to be a file called `Ember.icns` in the directory and the user would need the `Ember.app` installed on their Mac's `Applications` directory for this icon change to actually work.
If Ember wasn't installed, then the script would just skip that line.
**To submit a successful pull request**, you have to do the following:
## Credits
- [Sebastian de With](http://dewith.com/)
- [Yoios](https://github.com/mmarfil/yoios)
- [James Moore](https://twitter.com/foozmeat)
- [FVCproductions](http://fvcproductions.com)
## Donations
> Feed me... 🍕
[](http://paypal.me/fvcproductions)