Some command line options are not GNU/POSIX compliant (3)
[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     * Display images in archive files (.ZIP, .RAR etc.).
76     * Animated GIFs are supported.
77
78 * Preview and thumbnails of video clips can be displayed. Clips can be run via a defined external program.
79
80 * 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.
81
82 * Pan(orama) view displays image thumbnails in calendar, grid, folder and other layouts.
83 * All available metadata and Exif/IPTC/XMP data can be displayed, as well as colour histograms and assigned tags, keywords and comments.
84
85 * Selectable image overlay display box - can contain any text or meta-data.
86
87 * Panels can be docked or floating.
88
89 * 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.
90
91 * 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.
92
93 * 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.
94
95 * Geeqie supports applying the colour profile embedded in an image along with the system monitor profile (or a user-specified monitor profile).
96
97 * Geeqie sessions can be remotely controlled from external software, so it can be used as an image-viewer component of a bigger application.
98
99 * 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.
100 * Images may be given a rating value (also known as a "star rating").
101
102 * 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.
103
104 * 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.
105
106 # <a name="downloading"></a>
107 ## Downloading
108
109 Geeqie is available:  
110
111 * as a package for Linux and BSD systems (See the [project web page](https://www.geeqie.org)).
112
113 * as a [flatpak](https://flathub.org/apps/details/org.geeqie.Geeqie) from the [Flathub site](https://flathub.org/home).
114
115 * as an [AppImage](https://www.geeqie.org/AppImage/index.html) (Generated from the latest sources).
116
117 * as a [Homebrew](https://formulae.brew.sh/formula/geeqie) package for macOS.
118
119 However Geeqie is stable and you may compile the latest version from sources.
120
121 There are two scripts which will download and compile the sources for you.
122
123 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.
124 To get the script, from the command line type:<br/><br/>
125 `wget https://raw.githubusercontent.com/pixlsus/Scripts/master/build-geeqie`
126
127 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.
128 To get the script, from the command line type:<br/><br/>
129 `wget https://raw.githubusercontent.com/BestImageViewer/geeqie/master/web/geeqie-install-debian.sh`
130
131
132 If you wish to compile the sources yourself you may download the latest version (if you have installed git) from here:
133
134 Either: `git clone git://www.geeqie.org/geeqie.git`
135
136 Or: `git clone http://www.geeqie.org/git/geeqie.git`
137
138 ## Manual Installation
139
140 List compile options: `./autogen.sh --help`
141
142 Common options:
143 `./autogen.sh --disable-gtk3`,
144
145 Compilation: `./autogen.sh [options]; make -j`
146
147 Install: `[sudo] make install`
148
149 Removal: `[sudo] make uninstall`
150
151 #### Note:
152 The zip and gzip files at geeqie.org and GitHub contain only the sources - they cannot, by themselves, be used to install Geeqie.
153
154 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.
155
156 However if you leave the folder intact, whenever new features or patches are available, execute:
157
158 `git pull; sudo make uninstall; sudo make maintainer-clean; ./autogen.sh; make -j<no. of cpu cores>; sudo make install`
159
160 Only the changed sources are downloaded, which makes this a quick operation.
161
162 Your configuration file, history file and desktop files are not affected by this process.
163
164
165
166 ## Notes and changes for the latest release
167
168 See the NEWS file in the installation folder, or [Geeqie News at GitHub](https://github.com/BestImageViewer/geeqie/blob/master/NEWS)
169
170 And either the ChangeLog file or [Geeqie ChangeLog](http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=shortlog)
171
172
173 ## Requirements
174
175 ### Required libraries:
176     GTK+ 3.00
177         www.gtk.org
178         enabled by default
179         disable with configure option: --disable-gtk3
180     or
181     GTK+ 2.20
182         disabled by default when GTK+3 libraries are found.
183         enable with configure option: --disable-gtk3
184         optional items map display and GPU acceleration are not available
185         with GTK2
186
187         Both GTK2 and GTK3 versions have been in use for several
188         years, and both may be considered stable.
189
190 ### Optional libraries:
191     lcms2 2.0
192     or
193     lcms 1.14
194         www.littlecms.com
195         for color management support
196         enabled by default
197         disable with configure option: --disable-lcms
198
199     exiv2 0.11
200         www.exiv2.org
201         for enhanced exif support
202         enabled by default
203         disable with configure option: --disable-exiv2
204
205     lirc
206         www.lirc.org
207         for remote control support
208         enabled by default
209         disable with configure option: --disable-lirc
210
211     libchamplain-gtk 0.12
212     libchamplain 0.12
213     libclutter 1.0
214         wiki.gnome.org/Projects/libchamplain
215         for map display
216         enabled by default
217         disable with configure option: --disable-map
218
219     libclutter 1.0
220         www.clutter-project.org
221         for GPU acceleration (a check-box on Preferences/Image must also be ticked)
222         enabled by default
223         disable with configure option: --disable-gpu-accel
224         explicitly disabling will also disable the map feature
225
226     lua 5.1
227         www.lua.org
228         support for lua scripting
229         enabled by default
230         disable with configure option: --disable-lua
231
232     librsvg2-common
233         for displaying .svg images
234
235     libwmf0.2-7-gtk
236         for displaying .wmf images
237
238     (see also "Additional pixbuf loaders" in the References section of the Help file)
239
240     awk
241         when running Geeqie, to use the geo-decode function
242
243     markdown
244         when compiling Geeqie, to create this file in html format
245
246     libffmpegthumbnailer 2.1.0
247         https://github.com/dirkvdb/ffmpegthumbnailer
248         for thumbnailing camera video clips
249         disable with configure option: --disable-ffmpegthumbnailer
250
251     libpoppler-glib-dev 0.62
252         for displaying pdf files
253         disable with configure option: --disable-pdf
254
255     libimage-exiftool-perl
256         For the jpeg extraction plugin
257
258     liblcms2-utils
259         For the command-line tool jpgicc, used by the jpeg extraction plugin
260
261      ImageMagick
262      exiftran
263      gphoto2
264      ufraw
265      exiv2
266         Additional command-line tools for various operations
267
268     libheif
269         For displaying HEIF images
270
271     libwebp
272         For displaying webp images
273
274     libdjvulibre
275         For displaying DjVu images
276
277     libopenjp2
278         For displaying JP2 images
279
280     libraw 0.20
281         For displaying CR3 images
282
283     libarchive 3.4.3
284         For opening archive files (.ZIP, .RAR etc.)
285
286     yelp-tools
287         For creating the Help files
288
289 ### Code hackers:
290
291 If you plan on making any major changes to the code that will be offered for
292 inclusion to the main source, please contact us first - so that we can avoid
293 duplication of effort.
294                                                          The Geeqie Team
295
296 ### Known bugs:
297
298 See the Geeqie Bug Tracker at <https://github.com/BestImageViewer/geeqie/issues>