TIP #248 Version 1.1: Distribute Tile with Tk

This is not necessarily the current version of this TIP.


TIP:248
Title:Distribute Tile with Tk
Version:$Revision: 1.1 $
Author:Donal K. Fellows <dkf at users dot sf dot net>
State:Draft
Type:Project
Tcl-Version:8.5
Vote:Pending
Created:Wednesday, 08 June 2005

Abstract

This TIP proposes that all source distributions of Tk from 8.5 onwards should include a distribution of Tile, and recommends that all binary distributions follow suit.

Rationale

It is well known that Tk has been lacking in graphical glitz for a few years; GUI standards have moved on whereas Tk has remained largely static. The core of Tk is still great (e.g. its resizing behaviour is second to none) but fancy shaded buttons are what modern users expect. But due to the sterling work of Joe English and others, the Tile package is available which offers a new set of widgets for use on top of the Tk foundation, and which provide that extra graphical polish by leveraging underlying graphics layers (e.g. the Luna theming engine on Windows XP, the Aqua theming on MacOSX, etc.) This is exactly what we need, so we should ensure that every user of Tk can take advantage of these new capabilities (universality is important) through updating our distribution strategy.

This TIP does not propose managing Tile under the same rules as Tk, as it's still a software project in considerably more flux than the Tcl/Tk core. (Nor does this TIP preclude such action being taken in the future.)

Note that although the Tile widgets are mostly drop-in replacements for the Tk core widgets, they are not perfect stand-ins due to the differences in the way state is managed. This means that this TIP categorically does not propose the replacement of Tk's widgets with Tile's.

Proposed Changes

  1. Distributions of the Tk source tree made by the TCT are to include a source distribution of the Tile package in the subdirectory tile of the main distribution directory (though we might want to also provide a lean-and-mean distribution as well.) This directory naming policy has been chosen by analogy with the libtommath distribution in Tcl 8.5.

  2. To facilitate mixing of widgets between Tk and Tile, all Tk's widget creation commands are to be additionally declared in the ::tk namespace and [namespace export]ed from there.

Recommendations for Distributors of Binary Versions of Tk