# Driftwood A modern GTK4/libadwaita AppImage manager for GNOME desktops. Driftwood discovers, inspects, integrates, updates, and audits AppImage files with a clean GNOME-native interface built for the Wayland era. ## Features - **Library management** - Scan directories to discover AppImages, view them in grid or list mode with status badges for FUSE, Wayland, and update status - **Desktop integration** - Create .desktop files and install icons with one click - **FUSE and Wayland detection** - Automatically detect compatibility and suggest launch methods (direct, extract-and-run, or sandboxed) - **Update checking** - Read embedded update information (GitHub Releases, GitLab, zsync) and check for newer versions - **Security scanning** - Extract bundled shared libraries and check them against the OSV.dev vulnerability database - **Duplicate detection** - Find AppImages that are different versions of the same app or identical files in different locations - **Disk footprint analysis** - Discover config, data, and cache files associated with each AppImage - **Sandboxing** - Optional Firejail sandbox support per-app - **Orphan cleanup** - Detect and remove .desktop files for AppImages that no longer exist - **CLI interface** - Full command-line access to all core features ## Requirements - GTK 4.16+ - libadwaita 1.6+ - SQLite 3 - gettext Optional: - firejail (for sandboxed launches) - fuse2/fuse3 (for AppImage FUSE mounting) - appimageupdate (for delta updates) ## Building from source ```sh # Development build (uses cargo directly) cargo build cargo run # System installation (uses meson) meson setup build --prefix=/usr meson compile -C build sudo meson install -C build ``` ## CLI usage ```sh # Scan configured directories for AppImages driftwood scan # List all known AppImages driftwood list driftwood list --format json # Inspect a specific AppImage driftwood inspect ~/Applications/Firefox.AppImage # Integrate into desktop menu driftwood integrate ~/Applications/Firefox.AppImage # Check for updates driftwood check-updates # Run a security scan driftwood security driftwood security ~/Applications/Firefox.AppImage # Launch with tracking driftwood launch ~/Applications/Firefox.AppImage driftwood launch --sandbox ~/Applications/Firefox.AppImage # Find duplicates driftwood duplicates # Show disk footprint driftwood footprint ~/Applications/Firefox.AppImage # System status driftwood status # Clean orphaned entries driftwood clean-orphans ``` ## Packaging - **Flatpak**: See `build-aux/app.driftwood.Driftwood.json` - **Arch Linux (AUR)**: See `packaging/PKGBUILD` ## License CC0-1.0 (Public Domain)