#!/usr/bin/env bash function make_icns { local file="../status-icon.png" local iconset="$(mktemp -d)" local output_icon="status-icon.icns" for size in {16,32,64,128,256,512}; do sips --resampleHeightWidth "${size}" "${size}" "${file}" --out "${iconset}/icon_${size}x${size}.png" &> /dev/null sips --resampleHeightWidth "$((size * 2))" "$((size * 2))" "${file}" --out "${iconset}/icon_${size}x${size}@2x.png" &> /dev/null done mv "${iconset}" "${iconset}.iconset" iconutil --convert icns "${iconset}.iconset" --output "${output_icon}" echo "${output_icon}" # so its path is returned when the function ends } make_icns