diff --git a/4-Aquiis.SimpleStart/Aquiis.SimpleStart.csproj b/4-Aquiis.SimpleStart/Aquiis.SimpleStart.csproj index 669473c..cf61284 100644 --- a/4-Aquiis.SimpleStart/Aquiis.SimpleStart.csproj +++ b/4-Aquiis.SimpleStart/Aquiis.SimpleStart.csproj @@ -8,10 +8,10 @@ Data/Migrations - 1.1.2 - 1.1.2.0 - 1.1.2.0 - 1.1.2 + 1.1.3 + 1.1.3.0 + 1.1.3.0 + 1.1.3 diff --git a/4-Aquiis.SimpleStart/Assets/install-desktop-integration.sh b/4-Aquiis.SimpleStart/Assets/install-desktop-integration.sh index c6b22a4..b06f72f 100755 --- a/4-Aquiis.SimpleStart/Assets/install-desktop-integration.sh +++ b/4-Aquiis.SimpleStart/Assets/install-desktop-integration.sh @@ -52,18 +52,19 @@ echo "AppImage: $APPIMAGE_NAME" echo "Location: $APPIMAGE_DIR" echo "" -# Create Applications directory -mkdir -p ~/Applications - -# Move AppImage to ~/Applications/ if not already there -if [[ "$APPIMAGE_DIR" != "$HOME/Applications" ]]; then - echo "Moving AppImage to ~/Applications/..." - mv "$APPIMAGE_PATH" ~/Applications/ - APPIMAGE_PATH="$HOME/Applications/$APPIMAGE_NAME" - APPIMAGE_DIR="$HOME/Applications" +# Create application directory (app-specific subfolder avoids collisions) +APP_INSTALL_DIR="$HOME/Applications/Aquiis" +mkdir -p "$APP_INSTALL_DIR" + +# Move AppImage to ~/Applications/Aquiis/ if not already there +if [[ "$APPIMAGE_DIR" != "$APP_INSTALL_DIR" ]]; then + echo "Moving AppImage to $APP_INSTALL_DIR/..." + mv "$APPIMAGE_PATH" "$APP_INSTALL_DIR/" + APPIMAGE_PATH="$APP_INSTALL_DIR/$APPIMAGE_NAME" + APPIMAGE_DIR="$APP_INSTALL_DIR" echo -e "${GREEN}✓ Moved to: $APPIMAGE_PATH${NC}" else - echo "✓ AppImage already in ~/Applications/" + echo "✓ AppImage already in $APP_INSTALL_DIR/" fi # Make AppImage executable @@ -76,28 +77,36 @@ echo "" mkdir -p ~/.local/share/applications mkdir -p ~/.local/share/icons/hicolor/512x512/apps -# Check if icon exists in same directory -ICON_PATH="${APPIMAGE_DIR}/aquiis-icon.png" -if [ ! -f "$ICON_PATH" ]; then - # Try to find icon.png in same directory - ICON_PATH="${APPIMAGE_DIR}/icon.png" - - if [ ! -f "$ICON_PATH" ]; then - echo -e "${YELLOW}Warning: Icon file not found. Using generic AppImage icon.${NC}" - ICON_PATH="application-x-executable" - else - # Copy icon to system location - cp "$ICON_PATH" ~/.local/share/icons/hicolor/512x512/apps/aquiis.png - ICON_PATH="aquiis" - echo "✓ Copied icon to system icons directory" - fi -else - # Copy icon to system location - cp "$ICON_PATH" ~/.local/share/icons/hicolor/512x512/apps/aquiis.png +# Extract icon from inside the AppImage. +# Note: selective extraction (passing a filename to --appimage-extract) is not +# supported by all runtimes -- always do a full extract then pick the file out. +ICON_PATH="application-x-executable" +EXTRACT_WORKDIR="$(mktemp -d)" + +echo "Extracting icon from AppImage..." +(cd "$EXTRACT_WORKDIR" && "$APPIMAGE_PATH" --appimage-extract > /dev/null 2>&1) || true + +if [ -f "$EXTRACT_WORKDIR/squashfs-root/usr/share/icons/hicolor/512x512/apps/aquiis.png" ]; then + cp "$EXTRACT_WORKDIR/squashfs-root/usr/share/icons/hicolor/512x512/apps/aquiis.png" \ + ~/.local/share/icons/hicolor/512x512/apps/aquiis.png + ICON_PATH="aquiis" + echo "✓ Extracted and installed icon from AppImage" +elif [ -f "$EXTRACT_WORKDIR/squashfs-root/aquiis.png" ]; then + cp "$EXTRACT_WORKDIR/squashfs-root/aquiis.png" \ + ~/.local/share/icons/hicolor/512x512/apps/aquiis.png ICON_PATH="aquiis" - echo "✓ Copied icon to system icons directory" + echo "✓ Extracted and installed icon from AppImage" +elif [ -L "$EXTRACT_WORKDIR/squashfs-root/.DirIcon" ] || [ -f "$EXTRACT_WORKDIR/squashfs-root/.DirIcon" ]; then + cp -L "$EXTRACT_WORKDIR/squashfs-root/.DirIcon" \ + ~/.local/share/icons/hicolor/512x512/apps/aquiis.png + ICON_PATH="aquiis" + echo "✓ Extracted and installed icon from AppImage (.DirIcon)" +else + echo -e "${YELLOW}Warning: Could not extract icon from AppImage. Using generic icon.${NC}" fi +rm -rf "$EXTRACT_WORKDIR" + # Create desktop entry cat > ~/.local/share/applications/aquiis.desktop << EOF [Desktop Entry] @@ -129,7 +138,10 @@ fi # Update icon cache if command -v gtk-update-icon-cache &> /dev/null; then - gtk-update-icon-cache ~/.local/share/icons/hicolor/ 2>/dev/null || true + gtk-update-icon-cache -f -t ~/.local/share/icons/hicolor/ 2>/dev/null || true + echo "✓ Updated icon cache" +elif command -v xdg-icon-resource &> /dev/null; then + xdg-icon-resource forceupdate 2>/dev/null || true echo "✓ Updated icon cache" fi @@ -150,5 +162,5 @@ echo " rm ~/.local/share/icons/hicolor/512x512/apps/aquiis.png" echo " update-desktop-database ~/.local/share/applications/" echo "" echo "To completely remove Aquiis:" -echo " rm $APPIMAGE_PATH" +echo " rm -rf $APP_INSTALL_DIR" echo "" diff --git a/4-Aquiis.SimpleStart/appsettings.json b/4-Aquiis.SimpleStart/appsettings.json index 47ca687..129e8c9 100644 --- a/4-Aquiis.SimpleStart/appsettings.json +++ b/4-Aquiis.SimpleStart/appsettings.json @@ -14,7 +14,7 @@ "ApplicationSettings": { "AppName": "Aquiis", "ProductName": "Aquiis SimpleStart", - "Version": "1.1.2", + "Version": "1.1.3", "Author": "CIS Guru", "Email": "cisguru@outlook.com", "Repository": "https://github.com/xnodeoncode/Aquiis", diff --git a/4-Aquiis.SimpleStart/electron.manifest.json b/4-Aquiis.SimpleStart/electron.manifest.json index f7067e1..a9b9c5b 100644 --- a/4-Aquiis.SimpleStart/electron.manifest.json +++ b/4-Aquiis.SimpleStart/electron.manifest.json @@ -17,7 +17,7 @@ "appId": "com.aquiis.propertymanagement", "productName": "Aquiis", "copyright": "Copyright © 2026", - "buildVersion": "1.1.2", + "buildVersion": "1.1.3", "compression": "normal", "directories": { "output": "../../../bin/Desktop" diff --git a/bump-version.sh b/bump-version.sh index 0274c52..4bf7ba5 100755 --- a/bump-version.sh +++ b/bump-version.sh @@ -8,6 +8,7 @@ set -e VERSION_TYPE="${1:-patch}" CSPROJ_FILE="4-Aquiis.SimpleStart/Aquiis.SimpleStart.csproj" APPSETTINGS_FILE="4-Aquiis.SimpleStart/appsettings.json" +ELECTRON_MANIFEST="4-Aquiis.SimpleStart/electron.manifest.json" # Colors for output RED='\033[0;31m' @@ -80,6 +81,10 @@ sed -i "s|$CURRENT_VERSION|