
Tcl-To-Go

Tom Poindexter, tpoindex@nyx.net
2nd edition, Dec. 7 1999

An add-on floppy for muLinux to add a healthy mix of application programs
written in Tcl/Tk.  Requires the muLinux X11 add-on, as most Tcl programs
included are X11 based.

muLinux resources: 
	home page:     http://sunsite.auc.dk/mulinux
	mailing list:  mulinux-subscribe@sunsite.auc.dk

Tcl-To-Go: 	http://home.worldnet.att.net/~tpoindex/
	        http://www.nyx.net/~tpoindex/

Documentation:
Little documentation for each application is included.  Some applications have
builtin help;  check my 'notes' section for each entry.   Please refer to
the applications' URL's for additional documentation.

Preference files/directories:
Many application also want to save user preferences into various directories
under $HOME or $USER.  Typically, user files are stored as ".files" or 
".directories" under "/" or "/root", if running muLinux as a single user.

If you wish to save the applications' preferences, you should make your own 
arrangements to save and restore these files during muLinux startup and 
shutdown.

Licenses issues:  
The majority of the applications included have been written by others, and
are distributed under various license and/or copyrights.  
For GPLed applications, refer to http://www.gnu.org/copyleft/gpl.txt
For BSD & copyrighted applications, see the license & copyright statement in 
each application.

Change log is located at the bottom of this file.

Included applications:

-------------------------------------------------------------------------------
---base tcl/tk

tclsh8.0
wish8.0
    description: Tcl/Tk, tclsh & wish interpreters
    ver: 8.0.5
    license: BSD style
    author: John Ousterhout, et.al. 
    http://www.scriptics.com
    tsp hacks:
	add proc 'source' to init.tcl: examine file name, if a file
	matches *.gz, then use gunzip to unpack source file.
	tk.tcl - make mulinux friendly defaults, background color, fonts

	gzip all tcl/tk library .tcl files, except init.tcl and tk.tcl

	most files in ./bin link to STARTUP.SH, which starts wish and
	causes the real program to be sourced from ../lib/bingz

	compiled under Redhat 4.2 (libc5)
	configure --prefix=/usr/tcltk --enable-shared --disable-symbols
	edit makefile to add '-Wl,-rpath,/usr/tcltk/lib' and
	'-Wl,-rpath-link,/usr/tcltk/lib' when linking shared libs & executables

	strip tclsh wish libtcl8.0.5.so libtk8.0.5.so
	

-------------------------------------------------------------------------------
---editors

edit
    description: Tcl Text Edit, /w macros, ftp/http get & put, multiple files.
    author: Dennis Ehlin <hkc141i@tninet.se>
    ver: http://www.user.tninet.se/~hkc141i
    license: BSD style
    http://www.user.tninet.se/~hkc141i
    tsp hacks:
	added exec lines; use TCLTEXTEDIT_LIB for library directory;
	copy lib macro files when making $HOME/.tcltextedit/; 
	use safe interp when evaling command (txt.tcl); 
	for some reason, edit main program doesn't like most lib .tcl files
	to be compressed (?? !!) instead, put all but cfg.tcl inline in 
	main 'edit' source file.
	looks like you should be able to open an http:// url on the
	comand line, but doesn't seem to work.

tknotepad:
    description: a simple text editor, /w find/replace, hot keys
    author: Joe Acosta <joeja@mindspring.com>
    ver: 0.7.1
    license: Copyright
    http://www.mindspring.com/~joeja/programs.html
    tsp hacks:
	change exec line to simple 'wish'
	reduce font sizes
    
vedit:
    description: a simple text editor, part of tkapps suite
    see: vmail3 (tkapps) under news/mail


-------------------------------------------------------------------------------
---spreadsheet/calculators/math

tk#
    description: spreadsheet
    author: Martin Vermeer <mv@liisa.pp.fi>
    ver: 0.3
    license: GPL
    http://www.netby.net/Oest/Europa-Alle/vermeer/	
    tsp hacks: 
	respository and demo files in /usr/tcltk/lib/tk#

ksc
    description: RPN-type calculator
    author: Ken St-Cyr <kenstcyr@cs.pdx.edu>
    ver: 0.16
    license: BSD style
    http://www.cs.pdx.edu/%7Ekenstcyr/linux.html
    tsp hacks: 
	change exec line to simple 'wish'
	change font, avoid bold 

surface
    description: display three dimensional surface based on z = F(x,y)
    author: Eduard Kholyavko <edik@florin.ru>
    ver: 04091999
    license: Copyright
    ftp://ftp.florin.ru/pub/edik
    tsp hacks:
	changed exec line
	it doesn't fit on VGA X server very well, but too cool not to include!


-------------------------------------------------------------------------------
---network

fireman
    description: firewall manager, uses ipfwadm to set policy
    author: aRG <labom@internetcom.com.br>  ??
    ver: 2.0
    license: Copyright
    http: http://www.tectrip.net/arg/
    tsp hacks:
	added exec line; changed aux program paths to env(FIREMAN_LIB); changed
	[exec date] to use clock command.
	changed exec /sbin/ipfwadm to just ipfwadm, ipchains
	changed fonts

sockspy
    description: examine a TCP conversation, in hex or ascii
    author: Tom Poindexter <tpoindex@nyx.net>
    ver: 1.0
    license: BSD style
    http://www.nyx.net/~tpoindex/tcl.html
    tsp hacks: 
	all of it
    notes:
	command line options:  sockspy clientPort serverHost serverPort
                 clientPort - port to which clients connect
                 serverHost - machine where real server runs
                 serverPort - port on which real server listens
        e.g. To watch your Telnet session to 'otherhost':
	$ sockspy 2000 otherhost 23 &
	$ telnet localhost 2000

tkftp
    description: graphical FTP client
    author: Pascal Jermini <redoctober@bluewin.ch>
    ver: 1.0.2
    license: GPL
    http://a.trevano.ch/~jermini/tkftp/
    tsp hacks:
	add exec line; change TKFTP_LIB_DIR to use env(TKFTP_LIB_DIR);
	reduce sizes of listboxes to shrink overal size


-------------------------------------------------------------------------------
---irc/mud

dirc
    description: Internet Relay Chat program
    author: Kemal Hadimli <disq@iname.com>
    ver: 1.5
    license: Copyright
    http://metalab.unc.edu/pub/Linux/system/network/chat/irc/
    tsp hacks:
	make main.tcl the dirc command, with exec lines
	include all library source inline
	change logdir to {} to avoid logging
	change nuke array to empty

netplug
    description: irc chat, go client, with plugins
    author: Laurant Demailly <L@Demailly.com>
    ver: 0.62
    license: Copyright
    http://www.demailly.com/~dl/netplug.html
    tsp hacks:
	cause [source script] to read real file
	use NETPLUG_PLUGINS as dir for zero.dat in irc.pli
	touch orignal *.pli names so that main prog can find them

mmucl
    description: Mark's MUd CLient, Mmucl (pronounced muckle)
    author: Mark Patton <mpatton@jhu.edu>
    ver: 1.2.0
    license: GPL
    http://idt.net/~tmtr01/mmucl/
    tsp hacks:
	remove xterm & console interfaces; use interface/tk.tcl as 'mmucl'
	main program; replace nice tkinfo help system with ugly xterm (tkinfo
	is just too big for mulinux/tcl-to-go)


-------------------------------------------------------------------------------
---web

tclticker
    description: stock ticker, uses HTTP requests to get stock quotes
    author: Tom Poindexter <tpoindex@nyx.net>
    ver: 1.0
    license: BSD-style
    http://www.nyx.net/~tpoindex
    tsp hacks:
	all of it

august
    description: HTML editor
    author: Johan Bengtsson <johanb@lls.se>
    ver: 0.50
    license: GPL
    http://www.lls.se/~johanb/august/
    tsp hacks:
	changed exec line

neowebscript-sa
    description: HTTP web server, with Tcl based scripting
    author: George Porter <gporter@neosoft.com>
    ver: 1.1
    license: Copyright
    http: http://www.neosoft.com/neowebscript-sa/
    tsp hacks:
	added exec line; changed conf/httpd.conf to recognize environment
	variables to set configuration; changed source location of httpd.conf;
	changed index.html to reflect new environment vars.
	remove pid file on exit.
	added mime types .tgz, .bz2 to mime.tcl
    notes:
	if the server doesn't start up (socket: can't bind to address), you
	probably have the muLinux pygmy web server running.  either kill
	the pygmy server, or start neowebscript-sa with a different port:
	 	$ HTTP_PORT=8000 neowebscript-sa &
	then, connect to it with chimera or quark as http://localhost:8000/


-------------------------------------------------------------------------------
---news/mail

vmail3

    description: tkapps: vmail3 - mail client (/w pop3) & newsreader, vedit, 
	vbiff, fm - file manager
    author: John Willem van Gulik <jvgulik@magi.com> ??
    ver: 3.2.4 (vmail3 version)
    license: GPL
    http://infoweb.magi.com/~jvgulik
    tsp hacks:
	change exec lines 
	removed: vvac, vquery, showhtml, vshow, vprog, logview, vfile, vdb, vdir
	lib/tkapps/lib/config.tk  - set smaller fonts; rename some buttons 
	on mail menu bar to be smaller
	change .au files in tkapps/sounds to be tiny
	change system.tk - just use plain 'df', not -k for Linux
	many hacks to vprocs.tk, news.tk, mail.tk, socket.tk: 
		add pattern matching for list of
		newsgroups, remove unsubscribed news groups, numerous bug 
		fixes; added check reconnect to newsserver; use nntpserver,
		nntpport option values as server/port to open.
		change sendmail_send to use mailserver & mailport option
		values.

    notes:
	use vmail3 for both email and newsreader; to set a POP3 mailbox, use
	userid@pophost as the mailbox name, where 'userid' is your POP3
	user id, and 'pophost' is your POP3 host machine.

	news can be a little cranky, e.g. if you select 'show all messages' with	an open newsgroup, then you must re-open that group to show the effect.

	John's email & home pages don't seem to be at maji.com any longer :(
	I haven't been able to contact him.


-------------------------------------------------------------------------------
---games

mines
    description: mine sweeper, clear all the mines without stepping on one 
    author: Neil Johnson <Neil.Johnson@camcon.co.uk>
    ver: 27/10/97
    license: Copyright
    http://members.xoom.com/Neil_Johnson
    tsp hacks:
	changed exec line
    
tetris
    description: tetris, the game of falling blocks, multiplayer 
    author: Jeffery Hobbs <jeff.hobbs@acm.org>
    ver: 3.2
    license: Copyright
    http://www.hobbs.wservice.com/tcl/script/
    tsp hacks: 
	none

hextris
    description: a devilish version of tetris with hexagonal shapes, multiplayer
    author: Jeffery Hobbs <jeff.hobbs@acm.org>
    ver: 1.1
    license: Copyright
    http://www.hobbs.wservice.com/tcl/script/
    tsp hacks: 
	none

breakout:
    description: classic breakout
    author: Donal K. Fellows <donal.fellows@cs.man.ac.uk>
    ver: 11/1/1996
    license: Copyright
    http://www.cs.man.ac.uk/~fellowsd/tcl/#tclets
    tsp hacks:
	added exec line
	adapted from tclet

hexplode
    description: strategy game 
    author: Neil Winton <neil@winton.freeserve.co.uk>
    ver: 1.2
    license: Copyright
    http://www.winton.freeserve.co.uk/tcl/hexplode.html
    tsp hacks:
	adapted from tclet

videopoker
    description: video poker 
    author: Joseph A. Konstan <konstan@cs.umn.edu>
    ver: 1.0
    license: BSD style
    http://www.cs.umn.edu/Research/GIMME/video-poker.html
    tsp hacks:
	made window slightly smaller; use default mostly fonts
	adapted from tclet
	
solitaire
    description: classic solitaire
    author: Michael J. McLennan <mmc@cadence.com>
    ver: 1.0
    license: Copyright
    http://www.tcltk.com/training/plugin/solitarie.vet
    tsp hacks:
	made window slightly smaller
	Michael contributed the full non-tclet version


-------------------------------------------------------------------------------
---utilities

incant
    description: Dictionary client
    author: Chris Allen <fastjack@fastjack.turf.org>
    ver: 1.5
    license: GPL
    http://www.turf.org/departments/publishing/incant/
    tps hacks:
	allow use of DICT_HOST & DICT_PORT environment variables
        instead of default 'dict.org' and '2628'.
	don't use bold fonts

stopwatch:
    description: simple stopwatch
    author: Don Libes <libes@nist.gov>
    ver: 1.1
    license: Copyright
    http://www.mel.nist.gov/div826/src/stopwatch/
    tsp hacks:
	changed exec line

md5
    description: compute the RFC 1321 MD5 Message Digest of a file or string
    author: Don Libes <libes@nist.gov>
    ver: 1.0
    license: Copyright
    http://expect.nist.gov/md5pure/
    tsp hacks:
	i made a very simple interface, usage:
		md5 "some string value"    	# md5 of a command line argument
		md5 -f filename			# md5 of a file
		md5				# enter message in text box

fm 
    description: simple file manager, mime aware 
    see: vmail3 (tkapps) under news/mail

maplot
    description: plot the sun's postition on the earth
    author: Matti Koskinen <mjkoskin@sci.fi>
    ver: 1.0
    license: Copyright
    http://www.sci.fi/~mjkoskin/
    tsp hacks:
	changed exec line
	adapted from tclet
    
starmap
    description: zoomable view of our closest stars
    author: Sarang <sarang@sarangworld.com>
    ver: 1.0
    license: Copyright
    http://www.sarangworld.com/TCL/starmap.html
    tsp hacks:
	changed exec line; make initial window smaller
	adapted from tclet

    notes:
	hold button-1 to drag map around
	use mouse button-2 to zoom in  (or shift-button-1,      must stop with)
	use mouse button-3 to zoom out (or control-button-1,     other button!)

	polaris (the north star) is the topmost star, ursae majoris (the big
	dipper) should be visible below polaris.

cdrtoaster
    description: utility to burn CD-ROMs
    author: Ian Kjos <brooke@jump.net>
    ver: 1.04pre2
    license: GPL
    http://www.jump.net/~brooke/cdrtoast/
    tsp hacks:
	changed exec line; make fonts mulinux friendly
	requires 'cdrecord' and 'mkisofs' from mulinux EXT add-on disk

mmencode
uuencode
uudecode
    description:  base64 mmencode, standard and base64 uuencode/uudecode
    author: Steve Ball <steve.ball@zveno.com>
    ver: 1.0
    license: BSD
    http://www.zveno.com
    tsp hacks:
	taken from Steve's Tcl web browser, Plume. i added argument processing,
	code to implement '-q' for mmencode, and added in the code for
	uuencode/uudecode routines.
	tclsh based, does not link to STARTUP.SH, but does look for $TCLTKLIB
	to source lib files.
	for vmail3 support

uniq
head
rmdir
    description: simple implementations of these commands 
    author: Tom Poindexter <tpoindex@nyx.net>
    ver: 1.0
    license: Copyright
    http://www.nyx.net/~tpoindex
    tsp hacks:
	for vmail3 support
	tclsh based, does not link to STARTUP.SH


-------------------------------------------------------------------------------
---graphics

impress
    description: object oriented graphics drawing
    author: Christopher Jay Cox <cjcox@acm.org>
    ver: 1.0b
    license: GPL
    http://www.ntlug.org/~ccox/impress/index.html
    tsp hacks:
	remove many hardcoded fonts, most are not on muLinux
	change Global(Font)
	include tkfontsel.tcl from impress_complete
	
tkpaint
    description: object oriented graphics drawing
    author: Samy Zafrany <samy@netanya.ac.il>
    ver: 1.5.4
    license: GPL
    http://www.ice.ru/~vitus/misc/tkpaint.html
    tsp hacks:
	make window geom slightly smaller
	Victor B. Wagner <vitus@ice.ru> is the Unix port maintainer
	change font specifications, avoid bold

ldsdraw
    description:  Logical Data Structure(LDS) modeling software
    author: Alex Safonov <asfonov@cs.umn.edu> ??
    ver: 5.0a
    license: BSD style
    http://www.cs.umn.edu/~safonov/ldsdraw
    tsp hacks:
	fix exec line; move extra files to /usr/tcltk/lib/ldsdraw; make initial
	screen geometry smaller & remove placement; allow showhelp to use
	gl(home) path; touch ldsobj.tcl lib file to allow startup.


-------------------------------------------------------------------------------
---development

tkcon
    description: enhanced console for Tcl
    author: Jeffery Hobbs <jeff.hobbs@acm.org>
    ver: 1.6
    license: Copyright
    http://www.hobbs.wservice.com/tcl/script/tkcon/
    tsp hacks:
	none

vtcl
    description: visual tcl application development
    author: Stewart Allen <stewart@neuron.com>
    ver: 1.2.0
    license: GPL
    http://www.neuron.com/stewart/vtcl/
    tsp hacks:
	added exec line;
	hack vTcl:load_lib to look for .gz lib file;
	compressed lib files, but had to touch lib_*.tcl files to make things
	work
	
tuba
    description: debugger for tcl applications
    author: John Stump <johnstump@iname.com>
    ver: 2.4p1
    license: Starving Artist Artistic License; see lib/tuba/LICENSE.TXT
    http://members.xoom.com/iliadtools/tuba
    tsp hacks:
	remove TclparserX.tcl, make link to Tclparser.tcl; remove examples;
	remove docs;
	set tubalibdir to $env(TUBA_LIB); make window geom slightly smaller
	lib/tuba/tuba_lib.tcl doesn't like to be compressed


-------------------------------------------------------------------------------




Change Log: 

Nov. 1999  
	create initial TCL addon.  first release.
Dec. 7, 1999
	updated august to 0.50
	added additional mime types for neowebscript-sa (.tgz, .bz2)
	added tclticker, a stock ticker application
	added doc/Tcl-Programming.HOWTO at request of Michele
	moved this readme to ./doc


-------
enjoy!
-------

