Image browser and viewer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Přemysl Eric Janouch 7b88e89489
Allow dragging with the middle mouse button
4 weeks ago
docs Add a traditional manual page for fiv 1 month ago
resources Support opening collections of files 2 months ago
subprojects Make the jpeg-quantsmooth wrap work on Debian 2 months ago
tools Generate TIFF structs/enums from a text file 4 months ago
wuffs-mirror-release-c@123a5c6ede Bump Wuffs, support partial PNGs through it 4 months ago
.clang-format Add clang-format configuration 11 months ago
.gitignore Update .gitignore 1 month ago
.gitmodules Mesonize JPEG Quant Smooth 9 months ago
LICENSE Use a unified filesystem model 9 months ago
README.adoc Add a traditional manual page for fiv 1 month ago
fiv-browse.desktop Use the X-GNOME-FullName desktop file key 7 months ago
fiv-browser.c Use a GQueue for thumbnailing 2 months ago
fiv-browser.h Fully support GNOME's inode/directory mechanism 9 months ago
fiv-collection.c Support opening collections of files 2 months ago
fiv-collection.h Support opening collections of files 2 months ago
fiv-context-menu.c Bundle a fuller installation of Perl/ExifTool 2 months ago
fiv-context-menu.h Add the information dialog to context menus 2 months ago
fiv-io-benchmark.c Redirect warnings to the info bar 8 months ago
fiv-io.c Support opening collections of files 2 months ago
fiv-io.h Support opening collections of files 2 months ago
fiv-jpegcrop.c Make binaries say what git commit they come from 2 months ago
fiv-jpegcrop.desktop Add a lossless JPEG cropper 7 months ago
fiv-sidebar.c Support opening collections of files 2 months ago
fiv-sidebar.h Use a unified filesystem model 9 months ago
fiv-thumbnail.c Use cleaner paths when looking up thumbnails 2 months ago
fiv-thumbnail.h Do produce thumbnails of thumbnails, but in memory 2 months ago
fiv-update-desktop-files.in Handle gdk-pixbuf's dynamic format support better 2 months ago
fiv-view.c Allow dragging with the middle mouse button 4 weeks ago
fiv-view.h Add support for copying to clipboard 2 months ago
fiv.c Make binaries say what git commit they come from 2 months ago
fiv.desktop Support opening collections of files 2 months ago
fiv.gschema.xml Add sidebar/toolbar toggles to GSettings 2 months ago
fiv.manifest Automate Windows builds, add icons to executables 2 months ago
fiv.rc Automate Windows builds, add icons to executables 2 months ago
fiv.svg Improve the icon 9 months ago
meson.build Add a traditional manual page for fiv 1 month ago
meson_options.txt Build tools with Meson as well 4 months ago
msys2-cross-configure.sh Bundle a fuller installation of Perl/ExifTool 2 months ago
msys2-cross-install.sh Bundle a fuller installation of Perl/ExifTool 2 months ago
tiff-tables.awk Generate TIFF structs/enums from a text file 4 months ago
tiff-tables.db Generate TIFF structs/enums from a text file 4 months ago
xdg.c Improve XDG path handling on Windows 2 months ago
xdg.h Split out xdg.{c,h} 11 months ago

README.adoc

fiv

fiv is a slightly unconventional, general-purpose image browser and viewer for Linux (that said, macOS and Windows ports are possible).

Screenshot of both the browser and the viewer

Features

  • Uses a compact thumbnail view, helping you browse collections comfortably.

  • Supports BMP, (A)PNG, GIF, TGA, JPEG, WebP directly, plus optionally raw photos, HEIC, AVIF, SVG, X11 cursors and TIFF, or whatever your gdk-pixbuf modules manage to load.

  • Employs high-performance file format libraries: Wuffs and libjpeg-turbo.

  • Makes use of 30-bit X.org visuals, whenever it’s possible and appropriate.

  • Has a notion of pages, and tries to load all included content within files.

  • Can keep the zoom and position when browsing, to help with comparing zoomed-in images.

Explicit non-goals

  • Editing--that’s what editors are for, be it GIMP or Rawtherapee; nothing beyond the most basic of adjustments is desired.

  • Following the latest GNOME HIG to the letter--header bars are deliberately avoided, for their general user hostility.

  • Memory efficiency is secondary to both performance and development effort.

Aspirations

Show colours as accurately as hardware allows. Open everything. Be fast. Not necessarily in this order.

Packages

Regular releases are sporadic. git master should be stable enough. You can get a package with the latest development version from Archlinux’s AUR.

Building and Running

Build-only dependencies: Meson, pkg-config, asciidoctor or asciidoc
Runtime dependencies: gtk+-3.0, glib>=2.64, pixman-1, shared-mime-info, libturbojpeg, libwebp
Optional dependencies: lcms2, LibRaw, librsvg-2.0, xcursor, libheif, libtiff, ExifTool, resvg (unstable API, needs to be requested explicitly)

$ git clone --recursive https://git.janouch.name/p/fiv.git
$ meson builddir
$ cd builddir
$ meson compile

Considering the vast amount of dynamically-linked dependencies, do not attempt direct installations via ninja install. To test the program:

$ meson devenv fiv

The lossless JPEG cropper is intended to be invoked from a context menu.

Windows

fiv can be cross-compiled for Windows, provided that you install a bunch of dependencies listed at the beginning of msys2-cross-configure.sh, plus rsvg-convert from librsvg2, and icotool from icoutils. Beware that the build will take up about a gigabyte of disk space.

$ sh -e msys2-cross-configure.sh builddir
$ meson install -C builddir

If everything succeeds, you will find a portable build of the application in the builddir/package subdirectory. Keep your expectations low.

Documentation

For information concerning usage, refer to the user guide, which can be invoked from within the program by pressing F1.

Contributing and Support

Use https://git.janouch.name/p/fiv to report any bugs, request features, or submit pull requests. git send-email is tolerated. If you want to discuss the project, feel free to join me at ircs://irc.janouch.name, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License

This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.