@@ -52,18 +52,19 @@ echo "AppImage: $APPIMAGE_NAME"
5252echo " Location: $APPIMAGE_DIR "
5353echo " "
5454
55- # Create Applications directory
56- mkdir -p ~ /Applications
57-
58- # Move AppImage to ~/Applications/ if not already there
59- if [[ " $APPIMAGE_DIR " != " $HOME /Applications" ]]; then
60- echo " Moving AppImage to ~/Applications/..."
61- mv " $APPIMAGE_PATH " ~ /Applications/
62- APPIMAGE_PATH=" $HOME /Applications/$APPIMAGE_NAME "
63- APPIMAGE_DIR=" $HOME /Applications"
55+ # Create application directory (app-specific subfolder avoids collisions)
56+ APP_INSTALL_DIR=" $HOME /Applications/Nine"
57+ mkdir -p " $APP_INSTALL_DIR "
58+
59+ # Move AppImage to ~/Applications/Nine/ if not already there
60+ if [[ " $APPIMAGE_DIR " != " $APP_INSTALL_DIR " ]]; then
61+ echo " Moving AppImage to $APP_INSTALL_DIR /..."
62+ mv " $APPIMAGE_PATH " " $APP_INSTALL_DIR /"
63+ APPIMAGE_PATH=" $APP_INSTALL_DIR /$APPIMAGE_NAME "
64+ APPIMAGE_DIR=" $APP_INSTALL_DIR "
6465 echo -e " ${GREEN} ✓ Moved to: $APPIMAGE_PATH ${NC} "
6566else
66- echo " ✓ AppImage already in ~/Applications /"
67+ echo " ✓ AppImage already in $APP_INSTALL_DIR /"
6768fi
6869
6970# Make AppImage executable
@@ -76,30 +77,51 @@ echo ""
7677mkdir -p ~ /.local/share/applications
7778mkdir -p ~ /.local/share/icons/hicolor/512x512/apps
7879
79- # Check if icon exists in same directory
80- ICON_PATH=" ${APPIMAGE_DIR} /aquiis-icon.png"
81- if [ ! -f " $ICON_PATH " ]; then
82- # Try to find icon.png in same directory
83- ICON_PATH=" ${APPIMAGE_DIR} /icon.png"
84-
85- if [ ! -f " $ICON_PATH " ]; then
86- echo -e " ${YELLOW} Warning: Icon file not found. Using generic AppImage icon.${NC} "
87- ICON_PATH=" application-x-executable"
88- else
89- # Copy icon to system location
90- cp " $ICON_PATH " ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
91- ICON_PATH=" aquiis"
92- echo " ✓ Copied icon to system icons directory"
93- fi
80+ # Remove any stale Aquiis files (Nine was previously named Aquiis)
81+ if [ -f ~ /.local/share/applications/aquiis.desktop ]; then
82+ rm ~ /.local/share/applications/aquiis.desktop
83+ echo " ✓ Removed legacy Aquiis desktop entry"
84+ fi
85+ if [ -f ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png ]; then
86+ rm ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
87+ echo " ✓ Removed legacy Aquiis icon"
88+ fi
89+ if [ -d " $HOME /Applications/Aquiis" ]; then
90+ echo -e " ${YELLOW} Note: Legacy Aquiis app found at ~/Applications/Aquiis/ — remove it manually if no longer needed.${NC} "
91+ fi
92+
93+ # Extract icon from inside the AppImage.
94+ # Note: selective extraction (passing a filename to --appimage-extract) is not
95+ # supported by all runtimes -- always do a full extract then pick the file out.
96+ ICON_PATH=" application-x-executable"
97+ EXTRACT_WORKDIR=" $( mktemp -d) "
98+
99+ echo " Extracting icon from AppImage..."
100+ (cd " $EXTRACT_WORKDIR " && " $APPIMAGE_PATH " --appimage-extract > /dev/null 2>&1 ) || true
101+
102+ if [ -f " $EXTRACT_WORKDIR /squashfs-root/usr/share/icons/hicolor/512x512/apps/nine.png" ]; then
103+ cp " $EXTRACT_WORKDIR /squashfs-root/usr/share/icons/hicolor/512x512/apps/nine.png" \
104+ ~ /.local/share/icons/hicolor/512x512/apps/nine.png
105+ ICON_PATH=" nine"
106+ echo " ✓ Extracted and installed icon from AppImage"
107+ elif [ -f " $EXTRACT_WORKDIR /squashfs-root/nine.png" ]; then
108+ cp " $EXTRACT_WORKDIR /squashfs-root/nine.png" \
109+ ~ /.local/share/icons/hicolor/512x512/apps/nine.png
110+ ICON_PATH=" nine"
111+ echo " ✓ Extracted and installed icon from AppImage"
112+ elif [ -L " $EXTRACT_WORKDIR /squashfs-root/.DirIcon" ] || [ -f " $EXTRACT_WORKDIR /squashfs-root/.DirIcon" ]; then
113+ cp -L " $EXTRACT_WORKDIR /squashfs-root/.DirIcon" \
114+ ~ /.local/share/icons/hicolor/512x512/apps/nine.png
115+ ICON_PATH=" nine"
116+ echo " ✓ Extracted and installed icon from AppImage (.DirIcon)"
94117else
95- # Copy icon to system location
96- cp " $ICON_PATH " ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
97- ICON_PATH=" aquiis"
98- echo " ✓ Copied icon to system icons directory"
118+ echo -e " ${YELLOW} Warning: Could not extract icon from AppImage. Using generic icon.${NC} "
99119fi
100120
121+ rm -rf " $EXTRACT_WORKDIR "
122+
101123# Create desktop entry
102- cat > ~ /.local/share/applications/aquiis .desktop << EOF
124+ cat > ~ /.local/share/applications/nine .desktop << EOF
103125[Desktop Entry]
104126Name=Nine Property Management
105127Comment=Multi-tenant property management system for DIY landlords and property managers
@@ -109,14 +131,14 @@ Type=Application
109131Categories=Office;Finance;
110132Terminal=false
111133StartupWMClass=Nine Property Management
112- X-AppImage-Version=1.1 .0
134+ X-AppImage-Version=1.0 .0
113135Keywords=property;management;landlord;rental;lease;tenant;invoice;
114136EOF
115137
116138echo " ✓ Created desktop entry"
117139
118140# Make desktop file executable
119- chmod +x ~ /.local/share/applications/aquiis .desktop
141+ chmod +x ~ /.local/share/applications/nine .desktop
120142echo " ✓ Made desktop entry executable"
121143
122144# Update desktop database
129151
130152# Update icon cache
131153if command -v gtk-update-icon-cache & > /dev/null; then
132- gtk-update-icon-cache ~ /.local/share/icons/hicolor/ 2> /dev/null || true
154+ gtk-update-icon-cache -f -t ~ /.local/share/icons/hicolor/ 2> /dev/null || true
155+ echo " ✓ Updated icon cache"
156+ elif command -v xdg-icon-resource & > /dev/null; then
157+ xdg-icon-resource forceupdate 2> /dev/null || true
133158 echo " ✓ Updated icon cache"
134159fi
135160
@@ -145,10 +170,10 @@ echo "Nine Property Management should now appear in your application launcher."
145170echo " You can search for 'Nine' or find it in Office/Finance categories."
146171echo " "
147172echo " To uninstall desktop integration:"
148- echo " rm ~/.local/share/applications/aquiis .desktop"
149- echo " rm ~/.local/share/icons/hicolor/512x512/apps/aquiis .png"
173+ echo " rm ~/.local/share/applications/nine .desktop"
174+ echo " rm ~/.local/share/icons/hicolor/512x512/apps/nine .png"
150175echo " update-desktop-database ~/.local/share/applications/"
151176echo " "
152177echo " To completely remove Nine:"
153- echo " rm $APPIMAGE_PATH "
178+ echo " rm -rf $APP_INSTALL_DIR "
154179echo " "
0 commit comments