ABU 3-aug-2007 - Pod - A new kind of toplevel window.

ABU 9-jan-2008 - Pod 1.2 released - updated links

ABU 21-apr-2012 - Pod 1.3 released - updated links

ABU 10-mar-2017 - Updated download links

ABU 25-jan-2018 - Pod 1.4.1 released


Pod is a new kind of toplevel widget. The Pod command can create new windows or it can also transform existing toplevel-windows.

Anatomy of a Pod widget


Here is a sample from a real application:


Another picture showing how to adapt an existing application : Kandinsky dance



  • 1.0 Start page: [L1 ]
  • 1.0 Download [L2 ]
  • 1.2 Start page: [L3 ]
  • 1.2 Download [L4 ]
  • 1.3 Download [L5 ]
  • 1.4.1 Download [L6 ]

How to Use the Package

Basically, in order to create a Pod-window you only need to add 2 lines:

   package require Pod
   Pod .myPod

or, you can transform an existing toplevel in a Pod-window

   Pod adapt .topWin

There are few other command you can use for customizing the Pod (read below).

   # change the look
  .myPod configure -background blue
   # disable the interactive resizability 
  .myPod configure -resizable false

For full details, read the "Pod Reference" [L7 ] within the doc directory.

Platform Compatibility

Pod is pure-Tcl code but it is based on some wm sub-commands unfortunately supported only on Windows and Mac. In particular, the following command are not well supported on Unix:

WJP I just tried it on my Linux 2.6.3 system with Tcl/Tk 8.4.14 and it seems to work.

RLH Neat!

AMG: What are the speckles visible in the lower-right corner of the screenshots? Are they resizing grab handles?

ABU: Correct ! You can enable/disable these grab handles

   $w configure -resizable false

Anyway, even if interactive-resizing is disabled, you can always resize the Pod by program:

   wm geometry $w 250x200

More about Platform Compatibility


  • 100% - Note that the minimal required version is 8.4.15 (it is the first supporting the "wm attributes $w -transparentcolor $color" command).


  • Version 1.2 is 99.9% identical to the Windows version. The only difference is an annoying flickering when large Pod-widgets are being resized.



  • Rounded corners are not drawn properly. Toplevel transparency is not supported.
  • About the wm overrideredirect ... command, there are some troubles ...similar to those found on Mac.

DKF: Actually, Unix/X11 defines what wm overrideredirect does (i.e. it's used to create an unmanaged toplevel widget).

MHo: On my WinXP, after minimizing and then maximizing again, the window is not in the foreground (Z-order changed). Trouble activating widgets are not uncommon on windows, I think - I always use focus -force. The Snit package is required.

LV Another use of the term pod comes from the perl community and stands for plain old doc, a simple code markup language designed to be used for embedding documentation within code. It is a bit more complex than this wiki's markup, but perhaps a bit simpler than doctools. The relevancy for this wiki is that I have seen, over the years, requests from developers for some kind of tcl documentation scheme that was as easy to use as pod.

And a derivation of the term pod is of course Apple's iPod. Some people may stop by this page looking for software that interacts with an iPod - this isn't that sort of software.

braindust - 2010-04-23 10:24:49

Thank You Aldo Buratti for the nice work! ver. 1.2 download link seems not to be available anymore :-( Has anybody a working link? Thanks!

AEC I just added a copy of pod to the half bakery. You may retrieve it from there.

ABU 21-apr 2012 - Link for Pod 1.2 restored

braindust Thank You! I really appreciate that.