diff --git a/.gitattributes b/.gitattributes index 6e4c4df..32a5e0b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -38,6 +38,7 @@ .gitignore text eol=lf .markdownlintrc text eol=lf LICENSE text eol=lf +Makefile text eol=lf TRADEMARK text eol=lf app.config eol=lf diff --git a/Assets/Mac/raster/Mac Glyph Icon 1024x1024 WHITE.png b/Assets/Mac/raster/Mac Glyph Icon 1024x1024 WHITE.png deleted file mode 100644 index bced591..0000000 Binary files a/Assets/Mac/raster/Mac Glyph Icon 1024x1024 WHITE.png and /dev/null differ diff --git a/Assets/Mac/raster/Mac Glyph Icon 1024x1024.png b/Assets/Mac/raster/Mac Glyph Icon 1024x1024.png deleted file mode 100644 index cb02c8d..0000000 Binary files a/Assets/Mac/raster/Mac Glyph Icon 1024x1024.png and /dev/null differ diff --git a/Assets/Mac/raster/Master 1024x1024.png b/Assets/Mac/raster/Master 1024x1024.png deleted file mode 100644 index f3aa28a..0000000 Binary files a/Assets/Mac/raster/Master 1024x1024.png and /dev/null differ diff --git a/Assets/Windows/raster/App Store 1024x1024.png b/Assets/Windows/raster/App Store 1024x1024.png deleted file mode 100644 index f3aa28a..0000000 Binary files a/Assets/Windows/raster/App Store 1024x1024.png and /dev/null differ diff --git a/Assets/Windows/raster/Windows Menu 400x400.png b/Assets/Windows/raster/Windows Menu 400x400.png deleted file mode 100644 index 366af63..0000000 Binary files a/Assets/Windows/raster/Windows Menu 400x400.png and /dev/null differ diff --git a/Assets/Windows/raster/Windows Tray 400x400.png b/Assets/Windows/raster/Windows Tray 400x400.png deleted file mode 100644 index a8eb3eb..0000000 Binary files a/Assets/Windows/raster/Windows Tray 400x400.png and /dev/null differ diff --git a/Assets/Mac/vector/Mac Glyph Icon 1024x1024.svg b/Assets/glyph.svg similarity index 100% rename from Assets/Mac/vector/Mac Glyph Icon 1024x1024.svg rename to Assets/glyph.svg diff --git a/Assets/Windows/vector/App Store 1024x1024.ai b/Assets/main.ai similarity index 100% rename from Assets/Windows/vector/App Store 1024x1024.ai rename to Assets/main.ai diff --git a/Assets/Mac/vector/Master 1024x1024.svg b/Assets/rounded.svg similarity index 100% rename from Assets/Mac/vector/Master 1024x1024.svg rename to Assets/rounded.svg diff --git a/Assets/Windows/vector/Windows Tray 400x400.svg b/Assets/simplified.svg similarity index 100% rename from Assets/Windows/vector/Windows Tray 400x400.svg rename to Assets/simplified.svg diff --git a/Assets/Windows/vector/Windows Menu 400x400.svg b/Assets/square.svg similarity index 100% rename from Assets/Windows/vector/Windows Menu 400x400.svg rename to Assets/square.svg diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0c7619e --- /dev/null +++ b/Makefile @@ -0,0 +1,106 @@ +# This Makefile generates icon and tile images from the sources in `Assets/`. +# This doesn't need to be run every time: just when there's a significant change to the source assets or +# if we need different icons or tiles. + +# I recommend running "make" with the "-j" parameter to parallelize these jobs. +# On my computer, a full run takes ~45 sec with "-j" or ~3.5 minutes without. + +# Requirements: +# - cairosvg +# - convert (from ImageMagick) +# - optipng + +MAC_IMAGES = \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png \ + scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16@2x.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32@2x.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128@2x.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256@2x.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512.png \ + scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512@2x.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-48.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-64.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-96.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-128.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-256.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-512.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-16.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-19.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-32.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-38.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-48.png \ + Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-72.png + +.PHONY: all clean mac + +all: mac + +clean: + rm -vf $(MAC_IMAGES) + +mac: $(MAC_IMAGES) + +# Assumes the input SVG is square and that pixel [0,0] is a good background color +# Pads the output horizontally, using the background color, to match the requested size +# Usage: $(eval $(call svg2png,outpath/outfile.png,Assets/infile.svg,width,height,dpi)) +define svg2png +$(1): $(2) + BORDER_COLOR=`convert -background none -format '%[pixel:u.p{0,0}]' "$$<" info:` && \ + echo "Detected border color: $$$${BORDER_COLOR}" && \ + cairosvg --output-height "$(4)" -f png -o - "$$<" | \ + convert -background none -bordercolor "$$$${BORDER_COLOR}" -gravity center -extent "$(3)x$(4)" -density "$(5)" - "$$@" && \ + optipng -o7 -zm1-9 "$$@" +endef + +# macOS app icon +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png,Assets/rounded.svg,16,16,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png,Assets/rounded.svg,32,32,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png,Assets/rounded.svg,32,32,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png,Assets/rounded.svg,64,64,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png,Assets/rounded.svg,128,128,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png,Assets/rounded.svg,256,256,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png,Assets/rounded.svg,256,256,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png,Assets/rounded.svg,512,512,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png,Assets/rounded.svg,512,512,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png,Assets/rounded.svg,1024,1024,144)) + +# macOS app status bar icon +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16.png,Assets/glyph.svg,16,16,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16@2x.png,Assets/glyph.svg,32,32,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32.png,Assets/glyph.svg,32,32,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32@2x.png,Assets/glyph.svg,64,64,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128.png,Assets/glyph.svg,128,128,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128@2x.png,Assets/glyph.svg,256,256,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256.png,Assets/glyph.svg,256,256,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256@2x.png,Assets/glyph.svg,512,512,144)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512.png,Assets/glyph.svg,512,512,72)) +$(eval $(call svg2png,scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512@2x.png,Assets/glyph.svg,1024,1024,144)) + +# macOS Safari extension icon +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-48.png,Assets/rounded.svg,48,48,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-64.png,Assets/rounded.svg,64,64,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-96.png,Assets/rounded.svg,96,96,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-128.png,Assets/rounded.svg,128,128,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-256.png,Assets/rounded.svg,256,256,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/icon-512.png,Assets/rounded.svg,512,512,72)) + +# macOS Safari extension toolbar icon +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-16.png,Assets/glyph.svg,16,16,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-19.png,Assets/glyph.svg,19,19,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-32.png,Assets/glyph.svg,32,32,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-38.png,Assets/glyph.svg,38,38,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-48.png,Assets/glyph.svg,48,48,72)) +$(eval $(call svg2png,Scratch\ Link\ Safari\ Helper/Scratch\ Link\ Safari\ Extension/Resources/images/toolbar-icon-72.png,Assets/glyph.svg,72,72,72)) diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-128.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-128.png index 693f9bd..0fad9b9 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-128.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-128.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-256.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-256.png index 8801d66..5a33f9c 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-256.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-256.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-48.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-48.png index 496d5c6..9930583 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-48.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-48.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-512.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-512.png index 9fd7977..624bf8c 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-512.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-512.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-64.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-64.png index 1f7bcde..831f82d 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-64.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-64.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-96.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-96.png index d83ca55..d5da15a 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-96.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/icon-96.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-16.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-16.png index 1af5019..2a91a4f 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-16.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-16.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-19.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-19.png index 45b85da..971973d 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-19.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-19.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-32.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-32.png index 38b3763..a772e0e 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-32.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-32.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-38.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-38.png index cb03961..62f54c1 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-38.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-38.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-48.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-48.png index b2cca14..2093c24 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-48.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-48.png differ diff --git a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-72.png b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-72.png index d76d2cf..52516ae 100644 Binary files a/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-72.png and b/Scratch Link Safari Helper/Scratch Link Safari Extension/Resources/images/toolbar-icon-72.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png index dde3826..e16362c 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png index 1c34ccf..c2c3e82 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png index 1e3d312..d21cf17 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png index 82ae187..40cb8cd 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png index 109a1e1..5906dc9 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png index 25c8227..c9642e6 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png index e81f171..66b7656 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png index 98a4f5d..e982742 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png index f284b85..165854e 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png differ diff --git a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png index 1a343c6..2b858af 100644 Binary files a/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and b/scratch-link-mac/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128.png index 8b0bbbe..950c610 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128@2x.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128@2x.png index 93558f6..efc5ef9 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128@2x.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_128x128@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16.png index 7025427..8e2c5a9 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16@2x.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16@2x.png index e053981..dc1d5dd 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16@2x.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_16x16@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256.png index 37083c3..b058c6f 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256@2x.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256@2x.png index edd15e6..16e509c 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256@2x.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_256x256@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32.png index d20f98e..df9c5b8 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32@2x.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32@2x.png index efaf20a..df154a1 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32@2x.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_32x32@2x.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512.png index f0d4492..fda2868 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512.png differ diff --git a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512@2x.png b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512@2x.png index 5fd2425..f6f0e2d 100644 Binary files a/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512@2x.png and b/scratch-link-mac/Assets.xcassets/StatusBarIcon.iconset/icon_512x512@2x.png differ diff --git a/scratch-link-mac/Makefile b/scratch-link-mac/Makefile deleted file mode 100644 index cde781c..0000000 --- a/scratch-link-mac/Makefile +++ /dev/null @@ -1,155 +0,0 @@ -SIGN_ID=Scratch Foundation, Inc. -APP_ID=edu.mit.scratch.scratch-link -APP_BUNDLE=Scratch\ Link.app -CONFIG=release - -SIGN_MAS_APP=Apple Distribution: $(SIGN_ID) -SIGN_MAS_INS=3rd Party Mac Developer Installer: $(SIGN_ID) -SIGN_MAC_APP=Developer ID Application: $(SIGN_ID) -SIGN_MAC_INS=Developer ID Installer: $(SIGN_ID) - -# Assume there's a recent tag called something like "1.1" and turn "1.1-2-g123abc" into "1.1.2" -APP_VERSION=$(shell git describe --always --long | sed 's/-\([0-9]*\)-g.*/.\1/') -VERSION_DETAIL=$(shell git describe --always --long --dirty --exclude '*') -BIN_PATH=$(shell swift build --configuration $(CONFIG) --show-bin-path) - -BIN_FILE=$(BIN_PATH)/scratch-link -APP_DEST=dist/$(APP_BUNDLE) -PACKAGE_FILE=scratch-link-$(APP_VERSION).pkg -ZIP_FILE=scratch-link-$(APP_VERSION).zip -SWIFT_SOURCES=$(wildcard Sources/scratch-link/*.swift) - -.PHONY: all bin clean dist dist-mas dist-devid distclean lint resolve-dependencies uninstall xcodeproj zip - -#all: $(APP_DEST) -all: Assets.xcassets/AppIcon.appiconset Assets.xcassets/StatusBarIcon.iconset - -show-version: - @echo APP_VERSION: $(APP_VERSION) - @echo VERSION_DETAIL: $(VERSION_DETAIL) - -#lint: $(SWIFT_SOURCES) -# swiftlint lint --path Sources - -#bin: $(BIN_FILE) - -#dist: dist-mas dist-devid - -# For distribution to the Mac App Store -#dist-mas: dist/mas-$(PACKAGE_FILE) - -#dist/mas-$(PACKAGE_FILE): dist/tmp.mas/$(APP_BUNDLE) -# productbuild --sign "$(SIGN_MAS_INS)" --component-compression auto --component "$<" /Applications "$@" - -#dist/tmp.mas/$(APP_BUNDLE): dist/$(APP_BUNDLE) -# rm -rf dist/tmp.mas/ -# mkdir -p dist/tmp.mas/ -# cp -aR "$<" "$@" -# xcrun swift-stdlib-tool --copy --sign "$(SIGN_MAS_APP)" --Xcodesign --options --Xcodesign runtime --platform macosx --scan-folder "$@/Contents/MacOS" --destination "$@/Contents/Frameworks" -# test -r "$@/Contents/Frameworks/libswiftCore.dylib" # verify swift-stdlib-tool did its job -# codesign --sign "$(SIGN_MAS_APP)" --identifier "$(APP_ID)" --deep --entitlements Packaging/entitlements.plist --options runtime "$@" -# find "$@" -type f -perm +111 -print0 | xargs -0 codesign --verify --verbose - -# For "Developer ID" distribution outside the Mac App Store -#dist-devid: dist/$(PACKAGE_FILE) - -#resolve-dependencies: -# swift package resolve - -#zip: dist/$(ZIP_FILE) - -# build PKG (signed but not notarized) -#dist/tmp.devid/$(PACKAGE_FILE): dist/tmp.devid/app/$(APP_BUNDLE) -# pkgbuild --analyze --root dist/tmp.devid/app/ dist/tmp.devid/components.plist -# plutil -replace "BundleIsRelocatable" -bool "NO" dist/tmp.devid/components.plist -# pkgbuild --root dist/tmp.devid/app/ --install-location /Applications/ --component-plist dist/tmp.devid/components.plist dist/tmp.devid/ScratchLink.pkg -# productbuild --synthesize --package dist/tmp.devid/ScratchLink.pkg dist/tmp.devid/distribution.plist -# # TODO: add a README and/or LICENSE to dist/tmp.devid/distribution.plist -# productbuild --sign "$(SIGN_MAC_INS)" --component-compression auto --distribution dist/tmp.devid/distribution.plist --package-path dist/tmp.devid/ "$@" - -# notarize and staple final PKG -#dist/$(PACKAGE_FILE): dist/tmp.devid/$(PACKAGE_FILE) -# cp -a "$<" "$@" -# Packaging/notarize.sh "${APP_ID}" "$<" "$@" dist/tmp.devid - -#dist/tmp.devid/app/$(APP_BUNDLE): dist/$(APP_BUNDLE) -# rm -rf dist/tmp.devid/app -# mkdir -p dist/tmp.devid/app -# cp -aR "$<" "$@" -# xcrun swift-stdlib-tool --copy --sign "$(SIGN_MAC_APP)" --Xcodesign --options --Xcodesign runtime --platform macosx --scan-folder "$@/Contents/MacOS" --destination "$@/Contents/Frameworks" -# test -r "$@/Contents/Frameworks/libswiftCore.dylib" # verify swift-stdlib-tool did its job -# codesign --sign "$(SIGN_MAC_APP)" --identifier "$(APP_ID)" --deep --entitlements Packaging/entitlements.plist --options runtime "$@" -# find "$@" -type f -perm +111 -print0 | xargs -0 codesign --verify --verbose - -# TODO: remove "-Xswiftc -Xfrontend -Xswiftc -validate-tbd-against-ir=none" -# once Perfect-Crypto builds in debug without it -#$(BIN_FILE): $(SWIFT_SOURCES) -# @echo "Build Version: $(APP_VERSION) $(VERSION_DETAIL)" -# swift build --configuration $(CONFIG) --no-static-swift-stdlib -Xlinker -rpath -Xlinker '@executable_path/../Frameworks' -Xswiftc -Xfrontend -Xswiftc -validate-tbd-against-ir=none - -#xcodeproj: -# swift package generate-xcodeproj - -#dist/$(ZIP_FILE): dist/$(APP_BUNDLE) -# cd dist && zip -v9r $(ZIP_FILE) $(APP_BUNDLE) - -#$(APP_DEST): $(BIN_FILE) Packaging/entitlements.plist Packaging/Info.plist dist/Scratch\ Link.iconset dist/iconTemplate.iconset -# rm -rf "$@" -# mkdir -p "$@/Contents/MacOS" -# cp $(BIN_FILE) "$@/Contents/MacOS/" -# cp Packaging/Info.plist "$@/Contents/" -# plutil -replace "CFBundleVersion" -string "$(APP_VERSION)" "$@/Contents/Info.plist" -# plutil -replace "CFBundleShortVersionString" -string "$(APP_VERSION)" "$@/Contents/Info.plist" -# plutil -replace "ScratchVersionDetail" -string "$(VERSION_DETAIL)" "$@/Contents/Info.plist" -# mkdir -p "$@/Contents/Resources" -# iconutil -c icns --output "$@/Contents/Resources/Scratch Link.icns" "dist/Scratch Link.iconset" -# iconutil -c icns --output "$@/Contents/Resources/iconTemplate.icns" "dist/iconTemplate.iconset" - -Assets.xcassets/AppIcon.appiconset: ../Assets/Mac/raster/Master\ 1024x1024.png - -Assets.xcassets/StatusBarIcon.iconset: ../Assets/Mac/raster/Mac\ Glyph\ Icon\ 1024x1024.png - -# Generate a full icon set from an input image. -# The @2x are marked as 144 DPI while the others are marked as 72 DPI. -%.iconset: - mkdir -p "$@" - sips -s dpiWidth 72 -s dpiHeight 72 -z 16 16 "$<" --out "$@/icon_16x16.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 32 32 "$<" --out "$@/icon_32x32.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 128 128 "$<" --out "$@/icon_128x128.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 256 256 "$<" --out "$@/icon_256x256.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 512 512 "$<" --out "$@/icon_512x512.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 32 32 "$<" --out "$@/icon_16x16@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 64 64 "$<" --out "$@/icon_32x32@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 256 256 "$<" --out "$@/icon_128x128@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 512 512 "$<" --out "$@/icon_256x256@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 1024 1024 "$<" --out "$@/icon_512x512@2x.png" - for PNG in "$@"/icon_*.png; do pngcrush -new -brute -ow "$${PNG}"; done - -# An App Icon Set is almost the same, except for the file name pattern and an additional file called Contents.json -# Assume that Contents.json is handled already -%.appiconset: - mkdir -p "$@" - sips -s dpiWidth 72 -s dpiHeight 72 -z 16 16 "$<" --out "$@/AppIcon-16.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 32 32 "$<" --out "$@/AppIcon-32.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 128 128 "$<" --out "$@/AppIcon-128.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 256 256 "$<" --out "$@/AppIcon-256.png" - sips -s dpiWidth 72 -s dpiHeight 72 -z 512 512 "$<" --out "$@/AppIcon-512.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 32 32 "$<" --out "$@/AppIcon-16@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 64 64 "$<" --out "$@/AppIcon-32@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 256 256 "$<" --out "$@/AppIcon-128@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 512 512 "$<" --out "$@/AppIcon-256@2x.png" - sips -s dpiWidth 144 -s dpiHeight 144 -z 1024 1024 "$<" --out "$@/AppIcon-512@2x.png" - for PNG in "$@"/AppIcon-*.png; do pngcrush -new -brute -ow "$${PNG}"; done - -#clean: -# rm -rf dist/ .build/*-apple-*/debug .build/*-apple-*/release "$(BIN_FILE)" - -#distclean: clean -# rm -rf .build - -#uninstall: -# @echo "These steps will probably fail unless run with sudo..." -# rm -rf /Library/Scratch/$(APP_BUNDLE) -# rmdir /Library/Scratch || true -# rm -f "/Library/LaunchAgents/$(APP_ID).plist" -# pkgutil --forget "$(APP_ID)" diff --git a/scratch-link-mac/scratch-link-mac.csproj b/scratch-link-mac/scratch-link-mac.csproj index 9f5ea10..d8d5d19 100644 --- a/scratch-link-mac/scratch-link-mac.csproj +++ b/scratch-link-mac/scratch-link-mac.csproj @@ -192,7 +192,6 @@ <ItemGroup> <None Include="Info.plist" /> <None Include="Entitlements.plist" /> - <None Include="Makefile" /> <None Include="app.config" /> <None Include="notarize.sh" /> </ItemGroup> @@ -241,4 +240,4 @@ <PrivateAssets>all</PrivateAssets> </PackageReference> </ItemGroup> -</Project> +</Project> \ No newline at end of file diff --git a/scratch-link.sln b/scratch-link.sln index 400db68..eda4149 100644 --- a/scratch-link.sln +++ b/scratch-link.sln @@ -19,6 +19,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .gitignore = .gitignore .markdownlintrc = .markdownlintrc LICENSE = LICENSE + Makefile = Makefile playground.html = playground.html README.md = README.md stylecop.json = stylecop.json