TIP #48 [L1 ] provides an API to support alternative styles for Tk widgets.
This TIP was implemented in March 2002 (which means that the functionality is in Tk 8.4.?), but there is very little other than the TIP itself to document how this might be used and what further work is required.
JE For an example of how the style engine can be used, see the Tile widget -- now hosted on sourceforge under the tktable project. Actually this uses a (now quite severely) modified version of the TIP 48 style engine; I've made some changes to the API based on experience using it. Changes to be detailed in a forthcoming TIP.
To get the source
cvs -d:pserver:[email protected]:/cvsroot/tktable co tile
PT: Some screenshots of current tile project results are available at http://tktable.sourceforge.net/tile/ Project announcements are at http://tktable.sourceforge.net/tile/news.html
Note that this package supports some additional widgets -- notably a notebook and a progress bar.
It would be awesome if this could also be used as the basis for a GTK/QT (Gnome/KDE) port of Tk and to improve Aqua port. Theme engine support API for GTK+ can be found at [L2 ]
See also Ttk, which is a new set of widgets designed to work alongside Tk to provided better themed support.