Skip to main content

A tool to generate pretty, beveled macOS folder icons.

Project description

folderify

mask.png + folder = folderified!

Generate pixel-perfect macOS folder icons in the native style.

Works for macOS 10.5 (Leopard) through 10.11 (Big Sur) and automatically includes all icon sizes from 16x16 through 512x512@2x.

Install using Homebrew

brew install folderify

Usage

Use a mask to assign an icon to a folder:

folderify mask.png /path/to/folder

Generate mask.icns and mask.iconset files:

folderify mask.png

Generate icon files for a specific version of macOS (the default is your current version):

folderify mask.png --macOS 11.0

Other installation options

If you don't have Homebrew but you already have ImageMagick (the convert binary) on your system, you can use the following:

Install using pip

pip install folderify

Download the source code directly

Or download the code directly:

curl -L https://github.com/lgarron/folderify/archive/main.zip -o folderify-main.zip
unzip folderify-main.zip && cd folderify-main
python -m folderify examples/src/folder_outline.png . --reveal

The repository folder should now have a custom icon.

for file in examples/src/*.png; do python -m folderify $file; done
open examples/src/

You should see a bunch of new .iconset folders and .icns files that were automatically generated from the .png masks.

Full Options

usage: folderify [-h] [--reveal] [--macOS VERSION] [--osx VERSION] [--cache]
                    [--cache-dir DIR] [--cache-list] [--cache-restore PATH]
                    [--cache-restore-all] [--cache-remove PATH] [--verbose]
                    [mask] [target]

Generate a native-style macOS folder icon from a mask file.

positional arguments:
    mask                  Mask image file. For best results:
                        - Use a .png mask.
                        - Use a solid black design over a transparent background.
                        - Make sure the corner pixels of the mask image are transparent. They are used for empty margins.
                        - Make sure the icon is at least around 1024x1024, in order to look good at maximum Retina resolution.
    target                Target file or folder. If a target is specified, the resulting icon will be applied to the target file/folder.
                          Else, a .iconset folder and .icns file will be created in the same folder as themask (you can use "Get Info" in Finder to copy the icon from the .icns file).

optional arguments:
    -h, --help            show this help message and exit
    --reveal, -r          Reveal the target (or resulting .icns file) in Finder.
    --macOS VERSION       Version of the macOS folder icon, e.g. "10.13". Defaults to the version currently running (10.15).
    --osx VERSION, -x VERSION
                          Synonym for the --macOS argument.
    --cache, -c           Cache the mask icon in the cache dir.
    --cache-dir DIR       Use the specified cache directory (default: /Users/lgarron/.folderify/cache).
    --cache-list          List all paths with cached masks.
    --cache-restore PATH  Restore folderified icon to the file/folder at PATH, using the mask image in the cache for that path.
    --cache-restore-all   Restore all paths that have been cached.
    --cache-remove PATH   Remove the cached mask for the file/folder at PATH.
    --verbose, -v         Detailed output.

Dependencies

  • Python (version 2 or 3).
  • ImageMagick - for image processing (you should be able to run convert on the commandline).
  • Apple Developer Tools (for iconutil).

Info

On Yosemite or earlier, GenericFolderIcon.iconset is generated from the macOS default folder icon using:

iconutil --convert iconset --output GenericFolderIcon.iconset "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFolderIcon.icns"

Icons are set using osxiconutils, a GPL-licensed project by Sveinbjorn Thordarson (based on IconFamily).


apple.gif

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

folderify-2.0.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

folderify-2.0.0-py2-none-any.whl (3.1 MB view details)

Uploaded Python 2

File details

Details for the file folderify-2.0.0.tar.gz.

File metadata

  • Download URL: folderify-2.0.0.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.9.0

File hashes

Hashes for folderify-2.0.0.tar.gz
Algorithm Hash digest
SHA256 46cb2e471280132dc13e325cfcd07a6fa125b17ae9d9237c027eb3d6af9bfa92
MD5 9d85a93f98c41ce65ba89ef14be84ee3
BLAKE2b-256 619833db61e42321288ceb38b04457a08c6d62c994b63f5836e5260d05e318d0

See more details on using hashes here.

File details

Details for the file folderify-2.0.0-py2-none-any.whl.

File metadata

  • Download URL: folderify-2.0.0-py2-none-any.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.9.0

File hashes

Hashes for folderify-2.0.0-py2-none-any.whl
Algorithm Hash digest
SHA256 d80592ef276e9a60b0aab049043920a6f5ada458ff5d5b881f22bc88a168c4ba
MD5 b7d06c9a2766e862e350f341778726a0
BLAKE2b-256 321aa6dcd34ce6d259fd8a76f012210f31ce83155e0f76272e4a453d4c9ee6c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page