# Loupe A simple image viewer application written with GTK4 and Rust. ![Loupe Screenshot](https://gitlab.gnome.org/Incubator/loupe/uploads/863131c1292cb9f1b32fbef39f266bcf/image.png) ## Installing The latest version from the main branch is available from the build artifacts. Download bundle for: * [x86_64](https://gitlab.gnome.org/api/v4/projects/13923/jobs/artifacts/main/raw/org.gnome.Loupe.Devel.flatpak?job=flatpak) (Average desktop or laptop PC) * [aarch64](https://gitlab.gnome.org/api/v4/projects/13923/jobs/artifacts/main/raw/org.gnome.Loupe.Devel.flatpak?job=flatpak@aarch64) (Average phone, tablet, or Apple Silicon devices) Bundles will not be automatically updated after installation. ## Supported Formats | Format | View | Optional | ICC | CICP | EXIF | XMP | Animation | Library | |-----------|------|----------|-----|------|------|-----|-----------|----------------------------| | AVIF | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | libheif-rs + libheif (C++) | | BMP | ✔ | | ✘ | — | — | — | — | image-rs | | DDS | ✔ | | — | — | — | — | — | image-rs | | farbfeld | ✔ | | — | — | — | — | — | image-rs | | GIF | ✔ | | ✘ * | — | — | ✘ | ✔ | image-rs | | HEIC | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | libheif-rs + libheif (C++) | | ICO | ✔ | | — | — | — | — | — | image-rs | | JPEG | ✔ | | ✔ | — | ✔ | ✘ | — | image-rs | | OpenEXR | ✔ | | — | — | — | — | — | image-rs | | PNG | ✔ | | ✔ | ✘ | ✔ | ✘ | ✔ | image-rs | | PNM | ✔ | | — | — | — | — | — | image-rs | | SVG | ✔ | | ✘ | — | — | ✘ * | — | librsvg | | TGA | ✔ | | — | — | — | — | — | image-rs | | TIFF | ✔ | | ✘ | — | ✔ | ✘ | — | image-rs | | WEBP | ✔ | | — | — | ✔ | ✘ | ✔ | image-rs | | Symbol | Meaning | |--------|------------------------------------------------| | * | Unclear if used in practice, needs research | | ** | Split into plugin because of licensing issues | | ✘ | Supported by format but not implemented yet | | ? | Unclear if supported by format, needs research | | ✔ | Supported | ## Building ### GNOME Builder GNOME Builder is the environment used for developing this application. It can use Flatpak manifests to create a consistent building and running environment cross-distro. Thus, it is highly recommended you use it. 1. Download [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder). 2. In Builder, click the "Clone Repository" button at the bottom, using `git@gitlab.gnome.org/Incubator/loupe.git` or `https://gitlab.gnome.org/Incubator/loupe.git` as the URL. 3. Click the build button at the top once the project is loaded. ## Installation Depending on how you want it installed instructions can differ. If you used GNOME Builder to build it, clicking the bar at the top window will open a submenu with "Export Bundle". This will create a flatpak bundle, which can be installed on any system that supports flatpak. **In order for the Loupe flatpak to be able to read the directory images are installed in, you must install a bundle.** Once you have a bundle installed, development builds will work properly. ## Contributing - [Code Documentation](https://incubator.pages.gitlab.gnome.org/loupe/doc/loupe/) ### Conduct Loupe operates under the GNOME Code Of Conduct. See the full text of the Code Of Conduct [here](CODE_OF_CONDUCT.md).