Skip to content

Repository files navigation

nive

Lightweight image viewer for Windows.

Features

  • Three-pane UI: directory tree, file list, and thumbnail grid
  • Image viewer with zoom and pan (Direct2D rendering)
  • Archive browsing via 7-Zip (7z.dll)
  • Network share (UNC path) support
  • Thumbnail caching with SQLite and zstd compression
  • Drag & drop file operations with conflict resolution
  • Natural / lexicographic / date / size sorting
  • AVIF image support via plugin (libavif)
  • Plugin API for extending supported formats
  • TOML-based persistent settings

Requirements

  • Windows 10 or later (x64)
  • 7-Zip (optional, for archive support)

Archive Support

Archive browsing requires 7z.dll from 7-Zip. The DLL is searched in the following order:

  1. Application directory (next to nive.exe)
  2. %ProgramFiles%\7-Zip
  3. %ProgramFiles(x86)%\7-Zip
  4. System PATH

If 7-Zip is installed in the default location, no additional setup is needed. For portable use, place 7z.dll alongside nive.exe.

Build

Prerequisites

Steps

git submodule update --init --recursive
cmake --preset release
cmake --build --preset release

The output binary is located at build/release/bin/nive.exe.

Note: The default presets use the Ninja generator. If you prefer Visual Studio, use the msvc-release preset instead:

cmake --preset msvc-release
cmake --build --preset msvc-release

Dependencies

All dependencies are vendored as git submodules under externals/:

Library Purpose
spdlog Logging
SQLite Thumbnail cache database
bit7z 7-Zip archive support
zstd Cache compression
toml++ Settings file parsing
libavif AVIF image decoding (with libaom)

License

MIT

About

Lightweight image viewer for Windows

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages