Find a file
Göktürk Yüksek 07f61719e7
Fix the linking order of tests in the Makefile for --as-needed
When '--as-needed' linker flag is added to LDFLAGS, linker strips out
the symbols from the libraries needed for the tests due to the order
in which the libraries appear on the command line. List the source
files before the libraries to fix the linking issue.

For more information, see:
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed#Importance_of_linking_order

Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
2016-05-25 08:31:55 -04:00
doc Add -x switch to exit imv when reaching end of file list. 2016-04-02 12:12:12 +02:00
files Change IMV to lowercase imv 2015-11-12 13:24:48 +01:00
src Fix build of imv on GNU libc 2016-05-13 06:30:52 +02:00
test Make imv_navigator_add() return an integer value 2016-05-01 14:40:54 +02:00
.gitignore Add testing infrastructure 2015-12-08 16:39:31 +00:00
.travis.yml Remove "-std=gnu11" from .travis.yml 2016-05-13 06:30:51 +02:00
AUTHORS Add AUTHORS file 2015-12-28 16:17:21 +00:00
CHANGELOG Release v2.1.2 2016-05-15 23:36:46 +01:00
CONTRIBUTING Add a CONTRIBUTING file 2015-11-13 20:28:04 +00:00
LICENSE Relicence imv to GPLv2+ 2015-11-12 17:49:23 +00:00
Makefile Fix the linking order of tests in the Makefile for --as-needed 2016-05-25 08:31:55 -04:00
README.md Add -x switch to exit imv when reaching end of file list. 2016-04-02 12:12:12 +02:00

Build Status imv - X11/Wayland Image Viewer

imv is a command line image viewer intended for use with tiling window managers.

Features

  • Wayland Support
  • Support for over 30 different image file formats including:
    • Photoshop PSD files
    • Animated GIFS
    • Various RAW formats

Usage

Opening images

imv image1.png another_image.jpeg yet_another.TIFF

Opening images via stdin

find . "*.png" | imv

Open an image fullscreen

imv -f image.jpeg

Viewing images in a random order

find . "*.png" | shuf | imv

Viewing images from stdin

curl http://somesi.te/img.png | imv -

Image picker

imv can be used to select images in a pipeline by using the p hotkey to print the current image's path to stdout. The -l flag can also be used to tell imv to list the remaining paths on exit for a "open set of images, close unwanted ones with x, then quit imv to pass the remaining images through" workflow.

Picking a wallpaper

custom-set-wallpaper-script "$(find ./wallpaper -type f -name '*.jpg' | imv | tail -n1)"

Deleting unwanted images

find -type f -name '*.jpg' | imv | xargs rm -v

Choosing pictures to email

find ./holiday_pics -type f -name '*.jpg' | imv | xargs cp -t ~/outbox

Viewing images from the web

curl -Osw '%{filename_effective}\n' 'http://www.example.com/[1-10].jpg' | imv

Slideshow

imv can be used to display slideshows. You can set the number of seconds to show each image for with the -t option at start up, or you can configure it at runtime using the t and T hotkeys to increase and decrease the image display time, respectively.

To cycle through a folder of pictures, showing each one for 10 seconds:

imv -t 10 ~/Pictures/London

The -x switch can be used to exit imv after the last picture instead of cycling through the list.

Installation

imv depends on pthreads, FontConfig, SDL2, SDL_TTF, and FreeImage.

$ make
# make install

Macro PREFIX controls installation prefix. If more control over installation paths is required, macros BINPREFIX, MANPREFIX and DATAPREFIX are available. Eg. to install imv to home directory, run:

$ BINPREFIX=~/bin PREFIX=~/.local make install

In case something goes wrong during installation process you may use verbose mode to inspect commands issued by make:

$ V=1 make

Tests

imv has a work-in-progress test suite. The test suite requires cmocka.

$ make check

Contact

There's an official irc channel for imv discussion and development on Freenode: #imv.

License

imv is published under the GPLv2 license.