| 1 |  |
| 2 | |
| 3 | **Simple X Image Viewer** |
| 4 | |
| 5 | sxiv is an alternative to feh and qiv. Its only dependencies besides xlib are |
| 6 | imlib2, libexif and giflib. The primary goal for writing sxiv is to create an |
| 7 | image viewer, which only has the most basic features required for fast image |
| 8 | viewing (the ones I want). It has vi key bindings and works nicely with tiling |
| 9 | window managers. Its code base should be kept small and clean to make it easy |
| 10 | for you to dig into it and customize it for your needs. |
| 11 | |
| 12 | |
| 13 | Features |
| 14 | -------- |
| 15 | |
| 16 | * Basic image operations, e.g. zooming, panning, rotating |
| 17 | * Customizable key and mouse button mappings (in *config.h*) |
| 18 | * Thumbnail mode: grid of selectable previews of all images |
| 19 | * Ability to cache thumbnails for fast re-loading |
| 20 | * Basic support for multi-frame images |
| 21 | * Load all frames from GIF files and play GIF animations |
| 22 | * Display image information in status bar |
| 23 | |
| 24 | |
| 25 | Screenshots |
| 26 | ----------- |
| 27 | |
| 28 | **Image mode:** |
| 29 | |
| 30 |  |
| 31 | |
| 32 | **Thumbnail mode:** |
| 33 | |
| 34 |  |
| 35 | |
| 36 | |
| 37 | Installation |
| 38 | ------------ |
| 39 | |
| 40 | sxiv is built using the commands: |
| 41 | |
| 42 | $ make |
| 43 | # make install |
| 44 | |
| 45 | Please note, that the latter one requires root privileges. |
| 46 | By default, sxiv is installed using the prefix "/usr/local", so the full path |
| 47 | of the executable will be "/usr/local/bin/sxiv". |
| 48 | |
| 49 | You can install sxiv into a directory of your choice by changing the second |
| 50 | command to: |
| 51 | |
| 52 | # make PREFIX="/your/dir" install |
| 53 | |
| 54 | The build-time specific settings of sxiv can be found in the file *config.h*. |
| 55 | Please check and change them, so that they fit your needs. |
| 56 | If the file *config.h* does not already exist, then you have to create it with |
| 57 | the following command: |
| 58 | |
| 59 | $ make config.h |
| 60 | |
| 61 | |
| 62 | Usage |
| 63 | ----- |
| 64 | |
| 65 | sxiv has two modes of operation: image and thumbnail mode. The default is |
| 66 | image mode, in which only the current image is shown. In thumbnail mode a grid |
| 67 | of small previews is displayed, making it easy to choose an image to open. |
| 68 | |
| 69 | **Command line options:** |
| 70 | |
| 71 | -a Play animations of multi-frame images |
| 72 | -b Do not show info bar on bottom of window |
| 73 | -c Remove all orphaned cache files from thumbnail cache and exit |
| 74 | -f Start in fullscreen mode |
| 75 | -G GAMMA Set image gamma to GAMMA (-32..32) |
| 76 | -g GEOMETRY Set window position and size |
| 77 | (see section GEOMETRY SPECIFICATIONS of X(7)) |
| 78 | -i Read file list from stdin |
| 79 | -N NAME Set X window resource name to NAME |
| 80 | -n NUM Start at picture NUM |
| 81 | -o Write list of marked files to stdout when quitting |
| 82 | -q Be quiet, disable warnings |
| 83 | -r Search given directories recursively for images |
| 84 | -S DELAY Enable slideshow and set slideshow delay to DELAY seconds |
| 85 | -s MODE Set scale mode to MODE ([d]own, [f]it, [w]idth, [h]eight) |
| 86 | -t Start in thumbnail mode |
| 87 | -v Print version information and exit |
| 88 | -Z Same as `-z 100' |
| 89 | -z ZOOM Set zoom level to ZOOM percent |
| 90 | |
| 91 | **Key mappings:** |
| 92 | |
| 93 | 0-9 Prefix the next command with a number (denoted via [count]) |
| 94 | q Quit sxiv |
| 95 | Return Switch to thumbnail mode / open selected image |
| 96 | f Toggle fullscreen mode |
| 97 | b Toggle visibility of info bar on bottom of window |
| 98 | Ctrl-x Send the next key to the external key-handler |
| 99 | g Go to first image |
| 100 | G Go to the last image, or image number [count] |
| 101 | r Reload image |
| 102 | D Remove image from file list and go to next image |
| 103 | Ctrl-h,j,k,l Scroll one window width/height left/down/up/right |
| 104 | + Zoom in |
| 105 | - Zoom out |
| 106 | m Mark/unmark current image |
| 107 | M Reverse all image marks |
| 108 | Ctrl-m Remove all image marks |
| 109 | N Go [count] marked images forward |
| 110 | P Go [count] marked images backward |
| 111 | |
| 112 | *Thumbnail mode:* |
| 113 | |
| 114 | h,j,k,l Move selection left/down/up/right [count] times (also with |
| 115 | arrow keys) |
| 116 | R Reload all thumbnails |
| 117 | |
| 118 | *Image mode:* |
| 119 | |
| 120 | n,Space Go [count] images forward |
| 121 | p,Backspace Go [count] images backward |
| 122 | [,] Go [count] * 10 images backward/forward |
| 123 | Ctrl-n,p Go to the next/previous frame of a multi-frame image |
| 124 | Ctrl-Space Play/stop animations of multi-frame images |
| 125 | h,j,k,l Scroll image 1/5 of window width/height or [count] pixels |
| 126 | left/down/up/right (also with arrow keys) |
| 127 | H,J,K,L Scroll to left/bottom/top/right image edge |
| 128 | = Set zoom level to 100%, or [count]% |
| 129 | w Set zoom level to 100%, but fit large images into window |
| 130 | W Fit image to window |
| 131 | e Fit image to window width |
| 132 | E Fit image to window height |
| 133 | <,> Rotate image (counter-)clockwise by 90 degrees |
| 134 | ? Rotate image by 180 degrees |
| 135 | |,_ Flip image horizontally/vertically |
| 136 | {,} Decrease/increase gamma |
| 137 | Ctrl-g Reset gamma |
| 138 | a Toggle anti-aliasing |
| 139 | A Toggle visibility of alpha-channel, i.e. transparency |
| 140 | s Toggle slideshow or set delay to [count] seconds |
| 141 | |
| 142 | |
| 143 | **Mouse button mappings:** |
| 144 | |
| 145 | *Image mode:* |
| 146 | |
| 147 | Button1 Go to the next image |
| 148 | Button3 Go to the previous image |
| 149 | Button2 Drag image with mouse while keeping it pressed |
| 150 | Wheel Scroll image up/down |
| 151 | Shift+Wheel Scroll image left/right |
| 152 | Ctrl+Wheel Zoom in/out |
| 153 | |
| 154 | |
| 155 | Download & Changelog |
| 156 | -------------------- |
| 157 | |
| 158 | You can [browse](https://github.com/muennich/sxiv) the source code repository |
| 159 | on GitHub or get a copy using git with the following command: |
| 160 | |
| 161 | git clone https://github.com/muennich/sxiv.git |
| 162 | |
| 163 | **Stable releases** |
| 164 | |
| 165 | **[v1.2](https://github.com/muennich/sxiv/archive/v1.2.tar.gz)** |
| 166 | *(April 24, 2014)* |
| 167 | |
| 168 | * Added external key handler, called on keys prefixed with `Ctrl-x` |
| 169 | * New keybinding `{`/`}` to change gamma (by András Mohari) |
| 170 | * Support for slideshows, enabled with `-S` option & toggled with `s` |
| 171 | * Added application icon (created by 0ion9) |
| 172 | * Checkerboard background for alpha layer |
| 173 | * Option `-o` only prints files marked with `m` key |
| 174 | * Fixed rotation/flipping of multi-frame images (gifs) |
| 175 | |
| 176 | **[v1.1.1](https://github.com/muennich/sxiv/archive/v1.1.1.tar.gz)** |
| 177 | *(June 2, 2013)* |
| 178 | |
| 179 | * Various bug fixes |
| 180 | |
| 181 | **[v1.1](https://github.com/muennich/sxiv/archive/v1.1.tar.gz)** |
| 182 | *(March 30, 2013)* |
| 183 | |
| 184 | * Added status bar on bottom of window with customizable content |
| 185 | * New keyboard shortcuts `\`/`|`: flip image vertically/horizontally |
| 186 | * New keyboard shortcut `Ctrl-6`: go to last/alternate image |
| 187 | * Added own EXIF orientation handling, removed dependency on libexif |
| 188 | * Fixed various bugs |
| 189 | |
| 190 | **[v1.0](https://github.com/muennich/sxiv/archive/v1.0.tar.gz)** |
| 191 | *(October 31, 2011)* |
| 192 | |
| 193 | * Support for multi-frame images & GIF animations |
| 194 | * POSIX compliant (IEEE Std 1003.1-2001) |
| 195 | |
| 196 | **[v0.9](https://github.com/muennich/sxiv/archive/v0.9.tar.gz)** |
| 197 | *(August 17, 2011)* |
| 198 | |
| 199 | * Made key and mouse mappings fully configurable in config.h |
| 200 | * Complete code refactoring |
| 201 | |
| 202 | **[v0.8.2](https://github.com/muennich/sxiv/archive/v0.8.2.tar.gz)** |
| 203 | *(June 29, 2011)* |
| 204 | |
| 205 | * POSIX-compliant Makefile; compiles under NetBSD |
| 206 | |
| 207 | **[v0.8.1](https://github.com/muennich/sxiv/archive/v0.8.1.tar.gz)** |
| 208 | *(May 8, 2011)* |
| 209 | |
| 210 | * Fixed fullscreen under window managers, which are not fully EWMH-compliant |
| 211 | |
| 212 | **[v0.8](https://github.com/muennich/sxiv/archive/v0.8.tar.gz)** |
| 213 | *(April 18, 2011)* |
| 214 | |
| 215 | * Support for thumbnail caching |
| 216 | * Ability to run external commands (e.g. jpegtran, convert) on current image |
| 217 | |
| 218 | **[v0.7](https://github.com/muennich/sxiv/archive/v0.7.tar.gz)** |
| 219 | *(February 26, 2011)* |
| 220 | |
| 221 | * Sort directory entries when using `-r` command line option |
| 222 | * Hide cursor in image mode |
| 223 | * Full functional thumbnail mode, use Return key to switch between image and |
| 224 | thumbnail mode |
| 225 | |
| 226 | **[v0.6](https://github.com/muennich/sxiv/archive/v0.6.tar.gz)** |
| 227 | *(February 16, 2011)* |
| 228 | |
| 229 | * Bug fix: Correctly display filenames with umlauts in window title |
| 230 | * Basic support of thumbnails |
| 231 | |
| 232 | **[v0.5](https://github.com/muennich/sxiv/archive/v0.5.tar.gz)** |
| 233 | *(February 6, 2011)* |
| 234 | |
| 235 | * New command line option: `-r`: open all images in given directories |
| 236 | * New key shortcuts: `w`: resize image to fit into window; `W`: resize window |
| 237 | to fit to image |
| 238 | |
| 239 | **[v0.4](https://github.com/muennich/sxiv/archive/v0.4.tar.gz)** |
| 240 | *(February 1, 2011)* |
| 241 | |
| 242 | * New command line option: `-F`, `-g`: use fixed window dimensions and apply |
| 243 | a given window geometry |
| 244 | * New key shortcut: `r`: reload current image |
| 245 | |
| 246 | **[v0.3.1](https://github.com/muennich/sxiv/archive/v0.3.1.tar.gz)** |
| 247 | *(January 30, 2011)* |
| 248 | |
| 249 | * Bug fix: Do not set setuid bit on executable when using `make install` |
| 250 | * Pan image with mouse while pressing middle mouse button |
| 251 | |
| 252 | **[v0.3](https://github.com/muennich/sxiv/archive/v0.3.tar.gz)** |
| 253 | *(January 29, 2011)* |
| 254 | |
| 255 | * New command line options: `-d`, `-f`, `-p`, `-s`, `-v`, `-w`, `-Z`, `-z` |
| 256 | * More mouse mappings: Go to next/previous image with left/right click, |
| 257 | scroll image with mouse wheel (horizontally if Shift key is pressed), |
| 258 | zoom image with mouse wheel if Ctrl key is pressed |
| 259 | |
| 260 | **[v0.2](https://github.com/muennich/sxiv/archive/v0.2.tar.gz)** |
| 261 | *(January 23, 2011)* |
| 262 | |
| 263 | * Bug fix: Handle window resizes correctly |
| 264 | * New keyboard shortcuts: `g`/`G`: go to first/last image; `[`/`]`: go 10 |
| 265 | images back/forward |
| 266 | * Support for mouse wheel zooming (by Dave Reisner) |
| 267 | * Added fullscreen mode |
| 268 | |
| 269 | **[v0.1](https://github.com/muennich/sxiv/archive/v0.1.tar.gz)** |
| 270 | *(January 21, 2011)* |
| 271 | |
| 272 | * Initial release |
| 273 | |