Krolyxon
Commit e8d08ba

Branches

Refs →

nsxivREADME.md

167 lines · 4.9 KB · Markdown

1![nsxiv](https://raw.githubusercontent.com/nsxiv/nsxiv/gh-pages/img/logo.png "nsxiv")
2
3**Neo (or New or Not) Simple (or Small or Suckless) X Image Viewer**
4--------------------------------------------------------------------
5
6nsxiv is a fork of now unmaintained [sxiv](https://github.com/muennich/sxiv)
7with the purpose of maintaining it and adding simple, sensible features.
8nsxiv is free software licensed under GPLv2 and aims to be easy to modify and customize.
9
10Please file a bug report if something does not work as documented or
11expected in *this* repository, after making sure you are using the latest
12release of nsxiv. Contributions are welcome, see
13[CONTRIBUTING.md](CONTRIBUTING.md#Contribution-Guideline) for details.
14
15
16Features
17--------
18
19* Basic image operations, e.g. zooming, panning, rotating
20* Customizable key and mouse button mappings (in *config.h*)
21* Thumbnail mode: grid of selectable previews of all images
22* Ability to cache thumbnails for fast re-loading
23* Basic support for multi-frame images
24* Play GIF animations
25* Display image information in status bar
26* Display image name/path in X title
27
28
29Screenshots
30-----------
31
32**Image mode: (Default colors)**
33
34![Image](https://raw.githubusercontent.com/nsxiv/nsxiv/gh-pages/img/image.png "Image mode")
35
36**Thumbnail mode: (Custom colors)**
37
38![Thumb](https://raw.githubusercontent.com/nsxiv/nsxiv/gh-pages/img/thumb.png "Thumb mode")
39
40
41Dependencies
42------------
43
44nsxiv requires the following software to be installed:
45
46 * Imlib2
47 * X11
48 * Xft
49 * freetype2
50 * fontconfig
51
52The following dependencies are optional.
53
54 * inotify : Used for auto-reloading images on change.
55 Disabled via `HAVE_INOTIFY=0`
56 * giflib : Used for animated gif playback.
57 Disabled via `HAVE_LIBGIF=0`.
58 * libexif : Used for auto-orientation and exif thumbnails.
59 Disable via `HAVE_LIBEXIF=0`
60 * libwebp : Used for animated webp playback.
61 Disabled via `HAVE_LIBWEBP=0`.
62
63Please make sure to install the corresponding development packages in case that
64you want to build nsxiv on a distribution with separate runtime and development
65packages (e.g. \*-dev on Debian).
66
67
68Building
69--------
70
71nsxiv is built using the commands:
72
73 $ make
74
75You can pass `HAVE_X=0` to `make` to disable an optional dependency.
76For example:
77
78 $ make HAVE_LIBEXIF=0
79
80will disable `libexif` support. Alternatively they can be disabled via editing
81the `Makefile` directly. `OPT_DEP_DEFAULT=0` can be used to disable all
82optional dependencies.
83
84Installing nsxiv:
85
86 # make install
87
88Installing desktop entry:
89
90 # make install-desktop
91
92Installing icons:
93
94 # make install-icon
95
96Installing all of the above:
97
98 # make install-all
99
100Please note, that these requires root privileges.
101By default, nsxiv is installed using the prefix `/usr/local`, so the full path
102of the executable will be `/usr/local/bin/nsxiv`, the `.desktop` entry will be
103`/usr/local/share/applications/nsxiv.desktop` and the icon path will be
104`/usr/local/share/icons/hicolor/{size}/apps/nsxiv.png`.
105
106You can install nsxiv into a directory of your choice by changing this command to:
107
108 $ make PREFIX="/your/dir" install
109
110Example scripts are installed using `EGPREFIX` which defaults to
111`/usr/local/share/doc/nsxiv/examples`. You can change `EGPREFIX` the same way
112you can change `PREFIX` shown above.
113
114The build-time specific settings of nsxiv can be found in the file *config.h*.
115Please check and change them, so that they fit your needs.
116If the file *config.h* does not already exist, then you have to create it with
117the following command:
118
119 $ make config.h
120
121
122Usage
123-----
124
125Please see man page for information on how to use nsxiv. To do so, execute the
126following after the installation:
127
128 $ man nsxiv
129
130
131F.A.Q
132-----
133
134* Can I open remote urls with nsxiv? <br>
135Yes, see [nsxiv-url](https://github.com/nsxiv/nsxiv-extra/tree/master/scripts/nsxiv-url)
136
137* Can I open all the images in a directory? <br>
138Yes, see [nsxiv-rifle](https://github.com/nsxiv/nsxiv-extra/tree/master/scripts/nsxiv-rifle)
139
140* Can I set default arguments for nsxiv? <br>
141Yes, see [nsxiv-env](https://github.com/nsxiv/nsxiv-extra/tree/master/scripts/nsxiv-env)
142
143* Can I pipe images into nsxiv? <br>
144No, not yet. See [#32](https://github.com/nsxiv/nsxiv/issues/32)
145
146
147User patches
148------------
149
150Due to our limited [project scope](CONTRIBUTING.md#Project-Scope), certain features or
151customization cannot be merged into nsxiv mainline. Following the spirit of
152suckless software, we host the [nsxiv-extra](https://github.com/nsxiv/nsxiv-extra)
153repo where users are free to submit whatever patches or scripts they wish.
154
155Description on how to use or submit patches can be found on
156[nsxiv-extra's](https://github.com/nsxiv/nsxiv-extra) README.
157
158
159Download
160--------
161
162You can [browse](https://github.com/nsxiv/nsxiv) the source code repository
163on GitHub or get a copy using git with the following command:
164
165 $ git clone https://github.com/nsxiv/nsxiv.git
166
167You can view the changelog [here](CHANGELOG.md)