fiv/README.adoc
2022-01-09 07:48:44 +01:00

84 lines
3.0 KiB
Plaintext

fiv
===
'fiv' is a slightly unconventional, general-purpose image browser and viewer.
image::fiv.webp["Screenshot of both the browser and the viewer"]
Features
--------
- Uses a compact thumbnail view, helping you browse collections comfortably.
- Supports BMP, (A)PNG, GIF, JPEG, WebP directly, plus optionally raw photos,
HEIC, AVIF, SVG, X11 cursors and TIFF, or whatever gdk-pixbuf loads.
- 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.
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.
- Portability to non-UNIXy systems, although patches are welcome.
- Memory efficiency is secondary to both performance and development time.
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 dependencies: Meson, pkg-config +
Runtime dependencies: gtk+-3.0, glib>=2.64, pixman-1, shared-mime-info,
libturbojpeg, libwebp, spng>=0.7.0 +
Optional dependencies: lcms2, LibRaw, librsvg-2.0, xcursor, libheif, libtiff,
gdk-pixbuf-2.0, ExifTool
$ 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. To test the program, help it find its custom thumbnailer:
$ PATH=$(pwd):$PATH ./fiv
Pressing F1 will give you a convenient list of keyboard shortcuts.
Configuration
-------------
The standard means to adjust the looks of the program is through GTK+ 3 CSS.
As an example, to tightly pack browser items, put the following in your
_~/.config/gtk-3.0/gtk.css_:
fiv-browser { -FivBrowser-spacing: 0; padding: 0; border: 0; margin: 0; }
Similarly, you can adjust some of the key bindings, as per the command table
in link:fiv-view.h[]:
@binding-set ViewBindings { bind 'p' { 'command' (print) }; }
fiv-view { -gtk-key-bindings: ViewBindings; }
Should you want to experiment, you will find the GTK+ inspector very helpful.
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.