Add bundled Fchati application icon

This commit is contained in:
diyaa 2026-07-26 22:26:33 +02:00
parent ddb5131ae8
commit cce1b350e0
5 changed files with 11 additions and 1 deletions

View File

@ -8,6 +8,8 @@
<string>FchatiApp</string> <string>FchatiApp</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>de.diyaa.fchati</string> <string>de.diyaa.fchati</string>
<key>CFBundleIconFile</key>
<string>Fchati.icns</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

View File

@ -199,6 +199,7 @@
- `relay-server/Dockerfile` initializes all persistent-data paths as the unprivileged `node` user, preventing pairing, queue, and upload write failures on newly created volumes. - `relay-server/Dockerfile` initializes all persistent-data paths as the unprivileged `node` user, preventing pairing, queue, and upload write failures on newly created volumes.
- The macOS app now has an always-visible quit control beside the top-level tabs, in addition to the existing Settings action. - The macOS app now has an always-visible quit control beside the top-level tabs, in addition to the existing Settings action.
- The macOS app now includes a normal main window and Dock presence while retaining the menu-bar shortcut. - The macOS app now includes a normal main window and Dock presence while retaining the menu-bar shortcut.
- `FchatiApp/Resources/AppIcon.png` and `FchatiApp/Resources/Fchati.icns` provide the bundled Dock and application icon, and the installer copies the icon into the application bundle.
## Bug Fixes — Post-Review ✅ ## Bug Fixes — Post-Review ✅

View File

@ -9,6 +9,7 @@ PRODUCT_NAME="FchatiApp"
INSTALL_PATH="/Applications/Fchati.app" INSTALL_PATH="/Applications/Fchati.app"
STAGING_DIR="$(mktemp -d "${TMPDIR:-/tmp}/fchati-install.XXXXXX")" STAGING_DIR="$(mktemp -d "${TMPDIR:-/tmp}/fchati-install.XXXXXX")"
STAGING_APP="$STAGING_DIR/Fchati.app" STAGING_APP="$STAGING_DIR/Fchati.app"
ICON_PATH="$PROJECT_DIR/Resources/Fchati.icns"
cleanup() { cleanup() {
rm -rf "$STAGING_DIR" rm -rf "$STAGING_DIR"
@ -20,6 +21,11 @@ if [[ ! -f "$PROJECT_DIR/Package.swift" ]]; then
exit 1 exit 1
fi fi
if [[ ! -f "$ICON_PATH" ]]; then
echo "Application icon not found: $ICON_PATH" >&2
exit 1
fi
if [[ -e "$INSTALL_PATH" && ! -d "$INSTALL_PATH" ]]; then if [[ -e "$INSTALL_PATH" && ! -d "$INSTALL_PATH" ]]; then
echo "Expected an application bundle at $INSTALL_PATH, but found a non-directory." >&2 echo "Expected an application bundle at $INSTALL_PATH, but found a non-directory." >&2
exit 1 exit 1
@ -41,9 +47,10 @@ if [[ ! -x "$EXECUTABLE_PATH" ]]; then
fi fi
echo "Creating the application bundle..." echo "Creating the application bundle..."
mkdir -p "$STAGING_APP/Contents/MacOS" mkdir -p "$STAGING_APP/Contents/MacOS" "$STAGING_APP/Contents/Resources"
cp "$PROJECT_DIR/Info.plist" "$STAGING_APP/Contents/Info.plist" cp "$PROJECT_DIR/Info.plist" "$STAGING_APP/Contents/Info.plist"
cp "$EXECUTABLE_PATH" "$STAGING_APP/Contents/MacOS/$PRODUCT_NAME" cp "$EXECUTABLE_PATH" "$STAGING_APP/Contents/MacOS/$PRODUCT_NAME"
cp "$ICON_PATH" "$STAGING_APP/Contents/Resources/Fchati.icns"
codesign --force --sign - --timestamp=none --entitlements "$PROJECT_DIR/FchatiApp.entitlements" "$STAGING_APP" codesign --force --sign - --timestamp=none --entitlements "$PROJECT_DIR/FchatiApp.entitlements" "$STAGING_APP"
if [[ -d "$INSTALL_PATH" ]]; then if [[ -d "$INSTALL_PATH" ]]; then