PIV - Perl Image Viewer
Description
PIV is a no-frills image viewer built using GTK2-Perl. It was designed as a replacement for qiv, after a great deal of personal frustration with qiv. It also happens to be the first program of any size that I have written in Perl - so it is a bit of a learning experiment.
Features
- Fullscreen and windowed mode
- Slideshow mode with variable delay
- Zoom and mouse navigation
- Randomized and sorted modes
- Handles all image formats supported by GdkPixbuf
Development Status
Still a work in progress. PIV is lacking several features and a good deal of polish. Although I am happy with where it is, there are a lot more details that need work and I am sporadically attempting to deal with them. As with all my projects, feature suggestions, patches, and all other contributions are welcome. If you are interested in contributing, just let me know what you are working on to prevent duplication.
License
Supported Systems
Should work on any system with Perl and the GTK2-Perl library.
Dependencies
- Perl
- GTK2-Perl 1.140 or higher
- Tie::Cache module
Installing
- Download and install Tie::Cache from CPAN (
perl -MCPAN -e 'install Tie::Cache'
orapt-get install libtie-cache-perl
on Debian or Debian-based distros) - Download it
- Mark it executable (
chmod +x piv
) - Run it.
Documentation
PIV has user documentation in the form of
POD,
which can be converted into a manual page using
pod2man. To view the
manual page simply run pod2man piv | man -l -
(or, if your
viewer does not like reading from stdin, pod2man bin/piv > piv.1 ; man
piv.1
).
Configuration
Configuration file support is on the TODO list, but none is currently supported. Key mappings can be changed by editing the hash at the top of piv (which is pretty intuitive even to those new to Perl). All other options can be changed at runtime using the control keys described in the manual page.
Known Bugs
- The slide delay status message does not fade out at the correct time and instead fades out on the next redraw.
Planned Features
- Configuration file support
- Support for running commands from inside the viewer, like qiv
- Better status displays (visually more appealing and more functional)
- More sorting and randomization options