Tcl HomeTcl Home hosted by

Google SiteSearch

A Starkit is a single file packaging of Tcl scripts, platform specific compiled code and application data; designed to facilitate simple deployment of cross platform applications. The name comes from STandAlone Runtime.

  • Starkits are interpreted using Tclkit (a single file Tcl/Tk interpreter) or ActiveTcl (the "batteries included" Tcl/Tk distribution from ActiveState). You will need a version of Tclkit or ActiveTcl for each platform that you want to run a Starkit on. The Tclkit download area contains versions for Linux, Windows, MacOSX and over twenty-five other platforms - from PDAs through mainframes. ActiveTcl can be obtained from the ActiveState products page

  • Alternatively, combine your Starkit with Tclkit to produce a Starpack - a single (platform specific) executable file, ideal for easy deployment. Starpacks are useful where you want a single application file that doesn't need to be unpacked or installed. Starpacks can be built on any platform supporting Tclkit, for any platform supporting Tclkit. There is a list of example Starpacks for Windows, Linux and Solaris towards the end of this page.

  • Starsync is a facility to fetch and update Starkits from this archive. It sends only changed files, in compressed form, and so is the quickest, easiest way of keeping your Starkits up to date. See the Starsync page for more information.

For more information see the Notes at the end of this page or Starkit and Tclkit pages on the Tcler's Wiki.
3displayDisplays 3d polyhedra in shaded or wireframe mode, using only the Tk canvas. In the words of one Tcler - "This is without a shadow of doubt, the best piece of software I have ever seen/used ... you've got useful 3D, in a script language, on a Tk canvas, in a few A4 pages of code. Unbelievable!" Info
browseA directory browser, which lists the working directory and allows you to open files or subdirectories by double-clicking. From the original Tk demos.
cellmessengerA program for sending, receiving and archiving SMS messages from a mobile phone. It provides support for reading the mobile's phonebook, sending group messages, anti-spam SMS filtering, unicode and multipart SMS messages. The program is shareware. Info
clockA clock that shows time either analog or digital - just click on it to toggle Info
coccinellaA shared whiteboard/desktop text chat with images, MP3, etc. supporting plugins and compatible with Jabber. A cross-platform starkit with support for Linux, MacOSX and Windows Info
collcoinsColliding Coins simulation - from the wiki, by David Easton and Leszek Holenderski Info
dotedA graph editor demonstrating the facilities of tcldot (part of graphviz). The link to the left contains a cross-platform Starkit with support for AIX, HP-UX, Linux, Tru64 and Solaris (~2.3Mb). Separate platform specific Starkits are available for AIX, HP-UX, Linux, Solaris and Tru64. Info
dragonA quick and dirty rendering of the Dragon Curve or Paper Folding fractal. Info
eWeekReadereWeekReader is an alternative web browser for reading eWeek and ComputerWorld. Displays more readable, less busy versions of the article pages. Windows only, a Starpack is also available here Info
filtrThe FILTR is the File Inventory for Loading, Transfer and Recovery. An advanced backup/archive utility designed for ease of use. Includes a GUI file manager for working with virtual filesystems. Info
fractalDraws mountain landscapes using fractals. Info
funkyFun with Functions - a little function plotter. Lets you surf the Cartesian plane :-) Info
gorillaA password safe by Frank Pilhofer Info
HeadsUpHeadsUp provides a popup page before a browser's "Start" or "Home" page. Can be used to display an Internet Usage Policy or Message of the Day (MOTD) to users. Uses Tclhttpd. Info
hilbert3dSpace-filling Hilbert curves, in 2D and 3D - by Keith Vetter Info
idictiDict is a multilingual dictionary with 23 languages included. Info
kalendaeTranslates a modern/western date into the Latin equivalent using ancient Rome's calendar (it can do the converse translation as well). Info
lissajousDraws Lissajous figures (for more info on Lissajous figures click here) Info
morseA little morse code trainer Info
newzpointDisplays a tabbed layout of multiple web pages by embedding MS IE. Windows only. Info
notebookNotebook is a personal notebook application. It's for storing notes, to-do lists, daily logs, things you want to remember, neat ideas you might do something with some day, cute things your children said, bad jokes--all the kinds of things you would write down now if only you had a place to put them where you'd remember to look for them. Info
octabugA fun little graphical animation which morphs an octahedron into an open cuboctahedron and back. Hidden within this code is actually a simple 3-d to 2-d transformation package. Info
owaSyncOne-way synchronisation of data from a Microsoft Exchange Outlook Web Acce ss server. This allows synchronisation of contacts, calendar, notes and email from Exchange to kdepim, Nokia 770, etc. Info
particleA simple particle system. You can move the particle emitter by either clicking, or click-dragging in the canvas. Info
plain_geometryTool to demonstrate elementary geometry and draw simple diagrams. It implements three modes of working: cartesian and polar coordinates and so-called turtle graphics. Info
rainstormA simple little whizzlet simulating rain drops on a window. Info
rmtA simple remote-control mechanism for Tk applications. Allows you to select an application and then type commands to that application. From the original Tk demos.
roxirc20RoxIRC is a graphical IRC client written in TCL/Tk. It provides a pleasant, easy to use, and powerful interface. Info
sfmSimple File Manager, a small but feature-rich file explorer with directory tree display, drag-and drop copy, find, permissions edit, etc. Pure Tcl and suitable for Unix and Windows. Info
slideshowDisplay and administer several slide shows in a single starkit Info
starsA star map of the the sky, based on NASA data Info
stopwatchA stopwatch program (a small Tk demo). Info
tcldemoA collection of Tcl/Tk demo's and packages - all but the last demo (IncrTk) are in pure Tcl/Tk and will run on any platform supported by Tclkit. The IncrTk demonstration contains binaries for Linux, Solaris and Windows. Info
tclhttpdA pure Tcl implementation of a Web server. Works fine as a stand-alone web server, but is also suitable for embedding. Just start and connect your browser to port 8015 for more information. Info
tclmathA mathematical workbench in pure Tcl, including complex numbers, number theory, real analysis and ordinary differential equations. It is modular in design, so new modules can be added simply and quickly. Info
tclplanetsThis educational Tcltoy shows the solar system on a canvas, with some info displayed in the title bar when you mouse over a planet. Info
tclstockTclStock is yet another one of those stock ticker applications. It retrieves its stock quotes from NewsAlert. The program was originally inspired by Tom Poindexter's TclTicker, but was quickly branched off to utilize the ticker widget wrote for TclWeather. Info
tcltutorA computer aided instruction package for learning the Tcl language. It consists of 43 lessons covering all of the basic Tcl commands and most of the recent (8.0) additions Info
tclweatherTclWeather is a simple weather applet that periodically downloads meteorological data from NOAA's web site. The program first grabs the METAR report for the selected location. The location is selected from the application's control panel. Info
tclworldA geographic browser with map display. Info
tcolorA simple color editor, where you can create colors using either the RGB, HSB, or CYM color spaces and apply the color to existing applications. From the original Tk demos.
timerProvides a counter with start and stop buttons. From the original Tk demos.
TinyBATiny Business Accounting is a minimal expense tracking, billing and invoicing program for small businesses. Linux and Windows only.
TinyJotsA simple notebook program that allows you to separate notes into related groups and browse through them easily.
TinyTickerA very tiny stock ticker that can monitor changes to a number of stocks at an interval of your choosing.
tkabberA very complete implementation of Jabber. According to it is the most complete Jabber client for Linux. Should run under other platforms too (it's pure Tcl/Tk). It will use the Snack and Tls starkits if it finds these next to tkabber.kit, in its launch directory, in auto_path or located in ~/.tkabber. These can be downloaded from the packages section below. Pat Thoyts has produced a modified version with additional plugins to support special features of the Tclers chat (history download, user colors, etc) - Info
tkchatA front-end to jabber based group chat rooms, and the Tclers chat in particular. Starpacks are also available for Linux, MacOS X and Windows. Info
tkhexeditA Little Hex Editor (by George Peter Staplin) that supports insertion and deletion of hex characters. It displays the byte offset on the left, and the ASCII representation (if applicable) on the right. It displays 16 bytes per line. Info
tkmapperThis program transforms the small Yahoo maps into one larger map that can grabs neighboring maps and tiles them in the window letting you build up a larger, more complete map of an area. Info
tkoutlineA cross-platform outline editor Info
tkpoolPlaying pool (snooker, billiards) - from the wiki, by Neil Madden Info
tkstalkerA simple web browser built using TkHTML, contains with a built in WIKI reaper made using the reaper codes from "Tcler's Wiki" pages 4718 and 2993. This version is not quite complete - the "forward" button doesn't work and forms are only displayed, but it is useful for reaping tcl code from wiki pages. Contains tkHTML libraries for Linux, Windows and OSF1
tkvideoThis project provides a video display widget for the Tk toolkit that can be used to display video data from files or from video capture devices. This includes most webcams and AVI or WMV files. Windows only at this stage. Info
tkvncA VNC client coded in pure Tcl - all in a 13Kb Starkit! Info
weatherDisplays a map of predicted precipitation (for North Atlantic, Europe, and parts of adjacent continents) for the next 15 days, in 12 hour steps, from a German weather station via HTTP Info
wikitAn implementation of a Wiki in Tcl. Can be used as a CGI process or run locally using the Tcl/Tk graphical front end. Info
Development Useful tools for developers
asedBWidget IDE allowing editing of multiple Tcl files, providing syntax highlighting, indentation support, search/replace, unlimited undo/redo, simple console, fast source code navigation and Tcl testing. Currently at v3.0. Info
brasA rule-controlled command processing program (like make), which uses Tcl rather than the make syntax to describe relationships and actions. Info
bwdemoDemonstration of BWidgets - a Tcl/Tk script-only set of megawidgets. Info
COMetCOMet is a COM Explorer for Tcl. COMet allows you to instantiate COM objects, examine Collections and Properties, invoke Methods with arguments, and examine TypeLibs ENUMs. This is a Windows specific StarKit, and contains tcom 3.9 and BWidget 1.7.0. A Windows Starpack (containing the UPX version TclKit) is also available here. Info
critclA new facility to build C extensions on-the-fly - allows you to embed C in Tcl, either for stand-alone operation or to generate as an extension. Run without arguments to get some additional help Info
csvopAn easy to use application adding a nice interface around the tcllib package handling csv files. Info
davkitWebdav client plus VFS handler, lets you mount any remote WebDAV server, and cd/glob/stat/read/write/mkdir/rmdir in it. Info
dtpThe doctools processor, an application to handle documentation written in the doc* formats of tcllib. Based on the tcllib doctools, conveniently wrapped as a standalone application. Info
efftclMichael McLennan's "Effective Tcl/Tk" demo. Info
eskilAn enhanced version of tkdiff that includes: an improved parser, more highlighting modes (e.g. block, line, word, char), supports for directory diffs and support for more input file types (e.g. CVS conflict files, patch files). Info
expandA macro and/or template processor written in Tcl for Tcl. Info
ezsdxezSDX, for Windows, provides a GUI that makes makes it easy to convert a Tcl application into a starkit, e.g., myprog.kit. You can make small changes to your source code, save them in your editor, and click on the "Wrap & Run" button in ezSDX to re-generate and re-run myprog.kit. ezSDX makes it extremly easy to create myprog.exe from the starkit myprog.kit, and you can use ezSDX to run the freshly-produced myprog.exe.Info
HelpA starkit that can display html help, based on tkhtml. Useful for building embedding help systems in Starkits (Linux, Solaris and Windows only) Info
imgImg is a Tk extension that adds support for many image formats - including bmg, ico, jpeg, pcx, pixmap, pngm ppm, tiff and many others. This starkit contains libraries for Linux, Windows, Mac OSX and Linux-ARM. Info
mk2tclA Starkit that takes a Metakit database file and dumps its contents (as a series of Tcl commands). The output can be edited and executed to rebuild the database. Useful for editing adjusting the contents of a Wikit Wiki datafile Info
mk_managerA general "Metakit" database browser tool by Jeff Godfrey. Work in progress, but still very useful. Info
mlAn editor for tcl/tk source files, providing syntax highlighting, text undo, multiple windows, history and lots more. This is a modified/improved version with Iconic toolbar, Paned windows, popup menu which can run ../../main.tcl. Info
oomkAn experimental OO wrapper around the "Mk4tcl" Metakit database extension. Info
pavedPaved-widgets is a collection of standard widgets enhanced with background-tessellation capability (tiling). Info
pgaccessThe synergy of a PostgreSQL database administration tool, a rapid application development environment, and a help system for getting started with PostgreSQL Info
sandcrabSandcrab crawls a website checking for broken links, and compiles a report of what it finds. Info
sdxStarkit Developer Extensions - used to create and maintain Starkits Info
snitSnit is a pure Tcl object and megawidget system. It's unique among Tcl object systems in that it's based not on inheritance but on delegation. Snit is intended to help you build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a Tk widget, an Incr Tcl object, a BWidget or almost anything else. Snit is part of "tcllib", the standard Tcl Library. Info
sockspyLets you watch the conversation of a Tcp client and server, displaying the data streams from each in listboxes. Useful for debugging Tcp client/server programs, examining protocols and diagnosing network problems. Info
SQLiteSQLite is a small extension that implements a self-contained, embeddable, zero-configuration SQL database engine. Contains binaries for Linux (x86 + Zaurus/ARM), OSX and Windows. Info
tbcloadThe Tcl byte code loader - a package for loading of pre-compiled byte codes. This Starkit contains tbcload binaries for Linux, Mac OSX and Windows. Info
tclvfsContains various VFS drivers not included in Tclkit, including ftp, http, ns, tar, webdav and zip Info
tempFileA very simple Temporary Directory Package for Starkits allowing easy export of files within the vfs to a temporary directory.
tkconTkCon is an enhanced interactive console for developing in Tcl. It also has the ability to connect to other Tk send-enabled languages, as well as generically to sockets. This is a version of tkcon 2.4 that is able to source a Starkit (thanks to David Zolli for providing this). Info
tkcvsA Tcl/Tk based graphical interface to the CVS configuration management system. Info
tkdiffA graphical 2 and 3-way diff/merge tool. Info
tkinspectA Tk introspection tool - examine the internals of a running Tk application. This version includes the comm library and winsend for use on Windows and intra-platform communications. Info
tkregexpLets you design your regexps by typing the expression and visualize its effect Info
tkzincContains the TkZinc package and the demo suite. Zinc widgets are very similar to Tk canvases in that they support structured graphics - Zinc is fast enough to allow the implementation of 2k2k radar displays with smooth animations. It is structured enough to allow the implementation of direct manipulation desktop GUIs. It will run the demo application if run, or provide the package if sourced (Windows only at this stage) Info
wfsWSF makes it easy and forgiving to assign right-click sdx commands to your context menus on Windows. Info
widgetThe original Tcl/Tk widget demonstration
wikitoolA fairly complete maintenance tool for wikit databases (requires command line input).
Documentation Several reference documentation sets, packaged as Starkits, with a simple GUI (for Windows, Linux and Solaris only)
bw13dokBWidgets 1.3.0 documentation Info
mk4dokMetakit documentation Info
py15dokPython 1.5.2 documentation Info
py22dokPython 2.2 documentation Info
tcl83dokTcl/Tk 8.3 documentation Info
tcl84dokTcl/Tk 8.4.1 documentation Info
Games Games and graphical toys
3DmazeThis little game displays 3D mazes. You can adjust the width, height and depth of the maze. You can also try solving the maze by moving around a man with the arrow keys. Info
braitenbergNot really a game - but an experiment that involves little machines that exhibit complex behaviour. Lots of fun nevertheless :-) Info
carsA car racing game Info
checkersA little checker game Info
coinsA simple memory game using UK coins. Info
CrossWaysWordsA board game in which the objective is for players alternately to create inter-locking words with the highest possible score. Up to four opponents, any or all or whom can be played by the computer (Windows only - requires Tcl/Tk 8.5 and Tile extension) Info
dot2dotA dot-to-dot game written by Keith Vetter for his 3-year old daughter. Info
dotsThe Dots and Boxes Game - a popular "folklore" game. Can be played by two people, or one person against the computer. Contains a built-in help system with detailed instructions. Info
eliminatorA fun little puzzle game, similar to TkSokoBan Info
ferrisA study in canvas animation simulating a Ferris Wheel, vaguely inspired by the famous landmark of Vienna Info
flagmanFlag signalling in Tcl - a signal mate holds two flags at different angles to represent letters. Info
flagsMaritime Signal Flags - lets you play with both semaphore flags and with signal flags Info
goA little Go board Info
hextrisHextris (a version of tetris) with multiplayer mode Info
horsesA little horse-racing game: ten horses (you can edit their names if you don't like my defaults) run at random speed from left to right. The first three to reach the finish are listed at the bottom. Info
iconnect4A Connect four in a row game that has a Computer opponent. Info
jugglerAn animated demo shows a person juggling from 3 to 20 balls - by Keith Vetter Info
mancalaMancala (or Mankala) is an ancient african board game with many variations. Here is an implementation based on an Egyptian version. Info
marblesFalling marbles - a fun little animation of marbles cascading down a peg board. Info
mastermindA Tcl/Tk implementation of the well known Mastermind (Superhirn) game. Prepared for german and english environments.
merlinMerlin is a puzzle game. Merlin is based upon an electronic game from the 1970's that was also called Merlin. Info
morrisFrom the Popular Board Game series, here's Nine Men Morris Info
muse1demoMuse is agame that combines drawing with music authoring. With Muse you can create "musart" that combines music and art. This is a free trial Starkit is fully operational but limited to 16 instruments. Starpacks for Windows, Linux and MaOS X, plus a more feature rich commercial version are available on the Muse website. Info
pachisiA little Pachisi game (in Germany known as Mensch aergere dich nicht), featuring the classical board, a lightly animated die, and moving pieces. Info
patienceA solitaire card game with lots of rules and card images. You can play alone, against the computer or against another player on the net. Info
puzzleblocksDrag, rotate and drop blocks to assemble a bird or a boat. Info
slidemA simple little puzzle game where you slide balls around trying to move them into the center hole.
soarmap2A sailplane flying game. You can fly a sailplane over a moving map using an aviation sectional chart. Info
spirographSimulates the kid's game of SpiroGraph Info
starfieldDisplay an animated starfield - try clicking and dragging the mouse. Info
tetrisTetris with multiplayer mode (Netris!) Info
tictactoeA little Tic Tac Toe game Info
tk_bugzA variation of the classic arcade game "Galaxian" - a little raw but fun anyway. Info
tkbombHexagonal version of a bomb finding game Info
tkchallengera tcl/tk game that lets you solve the Challenger puzzles that you find in the daily paper. Info
tkgemThe object of the game is to swap neighboring gems to create rows or columns of three or more similar gems. When you do so, those gems explode and all the gems above slide down and new gems fill in the top. The more gems you explode in a turn the more points you get. Info
tkjewelA dropping jewels game in Tcl/Tk ported from xjewel. Info
tkmazeComputer players with "lefty/stupid/righty" strategies Info
tkoverloadA game similar to the Overload shareware game from Astatix Info
tkpenteA two-player version of the popular Pente game. The object of the game is to get five pieces in a row, or to capture ten of your opponents pieces. This program can also play be the newer Keryo rule set. Info
tksokobanAnother game with cool graphics / advanced move functions / undo / redo / keyboard or mouse control Info
tortueTcl turtle for use with young programmers. An introductive way to Tcl programming used with ~13 year old French children (in French) Info
yahtzeeA little Yahtzee game. Info
Packages Common development packages conveniently wrapped as Starkits. See notes below for information on how to use.
bignumA tcl wrapper to libgmp (the Gnu Multiple Precision Bignum library Contains binaries for Linux (x86), Windows and MacOS X Info
busyThe BLT busy command - extracted as a stand-alone package using Critcl. Busy allows you to "busy" out a portion of a GUI application's window hierarchy, so that it can't receive keyboard or mouse events. This is most useful for client/server applications where the client GUI should display an hourglass or clock cursor while the server is doing some work on its behalf. The cross-platform Starkit contains binaries for AIX, HP-UX, Linux, MacOSX, Solaris, Tru-64 and Windows. Source is available here. Info
gbuttonA package that implements fancy graphical buttons for Tk. Info
kittenA "ten-pack" of Tcl/Tk extensions (actually more like 50 these days). Contains both cross-platform extensions and binaries for Linux, Solaris and Windows. Info
plplotterPLplot is relatively small, portable, freely distributable plotting/graphing library containing a wide range of plot types including line, contour, 3D, fill, etc. This is a Windows specific Starkit containing 19 demos - source for other platforms can be obtained by following the info link. Info
snackSnack for Windows Info
splashA splash screen package for Starkits - it supports animated splash screens using a separate process to display multi-layered GIF images, thus allowing screen updates to be occur during relatively long running tasks such as downloading code or data from a server. Info
tcllibThe Tcl Standard library - a collection of Tcl packages that provide Download the Starkit and run without arguments for documentation and instructions on how to use. Info
tdomtDOM - a XML/DOM/XPath implementation in C for Tcl, with binaries for Linux, Windows, Mac OSX, FreeBSD and Solaris Info
tile07The Tile Widget Set is a next-generation re-implementation of many of the core Tk widgets, along with the addition of several new widgets. With Tile, Tk applications can achieve an appearance much closer to native platform widgets, as well as take advantage of a modern, highly dynamic theme engine to produce a wide variety of alternative user interface styles. Tile widgets complement the existing Tk widgets, and Tile is currently being incorporated directly into Tk. Info
tlsTLS 1.4 for Windows Info
alphatkA 25 day trial of the AlphaTK programmers editor. Alphatk is most useful for programmers, those writing a lot of TeX/LaTeX documents and for editing of HTML source files. It has a very rich features to aid in writing and editing files of those document types. In addition to those, the programming languages strongly supported are C, C++, Java, Tcl, Perl, Matlab. Most other common languages are also supported, although perhaps not with quite such a rich feature set. There is also a Windows Starpack available here Info
Starpacks The following Windows and Linux starpacks include the UPX compressed version of Tclkit.
The Solaris starpacks have been compressed with gzip.
newzpointDisplays a tabbed layout of multiple web pages by embedding MSIE Info
tcltutorA computer aided instruction package for learning the Tcl language. It consists of 43 lessons covering all of the basic Tcl commands and most of the recent (8.0) additions Info
wikitAn implementation of a Wiki in Tcl. Can be used as a CGI process or run locally using the Tcl/Tk graphical front end. Info
wikitshSame but without the GUI Info

Notes ...

  • Starkits use the .kit extension (to ensure they are downloaded as binaries by browsers)
  • they are made cross platform by developing in Tcl/Tk wherever possible, and by including compiled extensions for multiple platforms if necessary
  • to install an application change the mode to executable (on *nix), remove the .kit suffix (optional), and copy to your favourite location
  • the applications are unchanged from the original versions, except for the minimal code necessary to get them working as Starkits
  • if you want to unpack a Starkit, download sdx and run "sdx unwrap app", then look for app.vfs
  • to use a Starkit containing packages either unwrap using sdx and copy into an auto_path directory - such as the lib directory within a Starkit - or just source the package Starkit from within your application. For example, to use the packages within library.kit which is stored next to your Starkit use something like the following:
            package require starkit
            source [file join [file dirname $starkit::topdir] library.kit]
    See the Starkit page for more info.
  • unless otherwise specified, Starkits are cross-platform
  • on Windows, run as "tclkit filename" or create a .BAT file to do this for you and create a shortcut to it
  • also on Windows, use "tclkitsh" to run in console (command line) mode and "tclkit" to use the GUI
  • if you don't have Tclkit available and want to unpack a Starkit you can use readkit - a small self contained Tcl script to list or extract the contents of Starkits. Run without args to get a usage summary
  • Starkits used to be known as "scripted documents" - if you see this term used in any documentation you can safely assume it means Starkit.

Sponsored by Digital Smarties and Equi4 Software