- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# sxiv

From ArchWiki

Summary
This article discusses the installation and basic configuration of sxiv.
Related
feh
External Links
sxiv on github

sxiv, Simple X Image Viewer is a lightweight and scriptable image viewer written in C.

## Installation

Install sxiv, which is available in the official repositories.

## Assigning keyboard shortcuts to sxiv

sxiv is scriptable, but to do this, you have to edit `config.h` and compile sxiv as follows. See ABS for details on customizing official packages.

In this example, the following command to `Ctrl+d`: `mv file ~/.trash`, and `echo -n file` to put the full path and filename of the current image into the clipboard with `CTRL+c`, and `nitrogen --save --set-zoom-fill file` to set the current image as wallpaper with `CTRL+w`

So when sxiv is started in thumbnail mode on a folder, one can see all files in that folder, select random thumbnails, and hit `CTRL+d` to move them to a custom "trash" folder.

Edit config.h, to add the line for the `d` and `c` shortcut:

    config.h

            /* run shell command line on current file ("$SXIV_IMG"): */
            { true,   XK_less,          it_shell_cmd,         (arg_t) \
                            "mogrify -rotate -90 \"$SXIV_IMG\"" },
            { true,   XK_greater,       it_shell_cmd,         (arg_t) \
                            "mogrify -rotate +90 \"$SXIV_IMG\"" },
            { true,   XK_comma,         it_shell_cmd,         (arg_t) \
                            "jpegtran -rotate 270 -copy all -outfile \"$SXIV_IMG\" \"$SXIV_IMG\"" },
            { true,   XK_period,        it_shell_cmd,         (arg_t) \
                            "jpegtran -rotate  90 -copy all -outfile \"$SXIV_IMG\" \"$SXIV_IMG\"" },
    //insert the lines below
            { true,   XK_d,             it_shell_cmd,         (arg_t) \
                            "mv \"$SXIV_IMG\" ~/.trash" },
            { true,   XK_c,             it_shell_cmd,         (arg_t) \
                            "echo -n \"$SXIV_IMG\" | xclip" },
            { true,   XK_w,             it_shell_cmd,         (arg_t) \
                            "nitrogen --save --set-wallpaper \"$SXIV_IMG\"" },
    };

Create .trash folder if it doesn't exist:

    $ mkdir ~/.trash

Now when you start sxiv in thumbnail mode on a folder of pictures, i.e.:

    $ sxiv -tsr ~/pictures

You can now delete selected pictures by hitting `Ctrl+d`. This will move your selected pic to `~/.trash`. Pressing `Ctrl+c` copies the full path and file name of the current picture to the clipboard. Pressing `Ctrl+w` will make the set the picture as wallpaper using Nitrogen.

## Tips and tricks

### Browse through images in directory after opening a single file

Place this script in `$PATH` and call it like this:

    $ scriptname a_single_image.jpg

As indicated in the comments of the script, it may be used to have this behavior when opening images from within ranger.

### Creating a desktop entry

Using a desktop environment some users may prefer to have sxiv listed in the start menu or list of installed programs. This can be done easily by creating the following `~/.local/share/applications/sxiv.desktop` file:

    [Desktop Entry]
    Name=sxiv
    Comment=A Simple X Image Viewer
    Exec=sxiv %f
    Terminal=false
    Type=Application
    Icon=sxiv
    Categories=GTK;Graphics;2DGraphics;Viewer;
    MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-pcx;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-sun-raster;image/x-tga;image/x-xbitmap;image/x-xpixmap;image/svg+xml;

As for the icon, you can for example take this image and place it in `~.local/share/icons/hicolor/<size>/apps/sxiv.png`

## See also

- Arch Linux forum thread.

Retrieved from "https://wiki.archlinux.org/index.php?title=Sxiv&oldid=277759"
Category:

- Graphics and desktop publishing

## Navigation menu