Updated 2012-04-21 22:26:08 by ABU

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

Introduction edit

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


Download edit

  • 1.0 Start page: [1]
  • 1.0 Download [2]
  • 1.2 Start page: [3]
  • 1.2 Download [4]
  • 1.3 Download [5]

How to Use the Package edit

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" [6] within the doc directory.

Platform Compatibility edit

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 edit

Windows

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

Mac

  • 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.

Unix

  • 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.