2011-01-21 15:27:06 +01:00
|
|
|
sxiv: Simple (or small or suckless) X Image Viewer
|
|
|
|
|
2011-04-11 20:42:08 +02:00
|
|
|
sxiv is an alternative to feh and qiv. Its only dependency besides xlib is
|
|
|
|
imlib2. The primary goal for writing sxiv is to create an image viewer, which
|
|
|
|
only has the most basic features required for fast image viewing (the ones I
|
2011-07-07 13:34:21 +02:00
|
|
|
want). It has vi key bindings and works nicely with tiling window managers.
|
|
|
|
Its code base should be kept small and clean to make it easy for you to dig
|
|
|
|
into it and customize it for your needs.
|
2011-01-21 15:27:06 +01:00
|
|
|
|
2011-09-08 16:48:55 +02:00
|
|
|
Features
|
|
|
|
========
|
|
|
|
|
|
|
|
* Basic image operations, e.g. zooming, panning, rotating
|
|
|
|
* Customizable key and mouse button mappings (in *config.h*)
|
|
|
|
* Thumbnail mode: grid of selectable previews of all images
|
|
|
|
* Ability to cache thumbnails for fast re-loading
|
|
|
|
* Basic support for multi-frame images
|
|
|
|
|
|
|
|
Additional features, that need to be included at compile-time--see next section
|
|
|
|
on how to enable them:
|
|
|
|
|
|
|
|
* Play GIF animations
|
|
|
|
* Auto-orientate JPEG images according to their EXIF tags
|
|
|
|
|
2011-01-21 15:27:06 +01:00
|
|
|
Installation
|
2011-09-08 16:02:46 +02:00
|
|
|
============
|
2011-01-21 15:27:06 +01:00
|
|
|
sxiv is built using the commands:
|
|
|
|
|
|
|
|
$ make
|
|
|
|
# make install
|
|
|
|
|
|
|
|
Please note, that the latter one requires root privileges.
|
|
|
|
By default, sxiv is installed using the prefix "/usr/local", so the full path
|
2011-01-30 14:47:25 +01:00
|
|
|
of the executable will be "/usr/local/bin/sxiv".
|
2011-01-21 15:27:06 +01:00
|
|
|
|
|
|
|
You can install it into a directory of your choice by changing the second
|
|
|
|
command to:
|
|
|
|
|
2011-09-08 16:02:46 +02:00
|
|
|
# make PREFIX="/your/dir" install
|
2011-01-21 15:27:06 +01:00
|
|
|
|
2011-09-08 16:48:55 +02:00
|
|
|
All build-time specific settings can be found in the file *config.h*. Please
|
2011-01-21 15:27:06 +01:00
|
|
|
check and change them, so that they fit your needs.
|
|
|
|
|
2011-09-08 16:02:46 +02:00
|
|
|
Additional features
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
The XFLAGS and XLIBS macros/environment variables control which additional
|
|
|
|
features (i.e. non-default compile-time features) should be enabled and
|
|
|
|
included during compilation.
|
|
|
|
|
|
|
|
The following table lists the available additional features--the column
|
|
|
|
*Requires* indicates, which libraries need to be installed for a feature; the
|
2011-09-08 16:19:39 +02:00
|
|
|
columns *XFLAGS* and *XLIBS* show, what needs to be added to these
|
|
|
|
macros/environment variables to enable the corresponding feature:
|
2011-09-08 16:02:46 +02:00
|
|
|
|
|
|
|
Feature | Requires | XFLAGS | XLIBS
|
|
|
|
----------------------------------+----------+----------------+--------
|
|
|
|
GIF support: Load all frames and | giflib | -DGIF_SUPPORT | -lgif
|
|
|
|
play animations of GIF files | | |
|
|
|
|
----------------------------------+----------+----------------+--------
|
|
|
|
EXIF support: auto-orientate JPEG | libexif | -DEXIF_SUPPORT | -lexif
|
|
|
|
files according to their EXIF tag | | |
|
|
|
|
|
2011-09-08 16:19:39 +02:00
|
|
|
For instance, to enable GIF and EXIF support, the giflib and libexif libraries
|
|
|
|
need to be installed on your system and you either need to change the first
|
|
|
|
build command to:
|
2011-09-08 16:02:46 +02:00
|
|
|
|
2011-09-08 16:19:39 +02:00
|
|
|
$ make XFLAGS="-DGIF_SUPPORT -DEXIF_SUPPORT" XLIBS="-lgif -lexif"
|
|
|
|
|
|
|
|
Or you need to run the following commands before building sxiv:
|
|
|
|
|
|
|
|
$ export XFLAGS="-DGIF_SUPPORT -DEXIF_SUPPORT"
|
|
|
|
$ export XLIBS="-lgif -lexif"
|
2011-09-08 16:02:46 +02:00
|
|
|
|
2011-01-21 15:27:06 +01:00
|
|
|
Usage
|
2011-09-08 16:02:46 +02:00
|
|
|
=====
|
2011-02-21 16:49:34 +01:00
|
|
|
sxiv has two modes of operation: image and thumbnail mode. The default is image
|
|
|
|
mode, in which only the current image is shown. In thumbnail mode a grid of
|
|
|
|
small previews is displayed, making it easy to choose an image to open.
|
|
|
|
|
2011-01-27 16:15:43 +01:00
|
|
|
sxiv supports the following command-line options:
|
|
|
|
|
2011-04-11 21:27:20 +02:00
|
|
|
-c Remove all orphaned cache files from thumbnail cache and exit
|
2011-01-31 16:06:40 +01:00
|
|
|
-d Scale all images to 100%, but fit large images into window
|
2011-02-02 10:43:16 +01:00
|
|
|
-F Use size-hints to make the window fixed/floating
|
2011-01-31 16:06:40 +01:00
|
|
|
-f Start in fullscreen mode
|
|
|
|
-g GEOMETRY Set window position and size
|
2011-01-30 22:02:03 +01:00
|
|
|
(see section GEOMETRY SPECIFICATIONS of X(7))
|
2011-05-25 09:23:23 +02:00
|
|
|
-n NUM Start at picture NUM
|
2011-01-31 16:06:40 +01:00
|
|
|
-p Pixelize, i.e. turn off image anti-aliasing
|
|
|
|
-q Be quiet, disable warnings
|
2011-02-02 10:34:14 +01:00
|
|
|
-r Search given directories recursively for images
|
2011-01-31 16:06:40 +01:00
|
|
|
-s Scale all images to fit into window
|
2011-02-21 16:49:34 +01:00
|
|
|
-t Start in thumbnail mode
|
2011-01-31 16:06:40 +01:00
|
|
|
-v Print version information and exit
|
|
|
|
-Z Same as `-z 100'
|
|
|
|
-z ZOOM Scale all images to current zoom level, use ZOOM at startup
|
2011-01-21 15:27:06 +01:00
|
|
|
|
2011-04-07 00:04:01 +02:00
|
|
|
The following key mappings are available; differences between image view and
|
|
|
|
thumbnail mode are denoted via brackets:
|
2011-01-21 15:27:06 +01:00
|
|
|
|
2011-01-22 23:30:30 +01:00
|
|
|
q Quit sxiv
|
2011-04-07 00:04:01 +02:00
|
|
|
Return Switch to thumbnail mode [open selected image]
|
2011-02-21 16:49:34 +01:00
|
|
|
|
2011-01-28 13:42:39 +01:00
|
|
|
n,Space Go to the next image
|
|
|
|
p,Backspace Go to the previous image
|
2011-09-02 18:54:52 +02:00
|
|
|
g,G Go to [select] first/last image
|
|
|
|
[,] Go 10 images backward/forward
|
|
|
|
|
|
|
|
Ctrl-n,p Go to the next/previous frame of a multi-frame image
|
|
|
|
Ctrl-Space Play/pause animation of a multi-frame image
|
2011-04-07 00:04:01 +02:00
|
|
|
|
2011-01-22 23:30:30 +01:00
|
|
|
+,= Zoom in
|
|
|
|
- Zoom out
|
2011-02-06 18:45:00 +01:00
|
|
|
0 Set zoom level to 100%
|
|
|
|
w Fit image into window
|
2011-04-07 00:04:01 +02:00
|
|
|
|
|
|
|
h,j,k,l Pan image [move selection] left/down/up/right
|
|
|
|
(also with arrow keys)
|
2011-05-16 15:58:19 +02:00
|
|
|
H,J,K,L Pan to left/bottom/top/right image edge
|
2011-06-03 23:39:22 +02:00
|
|
|
Ctrl-h,j,k,l Pan image one window width/height left/down/up/right
|
|
|
|
(also with Ctrl-arrow keys)
|
2011-04-07 00:04:01 +02:00
|
|
|
|
2011-01-26 14:43:20 +01:00
|
|
|
<,> Rotate image (counter-)clockwise by 90 degrees
|
2011-04-07 00:04:01 +02:00
|
|
|
|
2011-02-06 18:45:00 +01:00
|
|
|
W Resize window to fit image
|
2011-04-07 00:04:01 +02:00
|
|
|
f Toggle fullscreen mode (requires an EWMH/NetWM compliant
|
|
|
|
window manager)
|
|
|
|
|
2011-01-26 14:59:32 +01:00
|
|
|
a Toggle anti-aliasing
|
2011-03-10 11:51:47 +01:00
|
|
|
A Toggle visibility of alpha-channel, i.e. transparency
|
2011-04-07 00:04:01 +02:00
|
|
|
D Remove image from file list and go to [select] next image
|
2011-01-31 16:06:40 +01:00
|
|
|
r Reload image
|
2011-01-26 18:38:54 +01:00
|
|
|
|
2011-04-07 00:04:01 +02:00
|
|
|
Additionally, the following mouse mappings are available:
|
2011-01-26 18:38:54 +01:00
|
|
|
|
|
|
|
Button1 Go to the next image
|
2011-04-07 00:04:01 +02:00
|
|
|
[select image/open image if it is already selected]
|
2011-01-30 22:02:03 +01:00
|
|
|
Button2 Drag image with mouse while keeping it pressed
|
2011-01-26 18:38:54 +01:00
|
|
|
Button3 Go to the previous image
|
2011-04-07 00:04:01 +02:00
|
|
|
ScrollUp Pan image up [scroll up one thumbnail row]
|
|
|
|
ScrollDown Pan image down [scroll down one thumbnail row]
|
2011-01-26 18:38:54 +01:00
|
|
|
Shift+ScrollUp Pan image left
|
|
|
|
Shift+ScrollDown Pan image right
|
|
|
|
Ctrl+ScrollUp Zoom in
|
|
|
|
Ctrl+ScrollDown Zoom out
|