As I’ve yet again grown tired of gfxindex I’ve decided to release it in it’s current condition. It is largely rewritten, much more modular now and it’s reusing more code now. It should work mostly nice. It lacks documentation and only reads JPEG and PNG. However some major new features have been put in:

  • Dependency of X removed
  • It creates thumbnails much faster now due to using the built in scaling of libjpeg. This prescales the thumbnail by skipping data before decoding. Results are still almost as good as reading in the whole image and then scale it
  • Thumbnails are scaled using weighted scaling giving a smooth look to them
  • The index can be much more customized
  • The index caching is gone, it’s however still rather fast to read in the images’ properties
  • Availability for Windows



The GLib dependency has been removed. The only libraries it requires to build now is jpeglib (for obvious reasons), popt (to parse command line arguments).

I have now managed to cross-compile it for Windows (using the MinGW branch of GCC). I had to tweak popt to get it to build. If it gives me trouble I will remove the popt dependency as well.

To the right here you can see a thumbnail that has been generated with the new gfxindex.

GFXindex status

I’ve started to develop GFXindex again. This is what has been done so far:

  • I’ve got my graphics library working and thus the X dependance is gone.
  • Only JPEG loading and saving is implemented

And here is what users want to see in future versions:

  • EXIF support
  • Better PHP version
  • Ability to have captions/comments to images and albums
  • Links to subdirectories
  • Ability to strip of extensions of the filenames under the thumbnails
  • Generate different resolutions (like of the original picture
  • Ability to replace Prev|Next with the image name

And finally some of my idea of what is left

  • Support for more fileformat
  • Better scaling (weighted) to give a smoother look to the thumbnails
  • More effects on the thumbs
  • Some alternative layouts
  • To have the original photos (eg. 2048×1536) in one directory and have the scaled down (eg. 1024×768) in another directory. This would allow me to keep my original super high quality pictures in one dir and the lower ones in my public_html
  • Add logo/text on full size pictures. Like copyright etc.

So you see that there is lots to do and I hope I won’t loose interest as fast this time.

Btw. I found the embryo to gfxindex while browsing through my Amiga the other day. Quite fun. It’s a shell script and a C source. I will include it as nostalgia in the next version. Speaking of which, the new version of gfxindex, dubbed 1.3.0, isn’t quite ready yet but as soon at it is it’ll show up here. But be warned, compared to the current version it will be a bit crippled.

Status report

Giving the small amount of free time (to make free software) I only manage to maintain one program. So those of you waiting for updates on SleezeBall, Practical PPP and rmRemote may not get any for a time. I’m currently working on making GFXIndex independent of stuff that depends on X (imlib, gdk that is). I tried to use gdk-pixbuf but that wanted an X display too so I made the decision to make my own library for graphics rendering. So far I’ve implemented JPEG loading and saving, some basic preparation for plug-ins and some basic drawing. All is made in 24-bit off screen in memory. I couldn’t figure out how to use the scaling functions from gdk-pixbuf so I’ve made a quick “nearest pixel” rescaler and put one of my friends to make a good rescaling routine.