Files
simpletopbar/build-app.sh
T
TZGyn 4bc6b333dc Put the hamburger at the left of the visible icons
The hamburger was landing among the system icons. Move it to the left
edge of the visible group so it reads as the entry point rather than one
more status item.

💘 Generated with Crush

Assisted-by: Crush:deepseek-v4.1-flash
2026-09-27 10:40:27 +08:00

67 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")"
VERSION="${1:-0.4.6}"
swift build -c release
BIN=".build/release/SimpleTopBar"
APP="SimpleTopBar.app"
IDENT=""
# Prefer a Developer ID Application identity so the app gets clean Gatekeeper
# behavior; fall back to ad-hoc signing (no TCC-stable identity) otherwise.
if command -v security >/dev/null 2>&1; then
IDENT=$(security find-identity -v -p codesigning 2>/dev/null | awk '/Developer ID Application:/ { print $2; exit }')
fi
rm -rf "$APP"
mkdir -p "$APP/Contents/MacOS"
cp "$BIN" "$APP/Contents/MacOS/SimpleTopBar"
cat > "$APP/Contents/Info.plist" <<PLIST
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>SimpleTopBar</string>
<key>CFBundleIdentifier</key>
<string>dev.tzgyn.simpletopbar</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>SimpleTopBar</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleIconFile</key>
<string>Icon</string>
<key>CFBundleShortVersionString</key>
<string>${VERSION}</string>
<key>CFBundleVersion</key>
<string>${VERSION}</string>
<key>LSMinimumSystemVersion</key>
<string>13.0</string>
<key>LSUIElement</key>
<true/>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
PLIST
chmod +x scripts/make-icon.sh
./scripts/make-icon.sh
if [ -n "$IDENT" ]; then
security unlock-keychain "$HOME/Library/Keychains/login.keychain-db" 2>/dev/null || true
codesign --force --options runtime --sign "$IDENT" "$APP"
echo "Built $APP ${VERSION} (signed with Developer ID '$IDENT') — open $APP"
else
codesign --force --sign - "$APP"
echo "Built $APP ${VERSION} (ad-hoc signed) — open $APP"
fi