So, how did you write GnoCHM and PyCHM?

PyCHM is written using Python and the CHMLIB written by Jed Wing.

I used SWIG to generate the most of the Python bindings for me, it is a fantastic tool.

The python code used to parse the contents of the CHM files is heavily based on the code written by Razvan Cojocaru for xCHM, a wxwindows based CHM viewer.

My code also has a lot of influence from chmdeco, by Pabs. He also has a very nice and complete CHM Specification on this web site.

GnoCHM was written using the excellent PyGTK libraries, by James Henstridge and others. Many of the questions I had about the Gnome and GTK bindings were already answered in the PyGTK FAQ. Most of the development documentation I needed to write a Gnome application was in the Gnome website.

The icons and pixmaps used in the program and on this website were designed using the GIMP and Blender.

And last, but not least, I would like to thank the people at #pygtk (, who were very helpful in answering questions and testing a few things for me.