2021-09-28 17:44:26 -07:00
# Loupe
2020-12-26 02:05:34 -08:00
A simple image viewer application written with GTK4 and Rust.
2023-04-25 01:21:37 +02:00

2020-12-26 02:05:34 -08:00
2022-12-08 17:55:20 +01:00
## Installing
The latest version from the main branch is available from the build artifacts.
2023-02-18 20:43:10 -05:00
Download bundle for:
2022-12-08 17:55:20 +01:00
2023-02-18 20:43:10 -05:00
* [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.
2020-12-26 02:05:34 -08:00
decoder: Use image-rs, libheif-rs, librsvg
This adds proper support for a lot of image formats including SVGs.
It will be the basis for many features to come. The technical core
is an asynchronous renderer that can arrange textures in smaller tiles
which might be generated on demand.
Closes #34, #40, #41, #49
Basis for fixing the following issues #7, #27, #36, #43, #68, #71
2023-03-04 03:14:52 +01:00
## Supported Formats
2023-03-15 22:35:59 +01:00
| 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 |
decoder: Use image-rs, libheif-rs, librsvg
This adds proper support for a lot of image formats including SVGs.
It will be the basis for many features to come. The technical core
is an asynchronous renderer that can arrange textures in smaller tiles
which might be generated on demand.
Closes #34, #40, #41, #49
Basis for fixing the following issues #7, #27, #36, #43, #68, #71
2023-03-04 03:14:52 +01:00
| 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 |
2020-12-26 02:05:34 -08:00
## 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 ).
2023-02-02 06:26:52 +01:00
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.
2020-12-26 02:05:34 -08:00
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
2023-02-18 20:43:10 -05:00
open a submenu with "Export Bundle". This will create a flatpak bundle,
2020-12-26 02:05:34 -08:00
which can be installed on any system that supports flatpak.
2021-09-28 18:38:01 -07:00
**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.
2023-02-02 06:26:52 +01:00
## Contributing
- [Code Documentation ](https://incubator.pages.gitlab.gnome.org/loupe/doc/loupe/ )
### Conduct
2020-12-26 02:05:34 -08:00
2021-09-28 17:44:26 -07:00
Loupe operates under the GNOME Code Of Conduct. See the full
2020-12-26 02:05:34 -08:00
text of the Code Of Conduct [here ](CODE_OF_CONDUCT.md ).