unixorn/tumult.plugin.zsh

View on GitHub
bin/mkicns

Summary

Maintainability
Test Coverage
#!/usr/bin/env bash
#
# Orignal source:
#   https://github.com/herrbischoff/awesome-osx-command-line/blob/master/functions.md#app-icons

if [[ "$(uname -s)" != 'Darwin' ]]; then
  echo 'Sorry, this script only works on macOS'
  exit 1
fi

# shellcheck disable=SC2199
if [[ -z "$@" ]]; then
  echo "Input file missing"
  exit 1
else
  filename=${1%.*}
  mkdir "$filename.iconset"
  sips -z 16 16   "$1" --out "$filename.iconset/icon_16x16.png"
  sips -z 32 32   "$1" --out "$filename.iconset/icon_16x16@2x.png"
  sips -z 32 32   "$1" --out "$filename.iconset/icon_32x32.png"
  sips -z 64 64   "$1" --out "$filename.iconset/icon_32x32@2x.png"
  sips -z 128 128 "$1" --out "$filename.iconset/icon_128x128.png"
  sips -z 256 256 "$1" --out "$filename.iconset/icon_128x128@2x.png"
  sips -z 256 256 "$1" --out "$filename.iconset/icon_256x256.png"
  sips -z 512 512 "$1" --out "$filename.iconset/icon_256x256@2x.png"
  sips -z 512 512 "$1" --out "$filename.iconset/icon_512x512.png"
  cp "$1" "$filename.iconset/icon_512x512@2x.png"
  iconutil -c icns "$filename.iconset"
  rm -r "$filename.iconset"
fi