NSXIV(1)

NAME
nsxiv - Neo Simple X Image Viewer

SYNOPSIS
nsxiv [-abcfhiopqrtvZ0] [-A FRAMERATE] [-e WID] [-G GAMMA] [-g GEOMETRY] [-N NAME] [-n NUM] [-S DELAY] [-s MODE] [-z ZOOM] FILE...

DESCRIPTION
nsxiv is a simple image viewer for X.

It 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.

Please note, that the fullscreen mode requires an EWMH/NetWM-compliant window manager.

OPTIONS

-A, --framerate FRAMERATE
    Play animations with a constant frame rate set to FRAMERATE. If FRAMERATE is set to 0 then animation playback is disabled.

-a, --animate
    Play animations of multi-frame images.

-b  Do not show statusbar.

--bar, --no-bar
    Enables or disables statusbar. --no-bar is equivalent to -b.

-c, --clean-cache
    Remove all orphaned cache files from the thumbnail cache directory and exit.

-e, --embed WID
    Embed nsxiv's window into window whose ID is WID.

-f, --fullscreen
    Start in fullscreen mode.

-G, --gamma GAMMA
    Set image gamma to GAMMA (-32..32).

-g, --geometry GEOMETRY
    Set window position and size. See section GEOMETRY SPECIFICATIONS of X(7) for more information on GEOMETRY argument.

-h, --help
    Print brief usage information to standard output and exit.

-i, --stdin
    Read names of files to open from standard input. Also done if FILE is `-'.

-N, --name NAME
    Set the window name (i.e the "Instance" name of WM_CLASS as described in ICCCM) to NAME.

-n, --start-at NUM
    Start at picture number NUM.

-o, --stdout
    Write list of all marked files to standard output when quitting. In combination with -i, --stdin nsxiv can be used as a visual filter/pipe.

-p, --private
    Enable private mode, in which nsxiv does not write any cache or temporary files.

-q, --quiet
    Be quiet, and disable warnings to standard error stream.

-r, --recursive
    Search the given directories recursively for images to view.

-S, --ss-delay DELAY
    Start in slideshow mode. Set the delay between images to DELAY seconds. DELAY may be a floating-point number.

-s, --scale-mode MODE
    Set scale mode according to MODE character. Supported modes are: [d]own, [f]it, [F]ill, [w]idth, [h]eight.

-t, --thumbnail[=no]
    Start in thumbnail mode. The long option accepts an optional "no" to disable it.

-v, --version
    Print version information to standard output and exit.

-Z, --zoom-100
    The same as `-z 100'.

-z, --zoom ZOOM
    Set zoom level to ZOOM percent.

-0, --null
    Use NULL-separator. With this option, output of -o and file-list sent to the key-handler and the input of -i will be separated by a NULL character.

--anti-alias[=no]
    Enables anti-aliasing, when given no as an argument, disables it instead.

--alpha-layer[=no]
    Enables checkerboard background for alpha layer, when given no as an argument, disables it instead.

--cache-allow, --cache-deny CACHE-PATHS
    List of directories to whitelist or blacklist for thumbnail caching. See THUMBNAIL CACHING section for more information on the argument format. These options are mutually exclusive, if they are specified more than once then only the final one takes effect.

KEYBOARD COMMANDS

  General
The following keyboard commands are available in both image and thumbnail modes:

0-9 Prefix the next command with a number (denoted via count).

q   Quit nsxiv.

Q   Quit nsxiv, but additionally print the current filename when -o is active and no files have been marked.

Return
    Switch to thumbnail mode / open selected image in image mode.

f   Toggle fullscreen mode.

b   Toggle visibility of statusbar at the bottom of the window.

Ctrl-x
    Send the next key to the external key-handler. See section EXTERNAL KEY HANDLER for more information.

g   Go to the first image.

G   Go to the last image, or image number count.

r   Reload image.

D   Remove current image from file list and go to next image.

Ctrl-h, Ctrl-Left
    Scroll left one screen width.

Ctrl-j, Ctrl-Down
    Scroll down one screen height.

Ctrl-k, Ctrl-Up
    Scroll up one screen height.

Ctrl-l, Ctrl-Right
    Scroll right one screen width.

+   Zoom in.

-   Zoom out.

m   Mark/unmark the current image.

M   Mark/unmark all images starting from the last marked/unmarked image up to the current one.

Ctrl-m
    Reverse all image marks.

Ctrl-u
    Remove all image marks.

N   Go count marked images forward.

P   Go count marked images backward.

{   Decrease gamma correction by count steps.

}   Increase gamma correction by count steps.

Ctrl-g
    Reset gamma correction.

Ctrl-[
    Decrease brightness correction by count steps.

Ctrl-]
    Increase brightness correction by count steps.

(   Decrease contrast by count steps.

)   Increase contrast by count steps.

  Thumbnail mode
The following keyboard commands are only available in thumbnail mode:

h, Left
    Move selection left count times.

j, Down
    Move selection down count times.

k, Up
    Move selection up count times.

l, Right
    Move selection right count times.

R   Reload all thumbnails.

  Image mode
The following keyboard commands are only available in image mode:

Navigate image list:

n, Space
    Go count images forward.

p, Backspace
    Go count images backward.

[   Go count * 10 images backward.

]   Go count * 10 images forward.

Ctrl-6
    Go to the previously viewed image.

Handle multi-frame images:

Ctrl-n
    Go count frames of a multi-frame image forward.

Ctrl-p
    Go count frames of a multi-frame image backward.

Ctrl-a, Ctrl-Space
    Play/stop animations of multi-frame images.

Panning:

h, Left
    Scroll image 1/5 of window width or count pixels left.

j, Down
    Scroll image 1/5 of window height or count pixels down.

k, Up
    Scroll image 1/5 of window height or count pixels up.

l, Right
    Scroll image 1/5 of window width or count pixels right.

H   Scroll to left image edge.

J   Scroll to bottom image edge.

K   Scroll to top image edge.

L   Scroll to right image edge.

z   Scroll to image center.

Zooming:

=   Set zoom level to 100%, or count%.

w   Set zoom level to 100%, but fit large images into window.

W   Fit image to window.

F   Fill image to window.

e   Fit image to window width.

E   Fit image to window height.

Rotation:

<   Rotate image counter-clockwise by 90 degrees.

>   Rotate image clockwise by 90 degrees.

?   Rotate image by 180 degrees.

Flipping:

|   Flip image horizontally.

_   Flip image vertically.

Miscellaneous:

a   Toggle anti-aliasing.

A   Toggle visibility of alpha-channel, i.e. image transparency.

s   Toggle slideshow mode and/or set the delay between images to count seconds.

MOUSE COMMANDS

  Thumbnail mode
The following mouse mappings are available in thumbnail mode:

Button1
    Select the image. Goes into image mode if double-clicked.

Button3
    Mark/unmark the image. Dragging while holding down Button3 will mark/unmark multiple images.

Button4
    Scroll up by one row.

Button5
    Scroll down by one row.

Ctrl-Button4
    Scroll up by one page.

Ctrl-Button5
    Scroll down by one page.

  Image mode
The following mouse mappings are available in image mode:

Button1
    Go to the next image if the mouse cursor is in the right part of the window or to the previous image if it is in the left part.

Ctrl-Button1
    Pan the image relative to the mouse cursor.

Button2
    Pan the image according to the mouse cursor position in the window while keeping this button pressed down.

Button3
    Switch to thumbnail mode.

Button4
    Zoom in.

Button5
    Zoom out.

CONFIGURATION
The following X resources are supported under "Nsxiv" (e.g. Nsxiv.bar.font ):

window.background
    Color of the window background

window.foreground
    Color of the window foreground

bar.font
    Name of Xft bar font

bar.background
    Color of the bar background. Defaults to window.background

bar.foreground
    Color of the bar foreground. Defaults to window.foreground

mark.foreground
    Color of the mark foreground. Defaults to window.foreground

Please see xrdb(1) on how to change them.

An X resources entry with an empty value means the default (defined in config.h) will be used.

WINDOW TITLE
The window title can be replaced with the output of a user-provided script, which is called by nsxiv whenever any of the relevant information changes. The path of this script is $XDG_CONFIG_HOME/nsxiv/exec/win-title and the arguments given to it (where "Optional" arguments might be empty) are:

$1  resolved absolute path of the current file

$2  current file number

$3  total file count

$4  image width (Optional: Disabled on thumbnails mode)

$5  image height (Optional: Disabled on thumbnails mode)

$6  current zoom (Optional: Disabled on thumbnails mode)

The term file is used rather than image as nsxiv does not precheck that the input files are valid images. Total file count may be different from the actual count of valid images.

There is also an example script installed together with nsxiv as /usr/share/doc/nsxiv/examples/win-title.

STATUS BAR
The information displayed on the left side of the status bar can be replaced with the output of user-provided script.

The script that is called by nsxiv whenever an image gets loaded is located at $XDG_CONFIG_HOME/nsxiv/exec/image-info and the arguments given to it are:

$1  path to image file (as provided by the user)

$2  image width

$3  image height

$4  fully resolved path to the image file

In thumbnail mode, the script that is called is located at $XDG_CONFIG_HOME/nsxiv/exec/thumb-info and the arguments given to it are:

$1  path to image file (as provided by the user)

$2  empty

$3  empty

$4  fully resolved path to the image file

There are also example scripts installed together with nsxiv as /usr/share/doc/nsxiv/examples/image-info and /usr/share/doc/nsxiv/examples/thumb-info.

EXTERNAL KEY HANDLER
Additional external keyboard commands can be defined using a handler program located in $XDG_CONFIG_HOME/nsxiv/exec/key-handler. The handler is invoked by pressing Ctrl-x. The next key combo is passed as its first argument. Passed via stdin are the images to act upon: all marked images, if in thumbnail mode and at least one image has been marked, otherwise the current image. nsxiv(1) will block until the handler terminates. It then checks which images have been modified and reloads them. By default nsxiv(1) will send one image per-line to stdin, however when using -0 the image list will be NULL separated and the environment variable "$NSXIV_USING_NULL" will be set to 1. The key combo argument has the following form: "[C-][M-][S-]KEY", where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix. If KEY has an uppercase equivalent, S-KEY is resolved into it. For instance, K replaces S-k and Scedilla replaces S-scedilla, but S-Delete is sent as-is. There is also an example script installed together with nsxiv as /usr/share/doc/nsxiv/examples/key-handler.

THUMBNAIL CACHING
nsxiv stores all thumbnails under $XDG_CACHE_HOME/nsxiv/.

Use the command line option -c to remove all orphaned cache files. Additionally, run the following command afterwards inside the cache directory to remove empty subdirectories:

    find . -depth -type d -empty ! -name '.' -exec rmdir {} \;

The option --cache-allow or --cache-deny may be used to whitelists or blacklist certain directories from being cached. The argument is a : separated list of paths. A * at the beginning of the path indicates that path should be matched recursively.

For example: --cache-allow "/user/pictures:*/media/pictures" whitelists "/user/pictures" directory non-recursively and "/media/pictures" directory recursively. Nothing outside these two directories will be cached. And --cache-deny "*/secret" will enable blacklist mode and will not cache anything inside "/secret" or it's subdirectories.

ORIGINAL AUTHOR
    Bert Muennich          <ber.t at posteo.de>

CURRENT MAINTAINERS
    NRK                    <nrk at disroot.org>
    Berke Kocaoğlu         <berke.kocaoglu at metu.edu.tr>
    TAAPArthur             <taaparthur at gmail.com>
    eylles                 <ed.ylles1997 at gmail.com>
    Stein Gunnar Bakkeby   <bakkeby at gmail.com>
    explosion-mental       <explosion0mental at gmail.com>

CONTRIBUTORS
    For a list of contributors, run `git shortlog -s` in the nsxiv git repository.

HOMEPAGE

Website:
    https://nsxiv.codeberg.page/

Source code:
https://codeberg.org/nsxiv/nsxiv

SEE ALSO
X(7), xrdb(1)