fork of loupe with drawing functionality. Supports undo with Ctrl+z and copy to clipboard with drawn changes
Find a file
Christopher Davis 5297231137 window: Use only one breakpoint
AdwBreakpoint automatically resets properties when the breakpoint
conditions no longer apply. This means we don't need to manually
create a breakpoint for the sidebar at widths greater than 590px,
as libadwaita already does that for us.

This commit removes the extra breakpoint.

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/228>
2023-05-31 21:32:40 +00:00
build-aux build: Add dist script 2023-04-02 22:10:07 +00:00
data window: Use only one breakpoint 2023-05-31 21:32:40 +00:00
po Update Indonesian translation 2023-05-31 12:30:40 +00:00
src imageView: Merge set_image_from_file with set_images_from_files 2023-05-30 12:52:59 +00:00
.gitignore Run cargo fmt on source files 2021-02-06 20:59:17 +01:00
.gitlab-ci.yml CI: Publish nightly builds 2023-05-13 03:27:18 +02:00
Cargo.lock cargo: Update deps 2023-05-11 02:50:56 +02:00
Cargo.toml fullscreen: Hide headerbar on idle 2023-05-03 22:21:18 +02:00
CODE_OF_CONDUCT.md Initial Commit 2020-12-26 02:18:23 -08:00
COPYING.md Initial Commit 2020-12-26 02:18:23 -08:00
deny.toml cargo: Fix deny configuration 2023-04-12 20:09:22 +02:00
loupe.doap doap: Add XML declaration and update URLs 2023-05-13 03:12:50 +02:00
meson.build data: Prepare 44.3 2023-05-11 18:23:53 +00:00
meson_options.txt build: Add ci profile that uses --release 2023-03-01 13:05:19 -05:00
NEWS data: Prepare 44.3 2023-05-11 18:23:53 +00:00
README.md README: Add QOI format and feature section 2023-04-27 01:28:15 +00:00

Loupe

An image viewer application written with GTK 4, Libadwaita and Rust.

Loupe Screenshot

Installing

The latest version from the main branch is available from the build artifacts.

Download bundle for:

  • x86_64 (Average desktop or laptop PC)
  • aarch64 (Average phone, tablet, or Apple Silicon devices)

Bundles will not be automatically updated after installation.

Features

  • Fast GPU accelerated image rendering with tiled rendering for SVGs
  • Extensive support for touchpad and touchscreen gestures
  • Build-in support for more than 15 image formats
  • Accessible presentation of the most important metadata
  • Sleek but powerful interface developed in conjunction with GNOME Human Interface Guidelines

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
QOI ✔ — — — — — 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
✘ 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.
  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

Conduct

Loupe operates under the GNOME Code Of Conduct. See the full text of the Code Of Conduct here.