A nifty command line tool to manage macOS icons
iconset
is a new command line tool for macOS that allows you to change icons for macOS apps (excluding system ones of course).
It's considered generally stable and utilizes NSWorkspace()
to change icons, so it should work on all macOS versions above 15.4.1.
In the future, I plan to set this up on brew, but for now the following command should work:
curl https://github.com/tale/iconset/releases/download/v1.0.0/iconset -Lo /usr/local/bin/iconset
sudo chmod +x /usr/local/bin/iconset
OVERVIEW: A nifty command line tool to manage macOS icons
USAGE: iconset <subcommand>
OPTIONS:
--version Show the version.
-h, --help Show help information.
SUBCOMMANDS:
folder Set icons using a folder of '.icns' files with the same names as their '.app' counterparts
single Set the icon of a '.app' file using a '.icns' file
revert Revert a custom icon by supplying a path to a '.app' file or directory
See 'iconset help <subcommand>' for detailed help.
- Specifying an icon and an application file to theme
- Specifying the directory where Applications are stored (defaults to
/Applications, ~/Applications
) - Specifying a folder of
.icns
files who's names match their respective icons - Reverting an icon by supplying a folder of
.icns
or the path to a.app
- Recursively searches through folders for
.app
files
- Advanced manifest file which lets you map
.icns
files to.app
files directly - Accompanying status bar app for macOS with automation and easy config UI
The project is an SPM Package that requires Xcode 13 and Swift 5.5.
Run swift build --disable-sandbox
in the project root to build a debug binary.
For release binaries, instead run swift build -c release --arch arm64 --arch x86_64 --disable-sandbox
in the project root
Currently, the in-app Xcode builds are sandbox enforced, potentially breaking iconset
's access to certain files.