GithubHelp home page GithubHelp logo

eth-p / mac-icons Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 2.0 2.26 MB

An assortment of custom MacOS folder icons, editable without Adobe products.

License: MIT License

Shell 100.00%
macos icons icns iconset mac mac-folder-icons folder-icons macos-folder-icons

mac-icons's Introduction

mac-icons

An assortment of custom MacOS folder icons designed to match the native look and feel.

Screenshots

image

Installation

Step 1: Download the icons.
Download the zip for your version of MacOS from the latest release.

Step 2: Find a folder.
In Finder, right-click on the folder you want to apply an icon to and choose "Get Info".

Step 3: Copy the icon.
In Finder, copy the icon you want to apply to the folder.

Step 4: Apply the icon.
Inside the "Get Info" window, click on the folder icon and press Command + V.

Step 5: You're done!
Enjoy your new folder icon.

ALTERNATE INSTRUCTIONS:
https://support.apple.com/en-ca/guide/mac-help/mchlp2313/mac

DIY Instructions

If you want to build your own icon engravings, you'll need to install a couple of things:

  • A computer running MacOS.
  • A SVG editor of your choice.
  • ImageMagick (brew install imagemagick)
  • librsvg (brew install librsvg)

Once everything is installed, you're ready to go!

  1. Create a 512x512 monochrome SVG file and save it under Create/Engravings.
  2. Double-click the Create.command file (or run it with bash Create.command).

If you're familiar with the command line, you can create individual images like so:

bash generate.sh "Create/Templates/(Template)" "Create/Engravings/(Engraving).svg" "Icon.icns"

DIY Pro Instructions

If you want to build your own folder templates, you'll need to know how to use the ImageMagick command line to manipulate images.

A template is a MacOS .iconset with an extra imio.sh file inside. The imio.sh file is a bash script that contains functions used to create the embossed engraving and apply it to the template folder icons:

template_info() {
	echo "My First Template"
}

# This function will emboss the icon engraving.
#
# Input:
#   $1             -- The engraving image.
#   $ICON_HEIGHT   -- The icon height in pixels.
#   $ICON_WIDTH    -- The icon width in pixels.
#   $ICON_TYPE     -- The icon type (i.e. iconset suffix)
#   $ICON_VARIANT  -- The icon variant (e.g. '@1x' or '@2x')
# 
# Output:
#   The raw BMP-format image data for the embossed engraving.
#   You can use `bmp:-` as the ImageMagick output file for that.
template_emboss() {
	
	# This command will turn the engraving red.
	# More advanced commands will be needed to create an emboss effect.
	magick convert "$1" \( -clone 0 -fill '#ff0000' -colorize 100 \) \
		-background none -compose Src -flatten \
		bmp:-
	
}

# This function will combine the engraving and the template folder icon.
# 
# Input:
#   $1             -- The embossed engraving image.
#   $2             -- The folder image.
#   $ICON_HEIGHT   -- The icon height in pixels.
#   $ICON_WIDTH    -- The icon width in pixels.
#   $ICON_TYPE     -- The icon type (i.e. iconset suffix)
#   $ICON_VARIANT  -- The icon variant (e.g. '@1x' or '@2x')
# 
# Output:
#   The raw PNG-format image data for the combined image.
#   You can use `png:-` as the ImageMagick output file for that.
template_combine() {
	
	# Find the best placement geometry for the icon size.
	# The following values are for Big Sur.
	local geom=''
	case "${ICON_TYPE}" in
		'16x16')                geom='8x8+0+1' ;;
		'32x32'|'16x16@2x')     geom='16x16+0+2' ;;
		'32x32@2x')             geom='32x32+0+3' ;;
		'128x128')              geom='64x64+0+6' ;;
		'256x256'|'128x128@2x') geom='128x128+0+12' ;;
		'512x512'|'256x256@2x') geom='256x256+0+25' ;;
		'512x512@2x')           geom='512x512+0+50' ;;
	esac
	
	# Composite the images.
	magick composite -gravity Center \
	    -compose ATop \
	    -geometry "$geom" \
	    "$1" "$2" \
	    png:-
}

mac-icons's People

Contributors

eth-p avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.