diff options
Diffstat (limited to 'icns-millefeuille.sh')
-rwxr-xr-x | icns-millefeuille.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/icns-millefeuille.sh b/icns-millefeuille.sh new file mode 100755 index 0000000..e3319a1 --- /dev/null +++ b/icns-millefeuille.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +# icns-millefeuille.sh +# +# Takes an icns file and adds missing @1x and 32px sizes. Creates a new icns +# file based on the input in the current directory. + +EX_USAGE=64 + +if [ $# -ne 1 ]; then + echo >&2 'usage: icns-millefeuille.sh ICNS_FILE' + exit $EX_USAGE +fi + +original_icon="$1" +icon="$(basename "$original_icon")" +iconset="${icon/.icns/.iconset}" + +cp -a "$original_icon" . + +iconutil -c iconset "$icon" + +cd "$iconset" + +cp icon_16x16\@2x.png icon_32x32.png + +sips -Z 512 icon_512x512\@2x.png --out icon_512x512.png +sips -Z 256 icon_256x256\@2x.png --out icon_256x256.png +sips -Z 128 icon_128x128\@2x.png --out icon_128x128.png +sips -Z 64 icon_128x128.png --out icon_32x32\@2x.png +sips -Z 16 icon_16x16\@2x.png --out icon_16x16.png + +cd .. + +iconutil -c icns "$iconset" + +rm -rf "$iconset" |