Build an application bundle on macOS
This is far from done, but nonetheless constitutes a big improvement. macOS application bundles are more or less necessary for: - showing a nice icon; - having spawned off instances actually be brought to the foreground; - file associations (yet files currently do not open properly); - having a reasonable method of distribution. Also resolving a bunch of minor issues: - The context menu had duplicate items, and might needlessly end up with (null) labels.
This commit is contained in:
22
macos-svg2icns.sh
Executable file
22
macos-svg2icns.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh -e
|
||||
# macos-svg2icns.sh: convert an SVG to the macOS .icns format
|
||||
if [ $# -ne 2 ]
|
||||
then
|
||||
echo >&2 "Usage: $0 INPUT.svg OUTPUT.icns"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
svg=$1 icns=$2 tmpdir=$(mktemp -d)
|
||||
trap 'rm -rf "$tmpdir"' EXIT
|
||||
|
||||
iconset="$tmpdir/$(basename "$icns" .icns).iconset"
|
||||
mkdir -p "$iconset"
|
||||
for size in 16 32 128 256 512
|
||||
do
|
||||
size2x=$((size * 2))
|
||||
rsvg-convert --output="$iconset/icon_${size}x${size}.png" \
|
||||
--width=$size --height=$size "$svg"
|
||||
rsvg-convert --output="$iconset/icon_${size}x${size}@2x.png" \
|
||||
--width=$size2x --height=$size2x "$svg"
|
||||
done
|
||||
iconutil -c icns -o "$icns" "$iconset"
|
||||
Reference in New Issue
Block a user