diff --git a/build-appimage.sh b/build-appimage.sh index 53eba12..f3714ea 100644 --- a/build-appimage.sh +++ b/build-appimage.sh @@ -36,14 +36,20 @@ mkdir -p "$APP_DIR/usr/share/metainfo" cp "target/$BUILD_TYPE/pixstrip-gtk" "$APP_DIR/usr/bin/pixstrip-gtk" cp "target/$BUILD_TYPE/pixstrip-cli" "$APP_DIR/usr/bin/pixstrip" -# Step 4: Copy desktop file, icon, metainfo +# Step 4: Copy desktop file, icons, metainfo cp "data/$APP_ID.desktop" "$APP_DIR/usr/share/applications/" -cp "data/icons/hicolor/scalable/apps/$APP_ID.svg" "$APP_DIR/usr/share/icons/hicolor/scalable/apps/" +cp "data/$APP_ID.desktop" "$APP_DIR/" cp "data/$APP_ID.metainfo.xml" "$APP_DIR/usr/share/metainfo/" -# Symlinks required by AppImage spec -ln -sf "usr/share/applications/$APP_ID.desktop" "$APP_DIR/$APP_ID.desktop" -ln -sf "usr/share/icons/hicolor/scalable/apps/$APP_ID.svg" "$APP_DIR/$APP_ID.svg" +# Copy all hicolor icon sizes +for size_dir in data/icons/hicolor/*/apps; do + size=$(basename "$(dirname "$size_dir")") + mkdir -p "$APP_DIR/usr/share/icons/hicolor/$size/apps" + cp "$size_dir"/$APP_ID.* "$APP_DIR/usr/share/icons/hicolor/$size/apps/" 2>/dev/null || true +done + +# Top-level icon for AppImage spec +cp "data/icons/hicolor/256x256/apps/$APP_ID.png" "$APP_DIR/$APP_ID.png" # Step 5: Create AppRun cat > "$APP_DIR/AppRun" << 'APPRUN' @@ -78,28 +84,15 @@ if [[ ! -x "$TOOLS_DIR/linuxdeploy-plugin-gtk.sh" ]]; then chmod +x "$TOOLS_DIR/linuxdeploy-plugin-gtk.sh" fi -# Use linuxdeploy to bundle dependencies +# Use linuxdeploy to bundle dependencies and create AppImage export DEPLOY_GTK_VERSION=4 "$TOOLS_DIR/linuxdeploy" \ --appdir "$APP_DIR" \ --desktop-file "$APP_DIR/usr/share/applications/$APP_ID.desktop" \ - --icon-file "$APP_DIR/usr/share/icons/hicolor/scalable/apps/$APP_ID.svg" \ - --plugin gtk - -# Step 7: Build the AppImage -echo "--- Creating AppImage ---" - -# Download appimagetool if not present -if [[ ! -x "$TOOLS_DIR/appimagetool" ]]; then - echo "Downloading appimagetool..." - wget -q -O "$TOOLS_DIR/appimagetool" \ - "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage" - chmod +x "$TOOLS_DIR/appimagetool" -fi - -VERSION="0.1.0" -"$TOOLS_DIR/appimagetool" "$APP_DIR" "Pixstrip-${VERSION}-x86_64.AppImage" + --icon-file "$APP_DIR/usr/share/icons/hicolor/256x256/apps/$APP_ID.png" \ + --plugin gtk \ + --output appimage echo "" -echo "=== AppImage built: Pixstrip-${VERSION}-x86_64.AppImage ===" -echo "Size: $(du -h "Pixstrip-${VERSION}-x86_64.AppImage" | cut -f1)" +echo "=== AppImage built ===" +ls -lh Pixstrip-*.AppImage 2>/dev/null || echo "Note: output filename may vary." diff --git a/data/live.lashman.Pixstrip.metainfo.xml b/data/live.lashman.Pixstrip.metainfo.xml index c9286ab..6c7c153 100644 --- a/data/live.lashman.Pixstrip.metainfo.xml +++ b/data/live.lashman.Pixstrip.metainfo.xml @@ -51,44 +51,76 @@ - Workflow selection with built-in presets for common image tasks - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/01.png + Workflow selection with built-in and user presets for common image tasks + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/01.png - Image selection with drag-and-drop and batch file management - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/02.png + Image selection with thumbnail grid and batch file management + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/02.png - Resize step with width, height, fit-in-box, and social media presets - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/03.png + Resize step with live preview, presets, and dimension controls + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/03.png - Format conversion between JPEG, PNG, WebP, AVIF, GIF, and TIFF - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/04.png + Format conversion with cards for JPEG, PNG, WebP, AVIF, GIF, TIFF, and BMP + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/04.png - Compression with live before/after preview and file size estimates - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/05.png + Compression with quality slider and live before/after preview + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/05.png - Metadata stripping with selective EXIF field management - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/06.png + Image adjustments for brightness, contrast, saturation, and effects + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/06.png - Watermark placement with text and image options - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/07.png + Metadata handling with preset modes and custom category toggles + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/07.png - Batch rename with templates, counters, and EXIF variables - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/08.png + Text watermark placement with live preview on image + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/08.png - Image adjustments for brightness, contrast, and saturation - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/09.png + Batch rename with prefix, suffix, case conversion, and live file preview + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/09.png - Settings with output preferences and file manager integration - https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/10.png + Output summary with operation checklist, directory, and overwrite settings + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/10.png + + + Processing complete with results showing images processed and space saved + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/11.png + + + Save workflow as a reusable preset with custom name, icon, and color + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/12.png + + + Settings with output defaults, interface options, and file manager integration + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/13.png + + + Processing history with recent batches and space savings + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/14.png + + + Keyboard shortcuts for wizard navigation, file management, and more + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/15.png + + + Welcome screen with quick introduction to Pixstrip + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/16.png + + + Setup wizard to choose between simple and detailed interface modes + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/17.png + + + Contextual help with detailed guidance for each wizard step + https://git.lashman.live/lashman/pixstrip/raw/branch/main/data/screenshots/18.png diff --git a/data/screenshots/01.png b/data/screenshots/01.png new file mode 100644 index 0000000..a5f981a Binary files /dev/null and b/data/screenshots/01.png differ diff --git a/data/screenshots/02.png b/data/screenshots/02.png new file mode 100644 index 0000000..2ff51ab Binary files /dev/null and b/data/screenshots/02.png differ diff --git a/data/screenshots/03.png b/data/screenshots/03.png new file mode 100644 index 0000000..1f5f5be Binary files /dev/null and b/data/screenshots/03.png differ diff --git a/data/screenshots/04.png b/data/screenshots/04.png new file mode 100644 index 0000000..1b72f9d Binary files /dev/null and b/data/screenshots/04.png differ diff --git a/data/screenshots/05.png b/data/screenshots/05.png new file mode 100644 index 0000000..f64f1ea Binary files /dev/null and b/data/screenshots/05.png differ diff --git a/data/screenshots/06.png b/data/screenshots/06.png new file mode 100644 index 0000000..b2ff09b Binary files /dev/null and b/data/screenshots/06.png differ diff --git a/data/screenshots/07.png b/data/screenshots/07.png new file mode 100644 index 0000000..787c6be Binary files /dev/null and b/data/screenshots/07.png differ diff --git a/data/screenshots/08.png b/data/screenshots/08.png new file mode 100644 index 0000000..77e1816 Binary files /dev/null and b/data/screenshots/08.png differ diff --git a/data/screenshots/09.png b/data/screenshots/09.png new file mode 100644 index 0000000..469ef7f Binary files /dev/null and b/data/screenshots/09.png differ diff --git a/data/screenshots/10.png b/data/screenshots/10.png new file mode 100644 index 0000000..e3025bc Binary files /dev/null and b/data/screenshots/10.png differ diff --git a/data/screenshots/11.png b/data/screenshots/11.png new file mode 100644 index 0000000..38daded Binary files /dev/null and b/data/screenshots/11.png differ diff --git a/data/screenshots/12.png b/data/screenshots/12.png new file mode 100644 index 0000000..78368fe Binary files /dev/null and b/data/screenshots/12.png differ diff --git a/data/screenshots/13.png b/data/screenshots/13.png new file mode 100644 index 0000000..7512a2e Binary files /dev/null and b/data/screenshots/13.png differ diff --git a/data/screenshots/14.png b/data/screenshots/14.png new file mode 100644 index 0000000..a31f6bb Binary files /dev/null and b/data/screenshots/14.png differ diff --git a/data/screenshots/15.png b/data/screenshots/15.png new file mode 100644 index 0000000..849aa00 Binary files /dev/null and b/data/screenshots/15.png differ diff --git a/data/screenshots/16.png b/data/screenshots/16.png new file mode 100644 index 0000000..febdc6a Binary files /dev/null and b/data/screenshots/16.png differ diff --git a/data/screenshots/17.png b/data/screenshots/17.png new file mode 100644 index 0000000..607e9fb Binary files /dev/null and b/data/screenshots/17.png differ diff --git a/data/screenshots/18.png b/data/screenshots/18.png new file mode 100644 index 0000000..dce977c Binary files /dev/null and b/data/screenshots/18.png differ diff --git a/icons/pixstrip-128x128.png b/icons/pixstrip-128x128.png new file mode 100644 index 0000000..a724dbc Binary files /dev/null and b/icons/pixstrip-128x128.png differ diff --git a/icons/pixstrip-16x16.png b/icons/pixstrip-16x16.png new file mode 100644 index 0000000..48b9483 Binary files /dev/null and b/icons/pixstrip-16x16.png differ diff --git a/icons/pixstrip-192x192.png b/icons/pixstrip-192x192.png new file mode 100644 index 0000000..784ae08 Binary files /dev/null and b/icons/pixstrip-192x192.png differ diff --git a/icons/pixstrip-256x256.png b/icons/pixstrip-256x256.png new file mode 100644 index 0000000..527862c Binary files /dev/null and b/icons/pixstrip-256x256.png differ diff --git a/icons/pixstrip-32x32.png b/icons/pixstrip-32x32.png new file mode 100644 index 0000000..ea94598 Binary files /dev/null and b/icons/pixstrip-32x32.png differ diff --git a/icons/pixstrip-48x48.png b/icons/pixstrip-48x48.png new file mode 100644 index 0000000..ca163a2 Binary files /dev/null and b/icons/pixstrip-48x48.png differ diff --git a/icons/pixstrip-512x512.png b/icons/pixstrip-512x512.png new file mode 100644 index 0000000..caaa03d Binary files /dev/null and b/icons/pixstrip-512x512.png differ diff --git a/icons/pixstrip-64x64.png b/icons/pixstrip-64x64.png new file mode 100644 index 0000000..5f134a0 Binary files /dev/null and b/icons/pixstrip-64x64.png differ diff --git a/icons/pixstrip.ico b/icons/pixstrip.ico new file mode 100644 index 0000000..994e188 Binary files /dev/null and b/icons/pixstrip.ico differ diff --git a/icons/pixstrip.png b/icons/pixstrip.png new file mode 100644 index 0000000..caaa03d Binary files /dev/null and b/icons/pixstrip.png differ