for all you machines out there
So maybe you got tired of Yosemite’s icons. That’s cool.Even without apps like the once legendary CandyBar or LiteIcon, you can still change all your icons. No more dependencies!I got tired of Yosemite’s icons and decided to take some initiative without the usual dependency on an app. It took about 2 days for me to perfect this strategy and now it’s time to make your process a lot easier than mine.
DeviantArt is my go-to place for icons sets, but you can also try IconArchive for a broader range of options.If you like the app icons I show in these pictures, then you’re welcome to download them from my Dropbox.
A special thanks to these guys for the amazing circular icons that I use in this how-to.
I include this command file in the ZIP file mentioned in Step 1, but for reference, here is the code for the ChangeIcons.command.#!/usr/bin/env ruby
require 'json' require 'shellwords'
if ENV['USER'] != 'root' puts "You'll be prompted once to enter you administrator password." end
Dir.chdir(File.dirname(__FILE__)) do
file = File.read(%Q(.set_icons/icon_data.json)) icon_data = JSON.parse(file)
icon_data.each do |key, value|
app_path = "/Applications/#{key}"
if Dir.exists?(app_path) and File.exists?("#{value}.icns") puts "Changing icon for #{app_path}" `sudo .set_icons/setfileicon "#{value}.icns" "#{app_path}"` end
end
puts "Restarting Finder and the Dock" # `killall Dock` # `killall Finder`
puts %Q(Finished!)
endNow 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 provided in Step 1.The icon-data.json file looks something like this:{
"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. Don’t mess 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.
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 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.
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 theUtilities folderis that on Line 36, the app path is listed asapp_path = “/Applications/Utilities/#{key}"`.
A special thanks to James Moore, who created the ChangeIcons.command to replace all the icons and Damien Bobillot who created the setfileicon UNIX Executable File.
otherwise known as TLDR
Now you probably have something like the following:
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.
You will be prompted to enter your password and walla you have all your snazzy new icons in place in seconds!
If you want to change your Utility icons as well, go ahead and click ChangeUtilityIcons.command too within the sub-folder called Utilities, assuming you properly named all the icons so that it works with the json file that is shown in Step 2.