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, try 'WEB SEARCH' links provided on this page.

Table of Contents :

(links to sections of this page, below)


End of Table of Contents. Start of contents.

NOTE1 :
You can use an option like 'Find in This Page ...' of your web browser to find keywords on this page, such as
'faq' or 'code' or 'script' or 'ousterhout' or 'widget' or 'example'.

NOTE2 :
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.

NOTE3 :
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 'wiki.tcl.tk', called the Tcler's Wiki, which has served as a common collection site for information and code donations for about a decade, will be around for many years.

Well, not quite. It changed from 'wiki.tcl.tk' to 'wiki.tcl-lang.org' around the end of 2018.

A description of Tcl-Tk :

Here is a practical, brief description of Tcl-Tk by Mark Stone, Dec 2000, from a linux.omnipotent.net 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.

Tcl-Tk MAIN SITES

< Go to Table of Contents, above. >

Main Tcl-Tk site links :

  • Tcl-Tk main site - at
    www.tcl.tk
    (Tcl Developer Xchange ; was Scriptics.com, 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.)

  • The Tcler's Wiki - at
    wiki.tcl-lang.org --- formerly wiki.tcl.tk
    (The 'Tcl Community' site. Hundreds of demo scripts.)

  • Active State site - at
    tcl.activestate.com/activetcl
    (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, ...)

  • Wellhouse Consultants Tcl-Tk Training materials - at
    www.wellho.net/resources/ globalindex.html#T
    (Probably the next-best site for quantity of Tcl-Tk code examples, after wiki.tcl-lang.org.)

  • Tcl-Tk info - at
    www.softpanorama.org/Scripting/ tcl.shtml
    (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 - at
    www.tcl.tk/cgi-bin/tct/tip/
    (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. >

Tcl-Tk CODE SAMPLES sites

(beyond "Hello, World")

< Go to Table of Contents, above. >

COLLECTIONS of VARIOUS types of Tcl-Tk scripts :

AUDIO Tcl-Tk scripts :

  • Tcl-Tk Sound Processing scripts - at
    www.speech.kth.se/snack/examples.html
    (these scripts use the Snack Sound Toolkit --- for file conversions and a simple recording example ; updated Jan 2006; Snack is by Kåre Sjölander ; Snack is included in the ActiveState Tcl distribution)

  • Tcl-Tk TkRadio wrapper script - at
    benpfaff.org/fmtools/
    (a simple interface to 'fm' command of 'fmtools')

DATABASE Tcl-Tk scripts :

DESKTOP-APP Tcl-Tk scripts :

ELECTRONICS/TELECOMMUNICATIONS 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
    linux.omnipotent.net/article.php ?article_id=11459
    (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
    techpubs.sgi.com/library/tpl/ cgi-bin/getdoc.cgi ?coll=linux& db=HOWTO& fname=/usr/ HOWTO/ Scripting-GUI-TclTk.html
    (an example Apache Tcl script by Salvador J. Peralta, Willamette University, Aug 2003)

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

PHYSICS/ENGINEERING/SCIENCE Tcl-Tk scripts :

PROGRAMMING-AID Tcl-Tk scripts :

SYSTEM-MANAGEMENT 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.tk' (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', 'kconfig.tk', 'LPRngTool', 'mywgettk', 'omplotdata', 'reports.tcl', 'sam2p.tk', 'startool', 'tclrobots', 'TkClassmail', 'tkXblast', 'trigNtuple_gui.tcl', 'xcmsetup', 'xcolor', 'xconfigure', 'xspin'

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

Tcl-Tk INSTRUCTION - Syntax info, Tips, Tutorials

< Go to Table of Contents, above. >
  • Wikipedia's Tcl info - at
    en.wikipedia.org/wiki/Tcl
    (See the section 'Syntax and fundamental semantics'. Also see the 'References' and 'External Links' sections.)

  • Tcl-Tk 8.5 man pages as HTML pages - at
    www.tcl.tk/man/tcl8.5/

  • Tcl-Tk man pages (7.5 thru 8.6) - at
    www.tcl.tk/man/
    (as HTML pages and as downloadable gzipped tar files)

  • Tcl-Tk Documentation links - at
    www.tcl.tk/doc/

  • Many Tcl-Tk code samples - at
    www.wellho.net/resources/globalindex.html#T

  • Tcl-Tk FAQs - at
    tcl.sourceforge.net/faqs/

  • Tcl/Tk Mini-HOWTO (2003) - at
    www.tldp.org/HOWTO/Scripting-GUI-TclTk/
    ('a cookbook-style tutorial introduction to Tcl and Tk, a scripting language and graphical toolkit' --- from The Linux Documentation Project, TLDP)

  • TclTutor - at
    www.msen.com/~clif/TclTutor.html
    ('TclTutor is a computer aided instruction package for learning the Tcl language' ; release 3.0b7 was in 2015 ; a downloadable package)

  • Saul Greenberg's Tk widget examples (Calgary U.) - at
    pages.cpsc.ucalgary.ca/~saul/ personal/ archives/ Tcl-Tk_stuff/ tcl_examples/

  • Tcl-Tk in Multimedia Applications - at
    wiki.tcl.tk/864
    (a set of paragraphs on how to use Tcl/Tk in Multimedia applications)

  • Tcl (not Tk) tutorial (2002) - at
    www.selectorweb.com/tcl_tk_tut.html
    (A small tutorial on Tcl. This tutorial doesn't contain all there is to know about Tcl, but it gives you a reasonable understanding of the language.)

  • Tcl (not Tk) tutorial (circa Tcl 8.3, 2002) - at
    homepages.paradise.net.nz/milhous/tcl.htm
    (This is the tutorial linked-to by the selectorweb.com site above)

  • Tcl-Tk GUI instruction (2001) - at
    othnielgraichen.tripod.com/tclintro.html
    ('Casual Scripting for the Non-Programmer' - A step-by-step guide to using Linux or Windows-and-Cygwin as platform for learning, practicing, experimenting.)

  • Frequently Made Mistakes in Tcl (circa 2001 to 2007-plus) - at
    phaseit.net/claird/comp.lang.tcl/fmm.html (an article on common syntax-mistakes that are made in using Tcl)

  • Tcl-Tk FAQ page (circa 2006) - at
    tcl.sourceforge.net/faqs/tcl/
    (A rather confusing starting point for Tcl programmers to locate a variety of tutorials, reference guides, FAQs, software and printed material.)

  • Tcl-Tk War (1994) - at
    www.vanderburg.org/Tcl/war/
    (An archive of notable replies to Richard Stallman's "Why you should not use Tcl" article he posted to Usenet. This provides a way of finding, quickly, many of the issues of using Tcl-Tk versus other programming languages.)

  • Go to Table of Contents, above.

Tcl-Tk FORUMS, FAQs, USER-GROUPS

< Go to Table of Contents, above. >

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

< Go to Table of Contents, above. >

Tcl-Tk BOOKS sites

< Go to Table of Contents, above. >

Tcl-Tk BLOGS

< Go to Table of Contents, above. >

Tcl-Tk 3D

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

  • Tcl3D main web site - at
    tcl3D.org
    (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 - at
    togl.sourceforge.net
    (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 - at
    www.libsdl.org
    (the libsdl library supports SDL joysticks ; is incorporated in Tcl3D)

  • Open Cascade - at
    www.opencascade.org
    (the Open Cascade library supports CAD / model development)

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

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

  • Mayang textures - at
    www.mayang.com/textures/
    (a source of free textures)

  • Woodgrain textures - at
    www.woodworking.org/WC/woodsampler.html
    (a source of free woodgrain textures)

  • Vehicle models - at
    www.ocnus.com/models/Vehicles/
    (a source of a 3D model of the Wright brothers' Kitty Hawk aircraft and other vehicles)

Tcl-Tk EXTENSIONS sites
(other than 3D extensions)

< Go to Table of Contents, above. >

Tk Widget Extensions :

Object-oriented-programming Extensions :

Other Extensions :

  • TkTable extension - at
    www.sourceforge.net/projects/tktable/

  • Scotty extension - at
    github.com/flightaware/scotty
    (Scotty supports network protocols such as UDP, DNS, RPC, SNMP)

TEA (Tcl Extensions Architecture) info :

Tcl-Tk Web Browser PLUGIN sites

< Go to Table of Contents, above. >

Tcl-Tk APPLICATIONS sites

< Go to Table of Contents, above. >

Tcl-Tk APPLICATION DEVELOPMENT AIDS sites

< Go to Table of Contents, above. >
  • SWIG site - at
    www.swig.org
    (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 - at
    www.orafaq.com/wiki/Tcl
    (a FAQ on accessing Oracle databases using Tcl)

  • Tcl Blend and Jacl - at
    www.tcl.tk/java/
    (to help blend Tcl with Java apps)

  • the tcllib 'comm' package - at
    docs.activestate.com/activetcl/ 8.4/ tcllib/ comm/ comm.html
    (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 - at
    tronche.com/gui/x/icccm/
    (ICCCM = Inter-Client Communications Conventions Manual)

  • 'critcl' info - at
    equi4.com/starkit/critcl.html
    ('critcl' helps embed C code into Tcl scripts)

  • MkTclApp - at
    www.hwaci.com/sw/mktclapp/
    (a tool for mixing C/C++ with Tcl/Tk to make a standalone executable)

  • 'Tclkit' info - at
    equi4.com/tclkit/index.html
    (a multi-platform wrapper for Tcl, Tk, and the MetaKit database)

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

  • Go to Table of Contents, above.

Tcl-Tk 'WEB DIRECTORY' pages

< Go to Table of Contents, above. >

It seems that 'web directories' are dying out. Google and Yahoo closed theirs down around 2014. Then around 2017, the directory from which the Google and Yahoo web-directories were spawned --- the DMOZ "Open Directory Project" closed down.

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.

About a year after the dmoz.org site closed down, it appears that a new web-directory site --- curlie.org --- arose from the ashes of 'dmoz.org'. It remains to be seen how long that web-directory lasts.

Following are a few links related to 'web directory' sites.

Bottom of this
Tcl-Tk LINKS 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 Top of Page, above. >

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


Origins 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 (www.linux-magazine.com). 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.


Page history:

Page was created 2006 Nov 30.

Page was changed 2015 May 09.
(Removed dead links to the old Google and Yahoo 'web-directories'. Removed some other dead links.)

Page was changed 2015 May 11.
(Removed more dead links. Added and updated some links.)

Page was changed 2017 Aug 29.
(Added a 'tkGooies' link and a Tcler's wiki link and 'rosettacode.org' link in the 'Code Samples' section.)

Page was changed 2018 Aug 12.
(Added css and javascript to try to handle text-size for smartphones, esp. in portrait orientation. Also, removed the old DMOZ 'web-directory' link.)

Page was changed 2019 Mar 15.
(Changed several references from 'wiki.tcl.tk' to 'wiki.tcl-lang.org'.)

Page was changed 2021 Feb 08.
(Specified the width of images in proportion to the width of the browser window.)