KuickShow

    From KDE UserBase Wiki
    Revision as of 10:00, 16 July 2012 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
    A fast and convenient image viewer

    What is KuickShow?

    KuickShow displays images using all the available space, without being wasted in bars or menus. It also has a smart automatic zooming that scales images according to its size. You can use the integrated file browser to choose images, or navigate through a folder with the mousewheel or the keyboard. It also has fullscreen view and slideshow, and supports a wide range of image formats.

    Features

    • Fast loading of big images.
    • Powerful keyboard and mouse navigation.
    • Easy zooming, mirroring, rotation, and adjustment of brightness, contrast and gamma.
    • Full screen and slideshow views.
    • Support for jpg, gif, tiff, png, bmp, psd, xpm, xbm, pbm and eim files.

    Availability

    Source release packages of KuickShow for KDE SC 4.x can be downloaded from

    http://hosti.leonde.de/~gis/kuickshow-0.9.1.tar.bz2.

    The source resides in the extragear repository in the "graphics/" sub directory, see here.


    The KDE 3 version of KuickShow is available in the KDE Graphics module, so it should be available in all distributions that package KDE 3.5 or earlier.


    Building to run with KDE SC 4.x

    Before building KuickShow, you must make sure to have Imlib1 as well as its development headers installed.

    If your distribution doesn't provide Imlib1 packages, download from here, unpack it to a temporary directory, enter the directory "imlib-1.9.15" and run

    ./configure
    make
    make install

    This will build and install Imlib to /usr/local. Then grab the latest version of KuickShow, unpack it to a temporary directory, enter the directory "kuickshow-0.9.1" and run

    cmake -DCMAKE_INSTALL_PREFIX=/usr
    make
    make install

    Warning

    Imlib code needs patching to build with libpng >= 1.5. Below is the reference patch applied to Mandriva src.rpm code:
    diff -Nuar imlib-1.9.15-old/Imlib/load.c imlib-1.9.15/Imlib/load.c
    --- imlib-1.9.15-old/Imlib/load.c	2012-07-16 12:50:03.000000000 +0300
    +++ imlib-1.9.15/Imlib/load.c	2012-07-16 12:20:58.000000000 +0300
    @@ -197,12 +197,12 @@
           png_destroy_read_struct(&png_ptr, NULL, NULL);
           return NULL;
         }
    -  if (setjmp(png_ptr->jmpbuf))
    +  if (setjmp(png_jmpbuf((png_ptr))))
         {
           png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
           return NULL;
         }
    -  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
    +  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
         {
           png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
           return NULL;
    diff -Nuar imlib-1.9.15-old/Imlib/save.c imlib-1.9.15/Imlib/save.c
    --- imlib-1.9.15-old/Imlib/save.c	2004-09-21 03:22:59.000000000 +0300
    +++ imlib-1.9.15/Imlib/save.c	2012-07-16 12:17:47.000000000 +0300
    @@ -342,7 +342,7 @@
     	      png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
     	      return 0;
     	    }
    -	  if (setjmp(png_ptr->jmpbuf))
    +	  if (setjmp(png_jmpbuf((png_ptr))))
     	    {
     	      fclose(f);
     	      png_destroy_write_struct(&png_ptr, (png_infopp) NULL);
    diff -Nuar imlib-1.9.15-old/Imlib/utils.c imlib-1.9.15/Imlib/utils.c
    --- imlib-1.9.15-old/Imlib/utils.c	2012-07-16 12:50:03.000000000 +0300
    +++ imlib-1.9.15/Imlib/utils.c	2012-07-16 12:15:54.000000000 +0300
    @@ -1982,13 +1982,13 @@
           return NULL;
         }
       
    -  if (setjmp(png_ptr->jmpbuf))
    +  if (setjmp(png_jmpbuf((png_ptr))))
         {
           png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
           return NULL;
         }
       
    -  if (info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
    +  if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA)
         {
           png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
           return NULL;
    

    You may choose different directory as prefix of course (e.g. choose the directory where your KDE4 is installed).

    That's it, KuickShow is now installed and ready to display your images!