From 7b55741ead181c50d2d264264f327a15f2084e85 Mon Sep 17 00:00:00 2001 From: Christopher Willis-Ford Date: Thu, 13 Dec 2018 17:36:49 -0800 Subject: [PATCH] Add AppX icons --- {packaging => buildResources}/.gitignore | 0 .../ScratchDesktop.icns | Bin .../ScratchDesktop.ico | Bin 198563 -> 198563 bytes buildResources/Square150x150Logo.png | Bin 0 -> 7032 bytes buildResources/Square44x44Logo.png | Bin 0 -> 2112 bytes buildResources/StoreLogo.png | Bin 0 -> 20834 bytes buildResources/Wide300x150Logo.png | Bin 0 -> 7712 bytes .../entitlements.plist | 0 buildResources/make-icons.sh | 62 ++++++++++++++++++ electron-builder.yaml | 1 + packaging/make-icon.sh | 51 -------------- 11 files changed, 63 insertions(+), 51 deletions(-) rename {packaging => buildResources}/.gitignore (100%) rename {packaging => buildResources}/ScratchDesktop.icns (100%) rename {packaging => buildResources}/ScratchDesktop.ico (99%) create mode 100644 buildResources/Square150x150Logo.png create mode 100644 buildResources/Square44x44Logo.png create mode 100644 buildResources/StoreLogo.png create mode 100644 buildResources/Wide300x150Logo.png rename {packaging => buildResources}/entitlements.plist (100%) create mode 100755 buildResources/make-icons.sh delete mode 100755 packaging/make-icon.sh diff --git a/packaging/.gitignore b/buildResources/.gitignore similarity index 100% rename from packaging/.gitignore rename to buildResources/.gitignore diff --git a/packaging/ScratchDesktop.icns b/buildResources/ScratchDesktop.icns similarity index 100% rename from packaging/ScratchDesktop.icns rename to buildResources/ScratchDesktop.icns diff --git a/packaging/ScratchDesktop.ico b/buildResources/ScratchDesktop.ico similarity index 99% rename from packaging/ScratchDesktop.ico rename to buildResources/ScratchDesktop.ico index fa6265ab4ba5ec952dd70a64d48d07d7fd556c03..ead5274b05a97ff0cc98d2c7026780aebefa0a67 100644 GIT binary patch delta 41 xcmZ47&$GCnXT!5xCJ~LvFLHyJY-}bQvMNqLFU};~T#(mZkjJ>aAdks-CICwr4;TOd delta 41 xcmZ47&$GCnXT!5xCgaq}FLHyJQd1`zvMNqLFU};~T#(mZkjJ>aAdks-CIDTB55@oh diff --git a/buildResources/Square150x150Logo.png b/buildResources/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e11f3fce3b55b2877fb1196069a643e4fabb36e2 GIT binary patch literal 7032 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 literal 0 HcmV?d00001 diff --git a/buildResources/StoreLogo.png b/buildResources/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..9c39a29b2031f2d6648802e0535ad64d0398d09d GIT binary patch literal 20834 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 literal 0 HcmV?d00001 diff --git a/buildResources/Wide300x150Logo.png b/buildResources/Wide300x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..daa2f5452d4bdfa177840477dca4f59bcb3a00ec GIT binary patch literal 7712 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 Ke3h&P?7sj77{0^+ literal 0 HcmV?d00001 diff --git a/packaging/entitlements.plist b/buildResources/entitlements.plist similarity index 100% rename from packaging/entitlements.plist rename to buildResources/entitlements.plist diff --git a/buildResources/make-icons.sh b/buildResources/make-icons.sh new file mode 100755 index 0000000..e551ea0 --- /dev/null +++ b/buildResources/make-icons.sh @@ -0,0 +1,62 @@ +#!/bin/bash +SRC=../src/icon/ScratchDesktop.svg +OUT_ICONSET=ScratchDesktop.iconset +OUT_ICNS=ScratchDesktop.icns +OUT_ICO=ScratchDesktop.ico +TMP_ICO=tmp + +ICO_BASIC_SIZES="16 24 32 48 256" +ICO_EXTRA_SIZES="20 30 36 40 60 64 72 80 96 512" + +if command -v pngcrush >/dev/null 2>&1; then + function optimize () { + pngcrush -new -brute -ow "$@" + } +else + echo "pngcrush is not available - skipping PNG optimization" + function optimize () { + echo "Not optimizing:" "$@" + } +fi + +# usage: resize newWidth newHeight input output [otherOptions...] +function resize () { + WIDTH=$1 + HEIGHT=$2 + SRC=$3 + DST=$4 + shift 4 + convert -background none -resize "${WIDTH}x${HEIGHT}" -extent "${WIDTH}x${HEIGHT}" -gravity center "$@" "${SRC}" "${DST}" + optimize "${DST}" +} + +if command -v convert >/dev/null 2>&1; then + # Mac + if command -v iconutil >/dev/null 2>&1; then + mkdir -p "${OUT_ICONSET}" + for SIZE in 16 32 128 256 512; do + SIZE2=`expr "${SIZE}" '*' 2` + resize "${SIZE}" "${SIZE}" "${SRC}" "${OUT_ICONSET}/icon_${SIZE}x${SIZE}.png" -density 72 -units PixelsPerInch + resize "${SIZE2}" "${SIZE2}" "${SRC}" "${OUT_ICONSET}/icon_${SIZE}x${SIZE}@2x.png" -density 144 -units PixelsPerInch + done + iconutil -c icns --output "${OUT_ICNS}" "${OUT_ICONSET}" + else + echo "iconutil is not available - skipping ICNS and ICONSET" + fi + + # Windows ICO + mkdir -p "${TMP_ICO}" + for SIZE in ${ICO_BASIC_SIZES} ${ICO_EXTRA_SIZES}; do + resize "${SIZE}" "${SIZE}" "${SRC}" "${TMP_ICO}/icon_${SIZE}x${SIZE}.png" + done + # Asking for "Zip" compression actually results in PNG compression + convert "${TMP_ICO}"/icon_*.png -colorspace sRGB -compress Zip "${OUT_ICO}" + + # Windows AppX + resize 44 44 "${SRC}" 'Square44x44Logo.png' + resize 150 150 "${SRC}" 'Square150x150Logo.png' + resize 400 400 "${SRC}" 'StoreLogo.png' + resize 300 150 "${SRC}" 'Wide300x150Logo.png' +else + echo "ImageMagick is not available - cannot convert icons" +fi diff --git a/electron-builder.yaml b/electron-builder.yaml index 74ed854..fb23c82 100644 --- a/electron-builder.yaml +++ b/electron-builder.yaml @@ -1,4 +1,5 @@ directories: + buildResources: buildResources output: dist appId: edu.mit.scratch.scratch-desktop productName: "Scratch Desktop" diff --git a/packaging/make-icon.sh b/packaging/make-icon.sh deleted file mode 100755 index 81316c1..0000000 --- a/packaging/make-icon.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh -SRC=../src/icon/ScratchDesktop.svg -OUT_ICONSET=ScratchDesktop.iconset -OUT_ICNS=ScratchDesktop.icns -OUT_ICO=ScratchDesktop.ico -TMP_ICO=tmp - -ICO_BASIC_SIZES="16 24 32 48 256" -ICO_EXTRA_SIZES="20 30 36 40 60 64 72 80 96 512" - -if command -v convert >/dev/null 2>&1; then - # Mac - if command -v iconutil >/dev/null 2>&1; then - mkdir -p "${OUT_ICONSET}" - for SIZE in 16 32 128 256 512; do - SIZE2=`expr "${SIZE}" '*' 2` - convert -background none -density 72 -units PixelsPerInch -resize "!${SIZE}x${SIZE}" "${SRC}" "${OUT_ICONSET}/icon_${SIZE}x${SIZE}.png" - convert -background none -density 144 -units PixelsPerInch -resize "!${SIZE2}x${SIZE2}" "${SRC}" "${OUT_ICONSET}/icon_${SIZE}x${SIZE}@2x.png" - # sips doesn't support SVG - #sips -s dpiWidth 72 -s dpiHeight 72 -z "${SIZE}" "${SIZE}" "${SRC}" --out "${OUT_ICONSET}/icon_${SIZE}x${SIZE}.png" - #sips -s dpiWidth 144 -s dpiHeight 144 -z "${SIZE2}" "${SIZE2}" "${SRC}" --out "${OUT_ICONSET}/icon_${SIZE}x${SIZE}@2x.png" - done - if command -v pngcrush >/dev/null 2>&1; then - for PNG in "${OUT_ICONSET}"/icon_*.png; do - pngcrush -new -brute -ow "${PNG}" - done - else - echo "pngcrush is not available - skipping PNG optimization" - fi - iconutil -c icns --output "${OUT_ICNS}" "${OUT_ICONSET}" - else - echo "iconutil is not available - skipping ICNS and ICONSET" - fi - - # Windows - mkdir -p "${TMP_ICO}" - for SIZE in ${ICO_BASIC_SIZES} ${ICO_EXTRA_SIZES}; do - convert -background none -resize "!${SIZE}x${SIZE}" "${SRC}" "${TMP_ICO}/icon_${SIZE}x${SIZE}.png" - done - if command -v pngcrush >/dev/null 2>&1; then - for PNG in "${TMP_ICO}"/icon_*.png; do - pngcrush -new -brute -ow "${PNG}" - done - else - echo "pngcrush is not available - skipping PNG optimization" - fi - # Asking for "Zip" compression actually results in PNG compression - convert "${TMP_ICO}"/icon_*.png -colorspace sRGB -compress Zip "${OUT_ICO}" -else - echo "ImageMagick is not available - cannot convert icons" -fi