| 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 and giflib. The primary goal for writing sxiv is to create an image |
| 7 | viewer, which only has the most basic features required for fast image viewing |
| 8 | (the ones I want). It has vi key bindings and works nicely with tiling window |
| 9 | managers. Its code base should be kept small and clean to make it easy for you |
| 10 | 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 | -b Do not show info bar on bottom of window |
| 72 | -c Remove all orphaned cache files from thumbnail cache and exit |
| 73 | -F Use size-hints to make the window fixed/floating |
| 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 Fit images to window |
| 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 | q Quit sxiv |
| 94 | Return Switch to thumbnail mode / open selected image |
| 95 | |
| 96 | 0-9 Prefix the next command with a number (denoted via [count]) |
| 97 | |
| 98 | Ctrl-x Send the next key to the external key-handler |
| 99 | |
| 100 | g Go to first image |
| 101 | G Go to the last image, or image number [count] |
| 102 | |
| 103 | f Toggle fullscreen mode (requires an EWMH/NetWM compliant |
| 104 | window manager) |
| 105 | b Toggle visibility of info bar on bottom of window |
| 106 | A Toggle visibility of alpha-channel, i.e. transparency |
| 107 | |
| 108 | r Reload image |
| 109 | R Reload all thumbnails |
| 110 | D Remove image from file list and go to next image |
| 111 | |
| 112 | m Mark/unmark current image |
| 113 | M Reverse all image marks |
| 114 | N Go [count] marked images forward |
| 115 | P Go [count] marked images backward |
| 116 | |
| 117 | *Thumbnail mode:* |
| 118 | |
| 119 | h,j,k,l Move selection left/down/up/right [count] times |
| 120 | Ctrl-j,k Scroll thumbnail grid one window height down/up |
| 121 | |
| 122 | *Image mode:* |
| 123 | |
| 124 | n,Space Go [count] images forward |
| 125 | p,Backspace Go [count] images backward |
| 126 | [,] Go [count] * 10 images backward/forward |
| 127 | |
| 128 | Ctrl-n,p Go to the next/previous frame of a multi-frame image |
| 129 | Ctrl-Space Play/pause animation of a multi-frame image |
| 130 | |
| 131 | + Zoom in |
| 132 | - Zoom out |
| 133 | = Set zoom level to 100%, or [count]% |
| 134 | w Set zoom level to 100%, but fit large images into window |
| 135 | W Fit image to window |
| 136 | e Fit image to window width |
| 137 | E Fit image to window height |
| 138 | |
| 139 | h,j,k,l Pan image 1/5 of window width/height or [count] pixels |
| 140 | left/down/up/right (also with arrow keys) |
| 141 | H,J,K,L Pan to left/bottom/top/right image edge |
| 142 | Ctrl-h,j,k,l Pan image one window width/height left/down/up/right |
| 143 | (also with Ctrl-arrow keys) |
| 144 | |
| 145 | <,> Rotate image (counter-)clockwise by 90 degrees |
| 146 | ? Rotate image by 180 degrees |
| 147 | |,_ Flip image horizontally/vertically |
| 148 | |
| 149 | {,} Decrease/increase gamma |
| 150 | Ctrl-g Reset gamma |
| 151 | |
| 152 | a Toggle anti-aliasing |
| 153 | |
| 154 | s Toggle slideshow or set delay to [count] seconds |
| 155 | |
| 156 | |
| 157 | **Mouse button mappings:** |
| 158 | |
| 159 | *Image mode:* |
| 160 | |
| 161 | Button1 Go to the next image |
| 162 | Button2 Drag image with mouse while keeping it pressed |
| 163 | Button3 Go to the previous image |
| 164 | Scroll Pan image up/down |
| 165 | Shift+Scroll Pan image left/right |
| 166 | Ctrl+Scroll Zoom in/out |
| 167 | |
| 168 | |
| 169 | Download & Changelog |
| 170 | -------------------- |
| 171 | |
| 172 | You can [browse](https://github.com/muennich/sxiv) the source code repository |
| 173 | on GitHub or get a copy using git with the following command: |
| 174 | |
| 175 | git clone https://github.com/muennich/sxiv.git |
| 176 | |
| 177 | **Stable releases** |
| 178 | |
| 179 | **[v1.1.1](https://github.com/muennich/sxiv/archive/v1.1.1.tar.gz)** |
| 180 | *(June 2, 2013)* |
| 181 | |
| 182 | * Various bug fixes |
| 183 | |
| 184 | **[v1.1](https://github.com/muennich/sxiv/archive/v1.1.tar.gz)** |
| 185 | *(March 30, 2013)* |
| 186 | |
| 187 | * Added status bar on bottom of window with customizable content |
| 188 | * New keyboard shortcuts `\`/`|`: flip image vertically/horizontally |
| 189 | * New keyboard shortcut `Ctrl-6`: go to last/alternate image |
| 190 | * Added own EXIF orientation handling, removed dependency on libexif |
| 191 | * Fixed various bugs |
| 192 | |
| 193 | **[v1.0](https://github.com/muennich/sxiv/archive/v1.0.tar.gz)** |
| 194 | *(October 31, 2011)* |
| 195 | |
| 196 | * Support for multi-frame images & GIF animations |
| 197 | * POSIX compliant (IEEE Std 1003.1-2001) |
| 198 | |
| 199 | **[v0.9](https://github.com/muennich/sxiv/archive/v0.9.tar.gz)** |
| 200 | *(August 17, 2011)* |
| 201 | |
| 202 | * Made key and mouse mappings fully configurable in config.h |
| 203 | * Complete code refactoring |
| 204 | |
| 205 | **[v0.8.2](https://github.com/muennich/sxiv/archive/v0.8.2.tar.gz)** |
| 206 | *(June 29, 2011)* |
| 207 | |
| 208 | * POSIX-compliant Makefile; compiles under NetBSD |
| 209 | |
| 210 | **[v0.8.1](https://github.com/muennich/sxiv/archive/v0.8.1.tar.gz)** |
| 211 | *(May 8, 2011)* |
| 212 | |
| 213 | * Fixed fullscreen under window managers, which are not fully EWMH-compliant |
| 214 | |
| 215 | **[v0.8](https://github.com/muennich/sxiv/archive/v0.8.tar.gz)** |
| 216 | *(April 18, 2011)* |
| 217 | |
| 218 | * Support for thumbnail caching |
| 219 | * Ability to run external commands (e.g. jpegtran, convert) on current image |
| 220 | |
| 221 | **[v0.7](https://github.com/muennich/sxiv/archive/v0.7.tar.gz)** |
| 222 | *(February 26, 2011)* |
| 223 | |
| 224 | * Sort directory entries when using `-r` command line option |
| 225 | * Hide cursor in image mode |
| 226 | * Full functional thumbnail mode, use Return key to switch between image and |
| 227 | thumbnail mode |
| 228 | |
| 229 | **[v0.6](https://github.com/muennich/sxiv/archive/v0.6.tar.gz)** |
| 230 | *(February 16, 2011)* |
| 231 | |
| 232 | * Bug fix: Correctly display filenames with umlauts in window title |
| 233 | * Basic support of thumbnails |
| 234 | |
| 235 | **[v0.5](https://github.com/muennich/sxiv/archive/v0.5.tar.gz)** |
| 236 | *(February 6, 2011)* |
| 237 | |
| 238 | * New command line option: `-r`: open all images in given directories |
| 239 | * New key shortcuts: `w`: resize image to fit into window; `W`: resize window |
| 240 | to fit to image |
| 241 | |
| 242 | **[v0.4](https://github.com/muennich/sxiv/archive/v0.4.tar.gz)** |
| 243 | *(February 1, 2011)* |
| 244 | |
| 245 | * New command line option: `-F`, `-g`: use fixed window dimensions and apply |
| 246 | a given window geometry |
| 247 | * New key shortcut: `r`: reload current image |
| 248 | |
| 249 | **[v0.3.1](https://github.com/muennich/sxiv/archive/v0.3.1.tar.gz)** |
| 250 | *(January 30, 2011)* |
| 251 | |
| 252 | * Bug fix: Do not set setuid bit on executable when using `make install` |
| 253 | * Pan image with mouse while pressing middle mouse button |
| 254 | |
| 255 | **[v0.3](https://github.com/muennich/sxiv/archive/v0.3.tar.gz)** |
| 256 | *(January 29, 2011)* |
| 257 | |
| 258 | * New command line options: `-d`, `-f`, `-p`, `-s`, `-v`, `-w`, `-Z`, `-z` |
| 259 | * More mouse mappings: Go to next/previous image with left/right click, |
| 260 | scroll image with mouse wheel (horizontally if Shift key is pressed), |
| 261 | zoom image with mouse wheel if Ctrl key is pressed |
| 262 | |
| 263 | **[v0.2](https://github.com/muennich/sxiv/archive/v0.2.tar.gz)** |
| 264 | *(January 23, 2011)* |
| 265 | |
| 266 | * Bug fix: Handle window resizes correctly |
| 267 | * New keyboard shortcuts: `g`/`G`: go to first/last image; `[`/`]`: go 10 |
| 268 | images back/forward |
| 269 | * Support for mouse wheel zooming (by Dave Reisner) |
| 270 | * Added fullscreen mode |
| 271 | |
| 272 | **[v0.1](https://github.com/muennich/sxiv/archive/v0.1.tar.gz)** |
| 273 | *(January 21, 2011)* |
| 274 | |
| 275 | * Initial release |
| 276 | |