Hi.
I've been working on this image viewer for the better part of three years. It has slowly evolved to fit a lot of my needs and I figured that it was time to share it as it might be useful to someone else. I started it long before LLMs became a thing, and they have not been used for programming it. I am a c#/.net developer by trade so this was also my gateway to learn rust.
I am an amateur photographer and my main gripe with other image viewers was that they were slow for rapid culling and even general image viewing.
A lot of the viewer itself is configurable so it can adapt to multiple hardware configurations. It even runs fine on a 4GB raspberry pi 4.
Key Benefits:
- Loads images ahead of time to take advantage of modern RAM amounts, so browsing is very fast
- Handles RAW files natively using rawler, and supports grouping with adjacent JPEGs
- Integrates with your shell. This allows you to create any command you can think of: copy the image, delete it, copy to clipboard, execute an image magic command and then refresh the image, etc
- Integrates with exiftool to extract metadata and rate using XMP sidecars
- Allows filtering imported images by metadata keys and XMP rating
- Keyboard centric
- Slow development while keeping up with the times. I will not add many new features or change the GUI, as for me it is quite complete. The only thing missing is tagging via XMP and adding more Callbacks for user commands as needs evolve. Dependencies are kept up to date and new image formats are added as they come. For example, jxl is already supported via libjxl.
As it is said in the README, contributions made using LLMs are prohibited, but I am open to regular contributions, bug reports, suggestions, etc.
https://codeberg.org/hatsnp/avis-imgv