Tcl-Tk Links

(Tcl-Tk is a scripting language that can be used for rapid development of
GUI systems on Linux, Mac, and Macroshaft-Windohs operating systems)

Home page > This Tcl-Tk LINKS page
! NOTE ! Like most 'LINKS' pages on the web, there will, no doubt, be
more and more dead links on this page over time. It may be years at a time
before I return to this page to remove dead links and replace some links
with better links. In the meantime, 'web search links' are provided on this page.

Table of Contents :   (links to sections of this page, below)

End of Table of Contents. Start of contents.

You can use the 'Find' option of your browser to find keywords on this page, such as 'faq' or 'code' or 'script' or 'ousterhout' or 'widget' or 'example'.

If you want to look for samples of Tcl-Tk code on the Internet, you can use a web search engine and use keywords like "/usr/local/bin/wish" or "/usr/bin/wish" --- or "bin/wish" or, equivalently, "bin wish" --- or simply 'wish' --- in conjunction with other keywords you are looking for, such as widget names or command names --- like 'radiobutton' or 'canvas' or 'frame' or 'bind' or 'proc'.

Most Tk scripts call the 'wish' (window shell) interpreter. Tk scripts written for Linux (or Unix) often use '/usr/local/bin/wish' or '/usr/bin/wish' (or some variant thereof) at the top of the script.

The web sites of Tcl-Tk information moved around quite a lot throughout the 1990's. So do not be surprised if some of these links --- even those established after 2010 --- go dead or move to another host.

Hopefully the musical-web-chairs for Tcl-Tk are settling down, but, judging by past history, do not count on it. Hopefully the collaborative site '', which serves as a common collection site for links, will be around for many years.

A description of Tcl-Tk :

Here is a practical, brief description of Tcl-Tk by Mark Stone, Dec 2000, from a web page --- where he describes a network connection script that he wrote.

Start quote:

    GTK and Qt are not really options for me. My knowledge of C and C++ is limited, and I aim to keep it that way. Perl is serviceable enough, but lacks natural integration with a graphical environment. And although I hear good things about Python, I'm afraid all those whitespace rules would drive me crazy.

    So forget all these new-fangled languages and toolkits. The application I've written could have been written in 1994 using the now venerable but perfectly serviceable Tcl/Tk. Tk may not be the trendiest graphical toolkit around, but it is sturdy, simple, and gets the job done.


    The fact that Tcl is [a] scripting language has made it very popular with those working on network managment tools.

    I have a fondness for Tk, however, mainly for its simplicity. Useful utilities can be written quickly and in very few lines of code.

    Tcl is a command-line scripting language that rivals Perl in its handling of regular expressions and the ease with which one can manage lists and arrays. Tcl is more procedural than object-oriented, though there are extensions like incr-Tcl that bring object-orientation to the language. Tk is an event-driven language that manages graphical objects known as widgets, and calls Tcl procedures on the back end to handle all the actual processing.

    The usual invocation for a Tk application is to call Wish, the Tk interpreter. Wish creates widgets as requested by the script, and then enters an event loop. Typically the event loop endures until the last widget has been removed. User [mouse and keyboard] actions are trapped by the event loop, and typically used as triggers to call Tcl procedures that carry out user-requested actions.

    The process for building a Tk application goes something like this:

    • Decide what actions need to be invoked on the backend
    • Decide what graphical front end is needed to invoke those actions
    • Build the graphical layout
    • Code the backend actions

End of quote.


< Go to Table of Contents, above. >
< Go to Home page. >

Main Tcl-Tk site links :

  • Tcl-Tk main site -
    (Tcl Developer Xchange ; was, the firm founded by Tcl creator
    and original author of the Tcl and Tk interpreters, Professor John Ousterhout.
    This site provides access to documentation, news, conference annoucements,
    links, tutorials, the community, and latest interpreter releases via downloads.)

  • Active State site - (same as
    (a commercial software site that is home to many Tcl-Tk resources, including
    'ActiveTcl' --- ActiveState's distribution of the Tcl-Tk interpreters,
    available for Linux, Mac, MS Windows, Solaris, HP-UX, ...)

  • The Tcler's Wiki - (The 'Tcl Community' site. Hundreds of demo scripts.)

  • Wellhouse Consultants Tcl-Tk Training materials - (Probably the next-best site for quantity of Tcl-Tk code examples, after

  • Tcl-Tk info -
    (a page of Tcl-Tk info, history, and links ; maintained 1996-2014 (+?) by
    Dr. Nikolai Bezroukov ; Softpanorama is an "Open Source Software Educational Society")

  • Tcl-Tk TIPs -
    (TIP = Tcl Improvement Process ; browse the completed and open TIPs)

Some Tcl-Tk interpreter (tclsh & wish) and other SOURCE/PACKAGE links :
(also see the FTP section below)

Tcl-Tk wear/history links :

Tcl-Tk FTP sites

< Go to Table of Contents, above. >
< Go to Home page. >

Tcl-Tk CODE SAMPLES sites (beyond "Hello, World")

< Go to Table of Contents, above. >
< Go to Home page. >

COLLECTIONS of VARIOUS types of Tcl-Tk scripts :

AUDIO Tcl-Tk scripts :

DATABASE Tcl-Tk scripts :

DESKTOP-APP Tcl-Tk scripts :


GAME Tcl-Tk scripts :

IMAGE Tcl-Tk scripts :

MOVE widget/window Tcl-Tk scripts :

MATH-EDUCATION Tcl-Tk scripts :

NETWORK/WEB Tcl-Tk scripts :

  • Tcl-Tk Network Connection script - at
    (a sample network connection GUI in Tk --- for DSL, dialup, etc. ;
    by Mark Stone, Dec 2000 ; has some good comments on advantages of Tcl-Tk
    over other languages, compiled and interpreted.)

  • Tcl-Tk Apache Tcl script - at
    (an example Apache Tcl script by Salvador J. Peralta, Willamette University, Aug 2003)

  • Tcl-Tk network 'TkWhiteboard' script - at
    (written in 2002 ; page is in French ; can be translated, say by finding the
    page with Google and using 'Translate this page')


PROGRAMMING-AID Tcl-Tk scripts :


Some specific Tcl-Tk non-trivial scripts
(that existed back around 2006)
that you can look for with a web searcher
(see 'WEB SEARCH' links below) :

    'tkamp', 'tkdial', 'tkdraw', 'tklogger', 'tkreq', 'xagm', 'xfpixmap',
    '' (PBS prize selector), 'ixset' (interface to change X server settings),
    'ffe' (a plotting interface, German), 'tkepsfrot' (rotates an eps Postscript file by an angle
    selectable from a tk-based interface), 'livebc' (live video script with barcode reading),
    'tkpasswd' (to change passwords using Expectk)

And if that is not enough to find some handy code-snippets,
here are some more (very large-scale) Tcl-Tk scripts to look for.

    'addressbook', 'ifrCalibration', '', 'LPRngTool',
    'mywgettk', 'omplotdata', 'reports.tcl',
    '', 'startool', 'tclrobots', 'TkClassmail',
    'tkXblast', 'trigNtuple_gui.tcl', 'xcmsetup', 'xcolor', 'xconfigure', 'xspin'

Some sample Tcl-Tk code searches for specific 'app' names:

  • Go to Table of Contents, above.
  • Tcl-Tk INSTRUCTION - Syntax info, Tips, Tutorials

    < Go to Table of Contents, above. >
    < Go to Home page. >


    < Go to Table of Contents, above. >
    < Go to Home page. >

    Tcl-Tk CODE-CONTRIBUTORS (and interpreter developers and advocates) sites

    < Go to Table of Contents, above. >
    < Go to Home page. >

    Tcl-Tk BOOKS sites

    < Go to Table of Contents, above. >
    < Go to Home page. >

    Tcl-Tk BLOGS

    < Go to Table of Contents, above. >
    < Go to Home page. >

    Tcl-Tk 3D

    < Go to Table of Contents, above. >
    < Go to Home page. >
    • The '3Dtools' available in the FE 'tkGooies' system
      (Including a 3D model viewer done in plain Tcl-Tk --- not using OpenGL.)

    • Tcl3D main web site -
      (Tcl3D is an Open GL extension of Tcl-Tk ; by Paul Obermeier ;
      Tcl3D includes the Nate Robins GLM library which can be used to import
      .obj Wavefront Object format 3D model files)

    • Togl main web site -
      (Togl is a predecessor of Tcl3D ; by Brian Paul ; required use of C to
      write functions needed for creating or lighting models)

    Some Open GL sites :

    Other Tcl-and-3D-programming-related sites :

    • SDL joystick support web site -
      (the libsdl library supports SDL joysticks ; is incorporated in Tcl3D)

    • Open Cascade -
      (the Open Cascade library supports CAD / model development)

    • Blender -
      (Blender is an open-source 3D modelling program ; it can be used to convert
      VRML files to .obj Wavefront Object format files)

    • Ayam -
      (Ayam is another 3D modelling program ; it can be used to develop
      surface models and supports modifying and tailoring of textures)

    • Mayang textures -
      (a source of free textures)

    • Woodgrain textures -
      (a source of free woodgrain textures)

    • Vehicle models -
      (a source of a 3D model of the Wright brothers' Kitty Hawk aircraft and other vehicles)

  • WEB SEARCH on keywords 'tcl tk 3d'

  • Go to Table of Contents, above.
  • Tcl-Tk EXTENSIONS sites (other than 3D extensions)

    < Go to Table of Contents, above. >
    < Go to Home page. >

    Tk Widget Extensions :

    Object-oriented-programming Extensions :

    Other Extensions :

    TEA (Tcl Extensions Architecture) info :

  • WEB SEARCH on keywords 'tcl tk extension'

  • Go to Table of Contents, above.
  • Tcl-Tk Web Browser PLUGIN sites

    < Go to Table of Contents, above. >
    < Go to Home page. >

    Tcl-Tk APPLICATIONS sites

    < Go to Table of Contents, above. >
    < Go to Home page. >


    < Go to Table of Contents, above. >
    < Go to Home page. >
    • SWIG site -
      (SWIG = Simple Wrapper Interface Generator ; a tool that helps
      a developer to wrap C/C++ functions for use with scripting
      languages. Currently supports Python, Perl, and Tcl.)

    • OraTCL FAQ -
      (a FAQ on accessing Oracle databases using Tcl)

    • Tcl Blend and Jacl -
      (to help blend Tcl with Java apps)

    • the tcllib 'comm' package -
      (an inter-interpreter remote execution facility much like Tk's 'send', except
      that it uses sockets rather than the X server for the communication path)

    • ICCCM info -
      (ICCCM = Inter-Client Communications Conventions Manual)

    • 'critcl' info -
      ('critcl' helps embed C code into Tcl scripts)

    • MkTclApp -
      (a tool for mixing C/C++ with Tcl/Tk to make a standalone executable)

    • 'Tclkit' info -
      (a multi-platform wrapper for Tcl, Tk, and the MetaKit database)

    • FreeWrap -
      (to build stand alone TCL/TK applications --- FreeWrap turns TCL-TK scripts
      into single-file binary executable programs)

    • Go to Table of Contents, above.

    "WEB DIRECTORIES" on Tcl-Tk   (incl. DMOZ)

    < Go to Table of Contents, above. >
    < Go to Home page. >
    • DMOZ "Open Directory Project" Directory on Tcl-Tk -
      (see the links at the bottom of that page --- or click on categories such as
      "Extensions" or "Wrappers" --- or see "related categories" such as
      "Computers > Programming > Languages > Comparison and Review" or
      "Computers > Programming > Languages > Open Source" --- or see Google GROUPS
      at the bottom of the page --- and other search engines at the bottom of the page)

    • Best of the Web (BOTW) on Tcl-Tk -
      (see the links in the middle of that page --- or click on categories such as
      "Comparison and Review" or "Extensions" or "Internet" or "Software" or "Wrappers")

    • Wikipedia List of Web Directories

    • It seems that 'web directories' are dying out. Google and Yahoo closed
      theirs down around 2014. It seems that it is just not feasible for
      a team of people to keep up with all the sites that are going dead and
      the new sites that appear. Even the DMOZ site, above, seems to be outdated
      in some parts of the site.

      So, rather than depending on the '' links, here are some WEB SEARCHes
      to get you started with 'tcl/tk' inquiries --- using
      keywords 'tcl tclsh', and
      keywords 'tk wish', and
      keywords 'wish button frame bind proc'.

    • Another approach to take:
      Go to the Wikipedia 'Tcl' page and start following links from that page.

    • Go to Table of Contents, above.

    Bottom of Tcl-Tk Sites page.

    To return to a previously visited web page location, click on
    the Back button of your web browser, a sufficient number of times.
    OR, use the History-list option of your web browser.
    OR ...

    < Go to Table of Contents, above. >
    < Go to Home page. >

    Or you can scroll up to the top of this page.


    The Tcl-Tk 3D section was started using references from an article by Carsten Zerbst
    on Tcl3D --- in the November 2006 issue of Linux Magazine (
    Zerbst has a page at the Tclers wiki.

    The other Tcl-Tk sections were started using references from the book
    'Practical Programming in Tcl and Tk' (Fourth Edition) --- by Brent Welch,
    Ken Jones, and Jeffrey Hobbs.

    Maintenance history:

    Page created 2006 Nov 30.
    Page changed 2015 May 09. (Removed dead links to the old Google and
                Yahoo 'web-directories'. Removed some dead links.)
    Page changed 2015 May 11. (Removed more dead links. Added and updated
                some links.)
    Page changed 2017 Aug 29. (Added a 'tkGooies' link and a Tcler's wiki link
                and link in the 'Code Samples' section.)