Fix #652: Automated cache maintenance
[geeqie.git] / README.md
1
2       ###################################################################
3       ##                          Geeqie x.x                           ##
4       ##                                                               ##
5       ##              Copyright (C) 2008 - 2021 The Geeqie Team        ##
6       ##              Copyright (C) 1999 - 2006 John Ellis.            ##
7       ##                                                               ##
8       ##                      Use at your own risk!                    ##
9       ##                                                               ##
10       ##  This software released under the GNU General Public License. ##
11       ##       Please read the COPYING file for more information.      ##
12       ###################################################################
13
14 This is Geeqie, a successor of GQview.
15
16 Geeqie has been forked from GQview project, because it was not possible to
17 contact the GQview author and only maintainer.
18
19 The Geeqie project will continue the development forward and maintain the existing code.
20
21 Geeqie is currently considered stable.
22
23 Please send any questions, problems or suggestions to the [mailing list](mailto:geeqie@freelists.org) or
24 open an issue on [Geeqie at GitHub](https://github.com/BestImageViewer/geeqie/issues).
25
26 (Unless you first subscribe to the mailing list, you will not receive automated responses)
27
28 Subscribe to the mailing list [here](https://www.freelists.org/list/geeqie).
29
30 The project website is <http://www.geeqie.org/> and you will find the latest sources in the
31 [Geeqie repository](http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git).
32
33 # README contents:
34
35 * Features
36 * Downloading
37 * Installation
38 * Notes and changes for the latest release
39 * Requirements
40
41
42 ## Features
43
44 Geeqie is a graphics file viewer. Basic features:
45
46
47 * Single click image viewing / navigation.
48
49 * Zoom functions.
50
51 * Thumbnails, with optional caching and .xvpics support.
52
53 * Multiple file selection for move, copy, delete, rename, drag and drop.
54
55 * Thumbnail preview of the destination for move, copy and rename functions.
56
57 * On-the-fly renaming for move and copy functions, with formatted and auto-rename features.
58
59 * File grouping (an image having jpeg, RAW and xmp files will appear as a single entity).
60
61 * Selectable exif auto-rotation of images.
62
63
64 * Single click file copy or move to pre-defined folders - with undo feature.
65 * Drag and drop.
66
67 * Collections.
68
69 * Support for stereoscopic images
70     * input: side-by-side (JPS) and MPO format
71     * output: single image, anaglyph, SBS, mirror, SBS half size (3DTV)
72
73 *   Viewing raster and vector images, in the following formats:
74 3FR, ANI, APM, ARW, AVIF, BMP, CR2, CR3, CRW, CUR, DDS, DjVu, DNG, ERF, GIF, HEIC, HEIF, ICNS, ICO, JP2. JPE/JPEG/JPG, JPEG XL, JPS, KDC, MEF, MOS, MPO, MRW, NEF, ORF, PBM/PGM/PNM/PPM, PEF, PNG, PSD, PTX, QIF/QTIF (QuickTime Image Format), RAF, RAW, RW2, SR2, SRF, SVG/SVGZ, TGA/TARGA, TIF/TIFF, WEBP, WMF, XBM, XPM.
75 Animated GIFs are supported.
76
77 * Preview and thumbnails of video clips can be displayed. Clips can be run via a defined external program.
78
79 * Images can be displayed singly in normal or fullscreen mode; static or slideshow mode; in sets of two or four per page for comparison; or as thumbnails of various sizes. Synchronised zoom when multi images are displayed.
80
81 * Pan(orama) view displays image thumbnails in calendar, grid, folder and other layouts.
82 * All available metadata and Exif/IPTC/XMP data can be displayed, as well as colour histograms and assigned tags, keywords and comments.
83
84 * Selectable image overlay display box - can contain any text or meta-data.
85
86 * Panels can be docked or floating.
87
88 * Tags, both predefined and custom, can be assigned to images, and stored either as image metadata (where the file format allows), sidecar files, or in directory metadata files. Keywords and comments can also be assigned.
89
90 * Basic editing in the form of lossless 90/180-degree rotation and flipping is supported; external programs such as GIMP, Inkscape, and custom scripts using ImageMagick can be linked to allow further processing.
91
92 * Advanced searching is available using criteria such as filename, file size, age, image dimensions, similarity to a specified image, or by keywords or comments. If images have GPS coordinates embedded, you may also search for images within a radius of a geographical point.
93
94 * Geeqie supports applying the colour profile embedded in an image along with the system monitor profile (or a user-specified monitor profile).
95
96 * Geeqie sessions can be remotely controlled from external software, so it can be used as an image-viewer component of a bigger application.
97
98 * Geeqie includes a 'find duplicates' tool which can compare images using a variety of criteria (filename, file size, visual similarity, dimensions, image content), either within a single folder or between two folders. Finding duplicates ignoring the rotation of images is also supported.
99 * Images may be given a rating value (also known as a "star rating").
100
101 * Maps from [OpenStreetMap](http://www.openstreetmap.org) may be displayed in a side panel. If an image has GPS coordinates embedded, its position will be displayed on the map - if Image Direction is encoded, that will be displayed also. If an image does not have embedded GPS coordinates, it may be dragged-and-dropped onto the map to encode its position.
102
103 * Speed of operation can be increased by caching thumbnails and similarity data of images. When Geeqie is run as a stand-alone command line program (`geeqie --cache-maintenance <path>`) these data will be recursively created from the defined start point. This program can be called from `cron` or `anacron` so that cache updating is automatically done at specified intervals.
104
105 # <a name="downloading"></a>
106 ## Downloading
107
108 Geeqie is available:  
109
110 * as a package for Linux and BSD systems (See the [project web page](https://www.geeqie.org)).
111
112 * as a [flatpak](https://flathub.org/apps/details/org.geeqie.Geeqie) from the [Flathub site](https://flathub.org/home).
113
114 * as an [AppImage](https://www.geeqie.org/AppImage/index.html) (Generated from the latest sources).
115
116 * as a [Homebrew](https://formulae.brew.sh/formula/geeqie) package for macOS.
117
118 However Geeqie is stable and you may compile the latest version from sources.
119
120 There are two scripts which will download and compile the sources for you.
121
122 The first script will install Geeqie to a defined location, and will run under any system. However, it is left to you to make sure dependencies are fulfilled.
123 To get the script, from the command line type:<br/><br/>
124 `wget https://raw.githubusercontent.com/pixlsus/Scripts/master/build-geeqie`
125
126 The second script will run only on Debian-based system, but will fulfil all dependencies and also give you the opportunity to include additional pixbuf loaders and other useful programs.
127 To get the script, from the command line type:<br/><br/>
128 `wget https://raw.githubusercontent.com/BestImageViewer/geeqie/master/web/geeqie-install-debian.sh`
129
130
131 If you wish to compile the sources yourself you may download the latest version (if you have installed git) from here:
132
133 Either: `git clone git://www.geeqie.org/geeqie.git`
134
135 Or: `git clone http://www.geeqie.org/git/geeqie.git`
136
137 ## Manual Installation
138
139 List compile options: `./autogen.sh --help`
140
141 Common options:
142 `./autogen.sh --disable-gtk3`,
143
144 Compilation: `./autogen.sh [options]; make -j`
145
146 Install: `[sudo] make install`
147
148 Removal: `[sudo] make uninstall`
149
150 #### Note:
151 The zip and gzip files at geeqie.org and GitHub contain only the sources - they cannot, by themselves, be used to install Geeqie.
152
153 It is recommended to always use `git clone  git://www.geeqie.org/geeqie.git` to download Geeqie. After installing Geeqie you may delete the folder you have cloned Geeqie into.
154
155 However if you leave the folder intact, whenever new features or patches are available, execute:
156
157 `git pull; sudo make uninstall; sudo make maintainer-clean; ./autogen.sh; make -j<no. of cpu cores>; sudo make install`
158
159 Only the changed sources are downloaded, which makes this a quick operation.
160
161 Your configuration file, history file and desktop files are not affected by this process.
162
163
164
165 ## Notes and changes for the latest release
166
167 See the NEWS file in the installation folder, or [Geeqie News at GitHub](https://github.com/BestImageViewer/geeqie/blob/master/NEWS)
168
169 And either the ChangeLog file or [Geeqie ChangeLog](http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=shortlog)
170
171
172 ## Requirements
173
174 ### Required libraries:
175     GTK+ 3.00
176         www.gtk.org
177         enabled by default
178         disable with configure option: --disable-gtk3
179     or
180     GTK+ 2.20
181         disabled by default when GTK+3 libraries are found.
182         enable with configure option: --disable-gtk3
183         optional items map display and GPU acceleration are not available
184         with GTK2
185
186         Both GTK2 and GTK3 versions have been in use for several
187         years, and both may be considered stable.
188
189 ### Optional libraries:
190     lcms2 2.0
191     or
192     lcms 1.14
193         www.littlecms.com
194         for color management support
195         enabled by default
196         disable with configure option: --disable-lcms
197
198     exiv2 0.11
199         www.exiv2.org
200         for enhanced exif support
201         enabled by default
202         disable with configure option: --disable-exiv2
203
204     lirc
205         www.lirc.org
206         for remote control support
207         enabled by default
208         disable with configure option: --disable-lirc
209
210     libchamplain-gtk 0.12
211     libchamplain 0.12
212     libclutter 1.0
213         wiki.gnome.org/Projects/libchamplain
214         for map display
215         enabled by default
216         disable with configure option: --disable-map
217
218     libclutter 1.0
219         www.clutter-project.org
220         for GPU acceleration (a check-box on Preferences/Image must also be ticked)
221         enabled by default
222         disable with configure option: --disable-gpu-accel
223         explicitly disabling will also disable the map feature
224
225     lua 5.1
226         www.lua.org
227         support for lua scripting
228         enabled by default
229         disable with configure option: --disable-lua
230
231     librsvg2-common
232         for displaying .svg images
233
234     libwmf0.2-7-gtk
235         for displaying .wmf images
236
237     (see also "Additional pixbuf loaders" in the References section of the Help file)
238
239     awk
240         when running Geeqie, to use the geo-decode function
241
242     markdown
243         when compiling Geeqie, to create this file in html format
244
245     libffmpegthumbnailer 2.1.0
246         https://github.com/dirkvdb/ffmpegthumbnailer
247         for thumbnailing camera video clips
248         disable with configure option: --disable-ffmpegthumbnailer
249
250     libpoppler-glib-dev 0.62
251         for displaying pdf files
252         disable with configure option: --disable-pdf
253
254     libimage-exiftool-perl
255         For the jpeg extraction plugin
256
257     liblcms2-utils
258         For the command-line tool jpgicc, used by the jpeg extraction plugin
259
260      ImageMagick
261      exiftran
262      gphoto2
263      ufraw
264      exiv2
265         Additional command-line tools for various operations
266
267     libheif
268         For displaying HEIF images
269
270     libwebp
271         For displaying webp images
272
273     libdjvulibre
274         For displaying DjVu images
275
276     libopenjp2
277         For displaying JP2 images
278
279     libraw 0.20
280         For displaying CR3 images
281
282     yelp-tools
283         For creating the Help files
284
285 ### Code hackers:
286
287 If you plan on making any major changes to the code that will be offered for
288 inclusion to the main source, please contact us first - so that we can avoid
289 duplication of effort.
290                                                          The Geeqie Team
291
292 ### Known bugs:
293
294 See the Geeqie Bug Tracker at <https://github.com/BestImageViewer/geeqie/issues>