nsxiv - Changelog
git
Changes will only be documented on stable releases. If you're on git/master then
there may be more changes. Please use git log to view them.
v34
(February 04, 2026)
Changes:
- Minimum Imlib2 version requirement is now
v1.11.0 #536
Added:
- New cli flag
--update-cache #532
- New cli flag
-H, --hidden to include hidden files and directories #575
- More descriptive error message when failing to load an image #536, #585
- New cli flag
--assume-files to bypass directory traversal. Intended to be
used when the list is known to contain only files. This avoids some initial
disk operations and may reduce startup time on slow disks. #580
Fixes:
- Fix rebuilding
options.o every time on non-git sources #581
v33
(January 26, 2025)
Changes:
- Moved key-handler prompts to the right side bar #481
- Rename
--class to --name #515
- Print usage output to
stderr on usage error #510
Added:
- Added cli flags
--cache-{allow,deny} to white/black list directories from
thumbnail caching #461
- Print ellipsis when text is truncated in the statusbar #501
- Allow disabling thumbnail mode via
--thumbnail=no #502
- Allow disabling animation playback via
-A 0 #502
- Add
--bar to enable statusbar #502
- Updated
rotate() in key-handler example to support nsxiv -0 #521
Fixes:
- Unresponsive UI when animation is too fast #489
- Fixed image placement when rotating #493
- More reliable reading of various script output #490
- Statusbar getting stuck at "Running key-handler..." #481
- Fixed autoreload when directory is root #498
- Fixed
-A not working #503
- Selecting incorrect thumbnail when clicking outside
the thumbnail area #517
- Fix exiv2 argument order in key-handler example #518
v32
(October 01, 2023)
Changes:
- Removed legacy multi-frame loaders. Animated image support now requires
Imlib2 v1.8.0 or above.
- Move loading/caching messages to right side bar #446
- Set a default delay if delay is 0 in a multi-frame image #445
config.mk: default to -O2 #435
config.mk no longer explicitly sets CC to c99 #455
- Assertions are now opt-in and requires explicitly defining
DEBUG #447
Added:
- Added a pick-quit key-binding #432
- Ability to configure Xresources class name in
config.h #427
--version output now also includes compiled-in feature list #462
- Document handling of empty X resources values #428
- Experimental flag
--bg-cache to generate thumbnail cache in a background
process #438
Fixes:
- Changing brightness/contrast on multi-frame images #440
- Brightness keybindings on manpage #467
- Various autoreload bugs #437, #459, #460
*-info scripts not updating when selecting thumbnail with mouse #477
- Updated openbsd configuration in
config.mk #453
- Memory leak in
win_draw_bar #444
- Thumbnail leak when removing the last file #423
v31
(January 28, 2023)
Changes:
- Uncritical files moved to
etc/. #350
- Empty Xresource entry will now be ignored. #340
win-title will be read in a non-blocking manner. #314
Added:
- Support for multi-frame images via
Imlib2. #373
- Support for long-opts. #332
- Cli flag
--anti-alias to enable/disable anti-aliasing. #361
- Cli flag
--alpha-layer to enable/disable checkerboard background. #408
- Accept directory via stdin (-i) #383
- Support for modifying brightness and contrast #396
Fixes:
- Build failure when
_SC_PHYS_PAGES is not defined. #334
- Various statusbar issues. #353,#341
- Crashes due to faulty signal-handler. #411
- Potential memory leak in
r_readdir(). #319
- Potentially printing incorrect error message. #321
- Wrong slideshow length on animated webp. #381
- Document missing Ctrl+6 binding in the manpage. #347
SPECIAL NOTE: Due to this incident
we have moved development over to Codeberg.
A lot of the references below may now be 404 on GitHub. Any threads which
survived the wipe have been migrated over to nsxiv-record. All of the
references above can be found on the new main nsxiv repository on Codeberg.
v30
(June 15, 2022)
Changes:
- Development and main repository moved over to Codeberg.
See the special note above for more info.
autoreload_{inotify,nop}.c merged into a single file, autoreload.c. #263
- Moved all configuration related macros to
config.mk. #264
win-title is now called only when there's change rather than being called
on each redraw. #266
Added:
- Added more mimetypes to the
.desktop entry. #260
- Added
thumb-info for customizing the statusbar in thumbnail-mode. #265
- Added comments for building on OpenBSD. #264
Fixes:
- "Too many open file" error due to not closing the win-title script. #245
-f now directly starts in fullscreen mode rather than opening a normal
window and then going fullscreen. #251
- Broken slideshow on slow systems or fast animations. #282
- Memory leak when removing an image in thumbnail mode. #247
- Correctly setting
_NET_WM_PID. #251
- Don't override statusbar if info script doesn't exist. #271
- Potential misbehavior regarding font. #250
v29
(March 03, 2022)
Changes:
- Window title is now customizable via
win-title, cli flag -T and related
config.h options are removed. See WINDOW TITLE section of the manpage for
more info. #213
- Imlib2 cache size is now set based on total memory percentage, by default
set to 3%. #184
- Removed some non-POSIX extensions in the Makefile. #225
Added:
- Ability to customize thumbnail mode mouse-bindings via
config.h. #167
- Option to set statusbar position to top via
config.h. #231
- New keybinding z to scroll to center. #203
Fixes:
- Manpage cleanup: avoid confusing wording and document thumbnail mode
mouse-bindings. #186
- Wrong jpeg exif orientation with Imlib2 v1.7.5 (and above). #188
- Animation slowdown when zoomed in. #200
- Reset statusbar after failed keyhandler. #191
- Window title not working on certain WMs. #234
- Various compiler warnings. #197
v28
(December 12, 2021)
Changes:
- Statusbar made optional via
HAVE_LIBFONTS. #95
- Remove library auto-detection, use
OPT_DEP_DEFAULT instead. #71
- Example scripts will now be installed into
EGPREFIX
($(PREFIX)/share/doc/nsxiv/examples by default). See README for more
info. #86
Added:
- Animated webp support (optional via
HAVE_LIBWEBP). #20
- New mouse-binding Ctrl-Button1 for relative drag. #117
- Ability to configure colors and fonts in
config.h. #115
- Ability to configure navigation width area in
config.h. #155
- Ability to customize the set of modifiers used when processing keybindings
in
config.h via USED_MODMASK. #150
- Ability to configure Imlib2's cache size for better image (re)loading
performance in
config.h. #171
- Cli flag
-0 for sending null-seperated file-list to standard out (-o),
and key-handler and receiving null-seperated file-list via stdin (-i).
#68,#141,#164
- Export environment variable
NSXIV_USING_NULL to key-handler. #164
- Embed new nsxiv icon. #163
make install-icon to install icons. #80,#96
make install-desktop to install .desktop entry. #80,#96
make install-all to install everything. #80,#96
- Configurable
KEYHANDLER_ABORT in config.h. #91,#172
- Statusbar message upon key-handler activation. #98
- Ability to write custom C functions in
config.h and use them via
keybindings. #76
Fixes:
- Not able to use
KEYHANDLER_ABORT key (Escape by default) in
regular keybindings. #91
- Memory leak related to Xresources. #134
- Memory leak in gif loader. #165
- Better handle gif colormap and prevent out-of-bound access. #165
- Prevent crash when zooming out in very small images. #178
- Removed non-POSIX commands and extensions from
Makefile. #71
- Regression where nsxiv wouldn't run on non-TrueColor X server. #114
- Wrong comments in
config.h and description in manpage.
#105,#106,#152
v27.1
(September 16, 2021)
Fixes:
- Source tarball failing build #66
v27
(September 16, 2021)
Changes:
- Re-release under the name nsxiv.
- Xresources
Sxiv.foreground and Sxiv.background changed
to Nsxiv.window.foreground and Nsxiv.window.background.
- Xresources
Sxiv.font changed to Nsxiv.bar.font.
- Rework the build system. Now by default we'll build with only optional
dependencies that are already installed. #19
Added:
- Fill scale mode. #2
- Configurable X window title (via
config.h and the -T flag). #23
- Support custom bar colors via Xresources. #19
- Support custom mark color via Xresources. #51
- Toggle animation playback with Ctrl-a. #33
- Set
_NET_WM_PID and WM_CLIENT_MACHINE X properties. #13
- Set
ICCCM WM manager hints. #12
Fixes:
- Cli flag
-G not initially setting gamma. #31
- Wrong keybinding description in the manpage. #14
- .desktop entry not advertising webp support. #15
- Prevent crash when embedded into transparent window. #3
- Small memory leak. #57
- Rare crash when showing some GIFs. #41
- Rare event where nsxiv wouldn't close after window being destroyed. #53
sxiv
Stable releases
v26
(January 16, 2020)
v25
(January 26, 2019)
- Support font fallback for missing glyphs
- Fix busy loop when built without inotify
- Use background/foreground colors from X resource database
v24
(October 27, 2017)
- Automatically reload the current image whenever it changes
- Support embedding into other X windows with -e (e.g. tabbed)
- New option -p prevents sxiv from creating cache and temporary files
- Simpler mouse mappings, the most basic features are accessible with the
mouse only (navigate, zoom, pan)
v1.3.2
(December 20, 2015)
- external key handler gets file paths on stdin, not as arguments
- Cache out-of-view thumbnails in the background
- Apply gamma correction to thumbnails
v1.3.1
(November 16, 2014)
- Fixed build error, caused by delayed config.h creation
- Fixed segfault when run with -c
v1.3
(October 24, 2014)
- Extract thumbnails from EXIF tags (requires libexif)
- Zoomable thumbnails, supported sizes defined in config.h
- Fixed build error with giflib version >= 5.1.0
v1.2
(April 24, 2014)
- Added external key handler, called on keys prefixed with
Ctrl-x
- New keybinding
{/} to change gamma (by AndrĂ¡s Mohari)
- Support for slideshows, enabled with
-S option & toggled with s
- Added application icon (created by 0ion9)
- Checkerboard background for alpha layer
- Option
-o only prints files marked with m key
- Fixed rotation/flipping of multi-frame images (gifs)
v1.1.1
(June 2, 2013)
v1.1
(March 30, 2013)
- Added status bar on bottom of window with customizable content
- New keyboard shortcuts
\/|: flip image vertically/horizontally
- New keyboard shortcut
Ctrl-6: go to last/alternate image
- Added own EXIF orientation handling, removed dependency on libexif
- Fixed various bugs
v1.0
(October 31, 2011)
- Support for multi-frame images & GIF animations
- POSIX compliant (IEEE Std 1003.1-2001)
v0.9
(August 17, 2011)
- Made key and mouse mappings fully configurable in config.h
- Complete code refactoring
v0.8.2
(June 29, 2011)
- POSIX-compliant Makefile; compiles under NetBSD
v0.8.1
(May 8, 2011)
- Fixed fullscreen under window managers, which are not fully EWMH-compliant
v0.8
(April 18, 2011)
- Support for thumbnail caching
- Ability to run external commands (e.g. jpegtran, convert) on current image
v0.7
(February 26, 2011)
- Sort directory entries when using
-r command line option
- Hide cursor in image mode
- Full functional thumbnail mode, use Return key to switch between image and
thumbnail mode
v0.6
(February 16, 2011)
- Bug fix: Correctly display filenames with umlauts in window title
- Basic support of thumbnails
v0.5
(February 6, 2011)
- New command line option:
-r: open all images in given directories
- New key shortcuts:
w: resize image to fit into window; W: resize window
to fit to image
v0.4
(February 1, 2011)
- New command line option:
-F, -g: use fixed window dimensions and apply
a given window geometry
- New key shortcut:
r: reload current image
v0.3.1
(January 30, 2011)
- Bug fix: Do not set setuid bit on executable when using
make install
- Pan image with mouse while pressing middle mouse button
v0.3
(January 29, 2011)
- New command line options:
-d, -f, -p, -s, -v, -w, -Z, -z
- More mouse mappings: Go to next/previous image with left/right click,
scroll image with mouse wheel (horizontally if Shift key is pressed),
zoom image with mouse wheel if Ctrl key is pressed
v0.2
(January 23, 2011)
- Bug fix: Handle window resizes correctly
- New keyboard shortcuts:
g/G: go to first/last image; [/]: go 10
images back/forward
- Support for mouse wheel zooming (by Dave Reisner)
- Added fullscreen mode
v0.1
(January 21, 2011)