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