No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-27 22:16:28 -04:00
libdingus prune unused libdingus packages 2026-09-27 22:16:28 -04:00
config.ini add vsync support and config setting 2026-09-27 18:05:29 -04:00
config.odin add vsync support and config setting 2026-09-27 18:05:29 -04:00
FiraCode-Regular.LICENSE add license for FiraCode 2025-07-12 11:49:05 -04:00
FiraCode-Regular.ttf initial 2025-07-12 11:20:45 -04:00
image.odin cleanup pass 2026-09-27 17:01:41 -04:00
init.odin refactor vsync flag handling 2026-09-27 19:04:51 -04:00
input.odin more refactor progress 2026-09-03 21:48:14 -04:00
iv.rdi decouple animation timing from application framerate; consolidate animated and non-animated image loading 2026-09-09 19:54:40 -04:00
LICENSE initial 2025-07-12 11:20:45 -04:00
main.odin refactor vsync flag handling 2026-09-27 19:04:51 -04:00
README.md update readme 2026-09-09 20:10:28 -04:00
render.odin cleanup pass 2026-09-27 17:01:41 -04:00
screenshot.png update screenshot 2026-09-09 20:09:06 -04:00

iv - image viewer

This repo contains an in-development simple image viewer written in Odin. As development is ongoing, many things are subject to change.

Current features:

  • Loads static and animated images through SDL2_image.
  • Uses vim-like key bindings. Keys can be rebound in config.ini and are loaded at runtime. Key names must match Odin's SDL2 Keycode enum. See the included config for examples.
  • Displays a status bar and optional on-screen key hints. Their text size and opacity are configurable.
  • Supports fit, fill, original-size, and manual zoom modes.
  • Supports keyboard movement, mouse panning, and mouse-wheel zooming.

Building requires Odin, SDL2, SDL2_image, and SDL2_ttf:

odin build .
./iv path/to/image

Configuration is loaded from config.ini in the current directory or $XDG_CONFIG_HOME/iv/config.ini (usually ~/.config/iv/config.ini). The current directory takes precedence.

The UI font can be replaced at compile time with -define:FONT=<font_file>. Fira Code is included as the default.

Screenshot:

screenshot