PyGTK ===== Author: James Henstridge This archive contains modules that allow you to use gtk in Python programs. At present, it is a fairly complete set of bindings. Despite the low version number, this piece of software is quite useful, and is usable to write moderately complex programs. (see the examples directory for some examples of the simpler programs you could write). If you have any enhancements or bug reports, please file them in bugzilla at: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-python&component=pygtk If you have a patch, file the bug first and then use the "create new attachment" link on the bug's info page. My preferred format for patches is unified diff format (ie. diff -u). Please don't send me diffs which don't have any context, as these make it very difficult to see what the patch does. New Versions ============ New versions of this package can be found at: ftp://ftp.gtk.org/pub/gtk/python/ http://ftp.gnome.org/pub/GNOME/sources/pygtk/ Mailing list ============ There is a mailing list for pygtk. You can subscribe to it through the web interface: http://www.daa.com.au/mailman/listinfo/pygtk Copyright Information ===================== This software is covered by the GNU Library General Public Licence (version 2, or if you choose, a later version). Basically just don't say you wrote bits you didn't. Compilation =========== This archive contains a single C module called gtkmodule. It contains an almost direct mapping of the functions in GTK including GTK signal handling, and the gtk_object_new/gtk_object_set commands. This version REQUIRES gtk+-1.2.6 or later, as it includes support for features not found in previous versions, and there are incompatibilities between versions. Also if you want the GdkImlib extension, you must have Imlib version 1.8 or greater. I recommend getting the latest stable versions of these libraries before compiling pygtk, as it will make your system more stable. Parts of this module are automatically generated from the .defs file in the generate directory, by the two python scripts in that directory. To compile gtkmodule, first run "./configure" from the base directory of the distribution. It requires that you have python in the path, and python has been installed properly. If python is not in the path, you could try running "PYTHON=/subdir/python ./configure". This should generate the Makefile from the file Makefile.in. Now you should be able to run "make" to compile the module. Now you should install the files. I have provided an install target to the makefile, so you should be able to just type "make install". It installs to the site-packages directory (using prefix and exec_prefix where appropriate). It also compiles .pyc and .pyo files from the python code. If you have trouble with building or installing any of the code, please tell me -- it is the only way I can fix the problem. If you do mail me, please put something sensible in the subject line so I can tell what it is about. Upgrading ========= The API has changed a fair bit compared to the 0.6.x releases of pygtk in response to feedback from the mailing list. The main changes are: - no low level procedural interface. The extension now implements the object oriented API directly, rather than layering it on top of a procedural API. - class names have been shortened. Eg. instead of gtk.GtkWindow, we now have gtk.Window. - GDK classes and functions have been moved to the "gtk.gdk" module. - the GTK and GDK modules have been removed, with their constants being moved into the "gtk" and "gtk.gdk" modules. Tests ===== After having compiled and installed pygtk, you may want to test them. There are a number of example programs available in the examples/ subdirectory. Contacting the Author ===================== You can contact me at the email address . I try to answer my email quickly, but occasionally there will be a bit of a delay. If you have an idea for a way to extend GTK, have found a problem with the code, or would like to contribute some code, please feel free to contact me.