@@ -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/Aquiis"
57+ mkdir -p " $APP_INSTALL_DIR "
58+
59+ # Move AppImage to ~/Applications/Aquiis/ 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,28 +77,36 @@ 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
94- else
95- # Copy icon to system location
96- cp " $ICON_PATH " ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
80+ # Extract icon from inside the AppImage.
81+ # Note: selective extraction (passing a filename to --appimage-extract) is not
82+ # supported by all runtimes -- always do a full extract then pick the file out.
83+ ICON_PATH=" application-x-executable"
84+ EXTRACT_WORKDIR=" $( mktemp -d) "
85+
86+ echo " Extracting icon from AppImage..."
87+ (cd " $EXTRACT_WORKDIR " && " $APPIMAGE_PATH " --appimage-extract > /dev/null 2>&1 ) || true
88+
89+ if [ -f " $EXTRACT_WORKDIR /squashfs-root/usr/share/icons/hicolor/512x512/apps/aquiis.png" ]; then
90+ cp " $EXTRACT_WORKDIR /squashfs-root/usr/share/icons/hicolor/512x512/apps/aquiis.png" \
91+ ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
92+ ICON_PATH=" aquiis"
93+ echo " ✓ Extracted and installed icon from AppImage"
94+ elif [ -f " $EXTRACT_WORKDIR /squashfs-root/aquiis.png" ]; then
95+ cp " $EXTRACT_WORKDIR /squashfs-root/aquiis.png" \
96+ ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
9797 ICON_PATH=" aquiis"
98- echo " ✓ Copied icon to system icons directory"
98+ echo " ✓ Extracted and installed icon from AppImage"
99+ elif [ -L " $EXTRACT_WORKDIR /squashfs-root/.DirIcon" ] || [ -f " $EXTRACT_WORKDIR /squashfs-root/.DirIcon" ]; then
100+ cp -L " $EXTRACT_WORKDIR /squashfs-root/.DirIcon" \
101+ ~ /.local/share/icons/hicolor/512x512/apps/aquiis.png
102+ ICON_PATH=" aquiis"
103+ echo " ✓ Extracted and installed icon from AppImage (.DirIcon)"
104+ else
105+ echo -e " ${YELLOW} Warning: Could not extract icon from AppImage. Using generic icon.${NC} "
99106fi
100107
108+ rm -rf " $EXTRACT_WORKDIR "
109+
101110# Create desktop entry
102111cat > ~ /.local/share/applications/aquiis.desktop << EOF
103112[Desktop Entry]
129138
130139# Update icon cache
131140if command -v gtk-update-icon-cache & > /dev/null; then
132- gtk-update-icon-cache ~ /.local/share/icons/hicolor/ 2> /dev/null || true
141+ gtk-update-icon-cache -f -t ~ /.local/share/icons/hicolor/ 2> /dev/null || true
142+ echo " ✓ Updated icon cache"
143+ elif command -v xdg-icon-resource & > /dev/null; then
144+ xdg-icon-resource forceupdate 2> /dev/null || true
133145 echo " ✓ Updated icon cache"
134146fi
135147
@@ -150,5 +162,5 @@ echo " rm ~/.local/share/icons/hicolor/512x512/apps/aquiis.png"
150162echo " update-desktop-database ~/.local/share/applications/"
151163echo " "
152164echo " To completely remove Aquiis:"
153- echo " rm $APPIMAGE_PATH "
165+ echo " rm -rf $APP_INSTALL_DIR "
154166echo " "
0 commit comments