TarKIT — README

This is a piece of code to explore the possiblilites of a writeable Starkit.
It all ended in a quite usable program. Thanks to jwc and all Tcl folks!

The program is like the unix utility ‘tar’. It is a container into which you
can add files. The files are copied into the Starkit and stay there togehter
with the program code itself. So what you have is a form of a self-extracting
and self-containing archive that is platform independant using Tclkit! It’s all
in one file.

I called it TarKit because it is like ‘tar’. But TarKit could also stand for
Tcl ARchive KIT …

Features:

  1. Add files to the archive
  2. Remove files from the archive
  3. Rename file inside the archive
  4. Copy files from the archive to somewhere else
  5. View the contents of the archives files (as text)
  6. Introspection of the TarKit software components

Some problems remain:

  • Removing a file from the archive won’t let the Starkit shrink in size.
    How can that be achieved??

  • The code does not do much error checking. There are likely some
    faults somewhere. Feel free to comment, improve, and critisize.

Features worth to add:

  • Make the file contents editable. You could then change the contents of your
    archive files and even edit the Starkit script itself, thus having
    a self-contained IDE, sort of …

  • TclKit has code for TclVFS, zlib and zipvfs. Perhaps this could be used to
    compress all files in the archive and saving space.

  • Call different programs for different file types, not just use the text
    widget on all data. Perhaps Tcl itself should deal with the most common types
    (HTML -> tkhtml, XML -> tdom and starDOM, images -> img extension, and so on)

  • Add the capability to add whole directories and the contained
    files/subdirectories. This leads to …

  • Structure the archive hierachically by some free defineable categories
    and display the whole archive as a tree.

  • Yes, of course we should remember the last opened directories …

License:

This software is placed under the same license as Tcl itself (BSD). Do with it
what you want, but do not blame me for any harm it might do to your data. You
have been warned.