diff --git a/macos-bar/Resources/AppIcon-source.png b/macos-bar/Resources/AppIcon-source.png new file mode 100644 index 00000000..05e924ab Binary files /dev/null and b/macos-bar/Resources/AppIcon-source.png differ diff --git a/macos-bar/Resources/Info.plist b/macos-bar/Resources/Info.plist index 73a77fb9..f0849ba7 100644 --- a/macos-bar/Resources/Info.plist +++ b/macos-bar/Resources/Info.plist @@ -20,6 +20,8 @@ 13.0 LSUIElement + CFBundleIconFile + AppIcon NSHumanReadableCopyright CCS Bar diff --git a/macos-bar/Scripts/package_app.sh b/macos-bar/Scripts/package_app.sh index 39f34466..b4e17ca7 100755 --- a/macos-bar/Scripts/package_app.sh +++ b/macos-bar/Scripts/package_app.sh @@ -42,6 +42,29 @@ if [[ -d "$ROOT/Resources/Assets" ]]; then cp "$ROOT/Resources/Assets/"*.png "$APP/Contents/Resources/" 2>/dev/null || true fi +# Build AppIcon.icns from AppIcon-source.png (1024x1024 RGBA PNG). +ICON_SRC="$ROOT/Resources/AppIcon-source.png" +if [[ -f "$ICON_SRC" ]]; then + echo "[i] Building AppIcon.icns..." + ICONSET_DIR="$(mktemp -d)/AppIcon.iconset" + mkdir -p "$ICONSET_DIR" + sips -z 16 16 "$ICON_SRC" --out "$ICONSET_DIR/icon_16x16.png" > /dev/null + sips -z 32 32 "$ICON_SRC" --out "$ICONSET_DIR/icon_16x16@2x.png" > /dev/null + sips -z 32 32 "$ICON_SRC" --out "$ICONSET_DIR/icon_32x32.png" > /dev/null + sips -z 64 64 "$ICON_SRC" --out "$ICONSET_DIR/icon_32x32@2x.png" > /dev/null + sips -z 128 128 "$ICON_SRC" --out "$ICONSET_DIR/icon_128x128.png" > /dev/null + sips -z 256 256 "$ICON_SRC" --out "$ICONSET_DIR/icon_128x128@2x.png" > /dev/null + sips -z 256 256 "$ICON_SRC" --out "$ICONSET_DIR/icon_256x256.png" > /dev/null + sips -z 512 512 "$ICON_SRC" --out "$ICONSET_DIR/icon_256x256@2x.png" > /dev/null + sips -z 512 512 "$ICON_SRC" --out "$ICONSET_DIR/icon_512x512.png" > /dev/null + sips -z 1024 1024 "$ICON_SRC" --out "$ICONSET_DIR/icon_512x512@2x.png" > /dev/null + iconutil -c icns "$ICONSET_DIR" -o "$APP/Contents/Resources/AppIcon.icns" + rm -rf "$(dirname "$ICONSET_DIR")" + echo "[OK] AppIcon.icns built." +else + echo "[!] AppIcon-source.png not found at $ICON_SRC — skipping icon." >&2 +fi + echo "[i] Signing ($SIGNING)..." case "$SIGNING" in adhoc)