Tk 8.0.5 for Windows by Scott Stanton Scriptics Corporation scott.stanton@scriptics.com RCS: @(#) $Id: README,v 1.8 1999/02/09 03:46:27 stanton Exp $ 1. Introduction --------------- This is the directory where you configure and compile the Windows version of Tk. This directory also contains source files for Tk that are specific to Microsoft Windows. The rest of this file contains information specific to the Windows version of Tk. 2. Distribution notes --------------------- Tk 8.0 for Windows is distributed in binary form in addition to the common source release. The binary distribution is a self-extracting archive with a built-in installation script. Look for the binary release in the same location as the source release (ftp.scriptics.com:/pub/tcl/tcl8_0 or any of the mirror sites). For most users, the binary release will be much easier to install and use. You only need the source release if you plan to modify the core of Tcl, or if you need to compile with a different compiler. With the addition of the dynamic loading interface, it is no longer necessary to have the source distribution in order to build and use extensions. 3. Compiling Tk ---------------- In order to compile Tk for Windows, you need the following items: Tcl 8.0 Source Distribution (plus any patches) Tk 8.0 Source Distribution (plus any patches) The latest Win32 SDK header files Borland C++ 4.5 or later (32-bit compiler) or Visual C++ 2.x or later In practice, 8.0.5 was built with Visual C++ 5.0 In the "win" subdirectory of the source release, you will find two files called "makefile.bc" and "makefile.vc". These are the makefiles for the Borland and Visual C++ compilers respectively. You should copy the appropriate one to "makefile" and update the paths at the top of the file to reflect your system configuration. Now you can use "make" (or "nmake" for VC++) to build the tk libraries and the wish executable. In order to use the binaries generated by these makefiles, you will need to place the Tk script library files someplace where Tk can find them. Tk looks in one of two places for the library files: 1) The environment variable "TK_LIBRARY". 2) In the lib\tk8.0 directory under the Tcl installation directory as specified in the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.0 Value Name is "Root" 2) Relative to the directory containing the current .exe. Tk will look for a directory "..\lib\tk8.0" relative to the directory containing the currently running .exe. Note that in order to run wish80.exe, you must ensure that tcl80.dll, tclpip80.dll, and tk80.dll are on your path, in the system directory, or in the directory containing wish80.exe. 4. Test suite ------------- The Windows version of Tk does not pass many of the tests in the test suite. This is primarily due to dependencies in the test suite on the size of particular X fonts, and other X related features as well as problems with "exec". We will be working to develop a more general test suite for Tk under Windows, but for now, you will not be able to pass many of the tests. 5. Known Bugs ------------- Here is the current list of known bugs/missing features for the Windows beta version of Tk: - There is no support for custom cursors/application icons. The core set of X cursors is supported, although you cannot change their color. - Stippling of arcs isn't implemented yet. - Some "wm" functions don't map to Windows and aren't implemented; others should map, but just aren't implemented. The worst offenders are the icon manipulation routines. - Color management on some displays doesn't work properly resulting in Tk switching to monochrome mode. - Tk seems to fail to draw anything on some Matrox Millenium cards. - Printing does not work for images (e.g. GIF) on a canvas. - Tk_dialog appears in the upper left corner. This is a symptom of a larger problem with "wm geometry" when applied to unmapped or iconified windows. - Some keys don't work on international keyboards. - PPM images are using the wrong translation mode for writing to files, resulting in CR/LF terminated PPM files. - Tk crashes if the display depth changes while it is running. Tk also doesn't consistently track changes in the system colors. If you have comments or bug reports for the Windows version of Tk, please direct them to: or post them to the newsgroup comp.lang.tcl.