George Peter Staplin: Oct 29, 2005 - Megapkg is my largest project so far. It contains a lot of C and Tcl code that is evolving.
The current list of (useful) Tcl/Tk extensions is:
- pwm.so (used by Whim window manager)
- tgext.so (used by Whim window manager for some applets. It's also available eventually as a C API via tg.so.)
- structure.so (see megapkg structure extension. This is used by some widgets, and IIRC a tgext.so demo.)
- gui.so (general drawing functions. It's used less now that I have tgext.so)
- megaimage.so/megaimage.dll a fast image manipulation extension.
- megaimagetk.so/megaimagetk.dll a fast megaimage <-> photo tool, and megaimage.frame widget for fast image display (Windows port is making progress).
- jpegext2.so/jpegext2.dll read/write works great. Just requires Tcl and megaimage.
- pngext2.so read/write works great. Just requires Tcl and megaimage.
- sys.so (used for applet IPC by Whim window manager)
Megapkg has a radical source tree layout (by some standards). All *.c files are generated with Fed Builder. There is only one file to compile ${Ext}_Init.c per extension. The ${Ext}_Init.c file for the particular extension #includes a header file. The header file defines structures, and #includes many C source files (usually). 2 Tcl scripts are used to generate prototypes, and includes automatically.
The latest tarballs are here: http://www.xmission.com/~georgeps/implementation/software/megapkg
Category Package