aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
blob: 07cf5ce18788d83b6aad267a6c2d5c6f9d4d12ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
fiv
===

'fiv' is a slightly unconventional, general-purpose image browser and viewer
for Linux and Windows (macOS still has major issues).

image::docs/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, 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 using Arch Linux's
https://aur.archlinux.org/packages/fiv-git[AUR],
or as a https://git.janouch.name/p/nixexprs[Nix derivation].

Building and Running
--------------------
Build-only dependencies:
 Meson, pkg-config, asciidoctor or asciidoc (recommended but optional) +
Runtime dependencies: gtk+-3.0, glib>=2.64, pixman-1, shared-mime-info,
 libturbojpeg, libwebp, librsvg-2.0 (for icons) +
Optional dependencies: lcms2, Little CMS fast float plugin,
 LibRaw, librsvg-2.0, xcursor, libheif, libtiff, ExifTool,
 resvg (unstable API, needs to be requested explicitly) +
Runtime dependencies for reverse image search:
 xdg-utils, cURL, jq

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

The lossless JPEG cropper and reverse image search are intended to be invoked
from a file manager context menu.

For proper integration, you will need to install the application.  On Debian,
you can get a quick and dirty installation package for testing purposes using:

 $ meson compile deb
 # dpkg -i fiv-*.deb

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

 $ sh -e msys2-configure.sh builddir
 $ meson compile package -C builddir

If everything succeeds, you will find a portable build of the application
in the 'builddir/package' subdirectory, and a very basic MSI installation
package in 'builddir'.

Faster colour management
^^^^^^^^^^^^^^^^^^^^^^^^
To get the Little CMS fast float plugin, you'll have to enter MSYS2 and
https://www.msys2.org/wiki/Creating-Packages/#re-building-a-package[rebuild]
_mingw-w64-lcms2_ with the following change:

 sed -i 's/meson setup /&-Dfastfloat=true /' PKGCONFIG

Documentation
-------------
For information concerning usage, refer to link:docs/fiv.html[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.