Fix #1004, 1005: Various meson problems
[geeqie.git] / README.md
1 # Geeqie Readme
2
3 ## ![][image_ref_geeqie_png] Geeqie - an image viewer
4
5 This is Geeqie, a successor of GQview.
6
7 Geeqie is a free open software image viewer and organiser program for Linux, FreeBSD and other Unix-like operating systems
8
9 It can be used as a simple database-free image viewer but it also has extensive capabilities.
10
11 Please send any questions, problems or suggestions to the [mailing list](mailto:geeqie@freelists.org) or
12 open an issue on [Geeqie at GitHub](https://github.com/BestImageViewer/geeqie/issues).
13
14 (NB Unless you first subscribe to the mailing list, you will not receive automated responses)
15
16 Subscribe to the mailing list [here](https://www.freelists.org/list/geeqie).
17
18 The project website is <https://www.geeqie.org/> and you will find the latest sources in the
19 [Geeqie repository](http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git).
20
21 ## Contents
22
23 * [Features](#features)
24 * [Downloading](#downloading)
25 * [Compiling and Installing](#compiling-and-installing)
26 * [Notes and changes for the latest release](#notes-and-changes-for-the-latest-release)
27 * [Requirements](#requirements)
28 * [Required libraries](#required-libraries)
29
30 ### Features
31
32 Geeqie is a graphics file viewer. Basic features:
33
34 * Single click image viewing / navigation.
35
36 * Zoom functions.
37
38 * Thumbnails, with optional caching and .xvpics support.
39
40 * Multiple file selection for move, copy, delete, rename, drag and drop.
41
42 * Thumbnail preview of the destination for move, copy and rename functions.
43
44 * On-the-fly renaming for move and copy functions, with formatted and auto-rename features.
45
46 * File grouping (an image having jpeg, RAW and xmp files will appear as a single entity).
47
48 * Selectable exif auto-rotation of images.
49
50 * Single click file copy or move to pre-defined folders - with undo feature.
51 * Drag and drop.
52
53 * Collections.
54
55 * Support for stereoscopic images
56     * input: side-by-side (JPS) and MPO format
57     * output: single image, anaglyph, SBS, mirror, SBS half size (3DTV)
58
59 * Viewing raster and vector images, in the following formats:
60     * 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, SCR (ZX Spectrum), SR2, SRF, SVG/SVGZ, TGA/TARGA, TIF/TIFF, WEBP, WMF, XBM, XPM.
61     * Display images in archive files (.ZIP, .RAR etc.).
62     * Animated GIFs are supported.
63
64 * Preview and thumbnails of video clips can be displayed. Clips can be run via a defined external program.
65
66 * 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.
67
68 * Pan(orama) view displays image thumbnails in calendar, grid, folder and other layouts.
69 * All available metadata and Exif/IPTC/XMP data can be displayed, as well as colour histograms and assigned tags, keywords and comments.
70
71 * Selectable image overlay display box - can contain any text or meta-data.
72
73 * Panels can be docked or floating.
74
75 * 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.
76
77 * 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.
78
79 * 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.
80
81 * Geeqie supports applying the colour profile embedded in an image along with the system monitor profile (or a user-specified monitor profile).
82
83 * Geeqie sessions can be remotely controlled from external software, so it can be used as an image-viewer component of a bigger application.
84
85 * 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.
86 * Images may be given a rating value (also known as a "star rating").
87
88 * Maps from [OpenStreetMap](https://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.
89
90 * 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.
91
92 * Extensible via plugins
93
94 ### Downloading
95
96 Geeqie is available:  
97
98 * as a package for Linux and BSD systems (See the [project web page](https://www.geeqie.org#download)).
99
100 * as a [flatpak](https://flathub.org/apps/details/org.geeqie.Geeqie) from the [Flathub site](https://flathub.org/home).
101
102 * as an [AppImage](https://www.geeqie.org/AppImage/index.html) (Generated from the latest sources).
103
104 * as a [Homebrew](https://formulae.brew.sh/formula/geeqie) or [MacPorts](https://ports.macports.org/port/geeqie) package for macOS.
105
106 However Geeqie is stable and you may compile the latest version from sources.
107
108 There are two scripts which will download and compile the sources for you.
109
110 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.
111 To get the script, from the command line type:
112
113 ```sh
114 wget https://raw.githubusercontent.com/pixlsus/Scripts/master/build-geeqie
115 chmod +x build-geeqie
116 ```
117
118 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.
119 To get the script, from the command line type:
120
121 ```sh
122 wget https://raw.githubusercontent.com/BestImageViewer/geeqie/master/geeqie-install-debian.sh
123 chmod +x geeqie-install-debian.sh
124 ```
125
126 If you wish to compile the sources yourself you may download the latest version (if you have installed git) from here:
127
128 Either: `git clone git://git.geeqie.org/geeqie.git`
129
130 Or: `git clone http://git.geeqie.org/git/geeqie.git`
131
132 ### Compiling and Installing
133
134 `meson setup build`  
135 `ninja -C build install`
136
137 List compile options:  
138 `meson configure build`
139
140 Apply options e.g.:  
141 `sudo ninja -C build uninstall`  
142 `meson configure -Dpdf=enable -Dwebp=disable`  
143 `ninja -C build install`
144
145 Re-display configuration data:  
146 `ninja -C build reconfigure`
147
148 Meaning of options:  
149 `auto` If the library is not found, continue the installation  
150 `enable` If the library is not found, stop the installation  
151 `disable` Do not look for the library  
152
153 Uninstall:  
154 `sudo ninja -C build uninstall`
155
156 Install new version:  
157 `sudo ninja -C build uninstall`  
158 `git pull`  
159 `ninja -C build install`
160
161 #### Note
162
163 It is recommended to always use `git clone  git://git.geeqie.org/geeqie.git` to download Geeqie. After installing Geeqie you may delete the folder you have cloned Geeqie into.
164
165 However if you leave the folder intact, whenever new features or patches are available, execute:
166
167 `sudo ninja -C build uninstall; git pull; ninja -C build install`
168
169 Only the changed sources are downloaded, which makes this a quick operation.
170
171 Your configuration file, history file and desktop files are not affected by this process.
172
173 ### Notes and changes for the latest release
174
175 See the NEWS file in the installation folder, or [Geeqie News at GitHub](https://github.com/BestImageViewer/geeqie/blob/master/NEWS)
176
177 And either the ChangeLog file or [Geeqie ChangeLog](http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=shortlog)
178
179 ### Required libraries
180
181 Required libraries for a Debian installation may be listed by:
182
183 ```sh
184 wget https://raw.githubusercontent.com/BestImageViewer/geeqie/master/geeqie-install-debian.sh
185 chmod +x geeqie-install-debian.sh
186 ./geeqie-install-debian.sh --list
187 ```
188
189 ### Code hackers
190
191 If you plan on making any major changes to the code that will be offered for
192 inclusion to the main source, please contact us first - so that we can avoid
193 duplication of effort.
194
195 ### Known bugs
196
197 See the Geeqie Bug Tracker at <https://github.com/BestImageViewer/geeqie/issues>
198
199 [image_ref_geeqie_png]:
200 data:image/png;base64,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