TkZip README ============= Current version: 1.1.7 Author: Bob Woodside Prerequisites: X Window System, Tcl/Tk 7.4/4.0 or higher (some features are inoperative with older Tcl/Tk releases, but this does not affect the basic program functions). More Info: The official TkZip Web pages are at http://woodsway.com/TkZip The latest version can be fetched from there, and a comprehensive set of release notes going back farther than you really want to know. How to Install: --------------- Just unpack the archive and exec the program TkZip in the directory where you unpacked it. It will automatically open the Install dialogue. Read the "Installing TkZip" directions in the Install window, and change any directory paths if you wish, then click the Install button. An install log will be left in your home directory explaining what was done. If you choose not to install, TkZip will still run, but 1) any bitmaps it uses will be replaced with boring text, and 2) it will pop up the install window every time you start it. If you are running as root, you can also invoke TkZip with the command line option --ForceInstall and it will just install itself in the default locations without asking any questions. Shared Users: If your SysAdmin has installed a shared copy of TkZip, the Install dialogue will still pop up the first time you run the program (or a new release). Do not try to run the install, just make sure the Install Root field in the Install window points to where the SysAdmin has placed the TkZip common directory, and click "Close". This will update your private config file to point to the common directory where bitmaps and documentation files like this one live. Optionally, you can put TkZip01.xpm wherever you keep your pixmaps if you want to have your window manager or file manager associate it with TkZip. The TIFF version of it in the tarball is just there for testing the MIME viewing feature (see the Changes section): you don't need it for anything. Once you've installed, you can delete everything you unpacked (assuming you chose to let TkZip install the executable - otherwise... better not throw it away). Help: ----- The Help Index selection under the Help menu gives you a clickable index to the various Help sections. The Help selection pops up the whole long, boring Help file. Not recommended for the faint of heart. Button-3 (right button) clicking on the buttons and menu items in the main window and the archive directory windows gives you a more digestible context help window. Help text tagged in red is a clickable hypertext link. If you view this README file (or the FAQ) from within Help (Help -> View the Current README or Help -> View the Current FAQ), you get the benefit of some hypertext links to related information. Warning About Running Older Releases: ------------------------------------- Running releases older than 0.9.6 after you have installed a current release will cause your new-style config file directory ($HOME/.TkZip) to be deleted. Older versions, which had a single config file ($HOME/.TkZip.rc), will think this new directory is a stale cache directory that needs cleaning up on startup. Known Bugs in This Release: --------------------------- None that I know of yet. Packing List: ------------- This is what's in the distribution file. TkZip-1.1.7 The top level directory README This file. TkZip The program. This is really all you need. TkZip-1.1.7-Extras.tar The extra components (mostly bitmaps) that will be installed (in /usr/local/share/TkZip by default, unless you change that in the Install dialogue). You can delete this file after installing. It contains: README Another copy of this README file. It will be installed in the TkZip directory. TkZip-FAQ If you have a question, look here first. Someone else may have already asked it, and I may even have thought of an answer. ReleaseNotes Release notes for older releases, that used to be in this README. They had become so copious over the last several betas that I split them out into another file. License The License Information that pops up when you click "License Info" under the Help menu. TkzVer.rc Contains the release of the currently installed version of TkZip. If this version matches that of the executable, TkZip will not prompt users to install when they run a new version. TkZip01.gif TkZip logo icon used in the Main window of TkZip. (The icon artwork is courtesy of Pete Strader, slightly modified by me. Created with The GIMP, naturally.) lbutton Left arrow bitmap used in TkZip. rbutton Right arrow bitmap used in TkZip. TkZip01.xpm An optional xpm version of the logo icon for use with your window manager or file manager. TkZip01.tif A tiff version of the logo - just for testing MIME type viewing. Changes in This Release (1.1.7): -------------------------------- 1. Fixed the logic that prevents TkZip from entering TkZip's private directories. It was formerly possible to bypass the chack if you explicitly typed in a pathname like "/home/myuserid/.TkZip". We put a stop to that nonsense. 2. Removed some stry debugging writes to stdout. 3. The tarball contents are now all put in a release specific directory, e.g., "TkZip-1.1.7" - like everybody else does it. 4. Added an option to pop up a debugging console when in debug mode. Sadly, this only works under Windows (blame the Tcl/Tk team). This is not very useful to the general user, but it is to the developer. 5. Yet another GNU tar hack: to avoid running afoul of their brain-damaged wildcard handling and the --wildcards/--no-wildcards option (not sure when this problem was introduced), we no longer pass wildcarded filename lists to GNU tar. Wish they'd stop breaking things! This was actually fixed in 1.1.6, but it didn't make it into the release notes. 6. Removed the old clipping region hack for building the main window logo by hand because older Tk releases didn't grok the transparent gif background thing (and the hack sometimes didn't work under Windows). The main window logo now works the way it was always supposed to, under Unix and Windows, without hackery. Changes in This Release (1.1.6): -------------------------------- 1. Added --force-local hack for GNU tar. 2. Misc other GNU tar hacks. 3. Misc. Help typo corrections. 4. Misc. cosmetic widget cleanups. 5. Use user's home directory instead of C: under Windows NT/XP and newer. 6. Prevent navigating into TkZip temp and config directories under Windows. 7. Misc other Unix/Windows file naming consistency fixes. 8. Misc. Cygwin vs. native Windows fixes. 9. Canonicalization of Windows pathnames under Cygwin -- to enable execution of native Windows apps (e.g., Word, Excel, etc.) and passing of proper pathnames that those apps can understand, when TkZip is running under the Cygwin X server. 10. Misc. filename globbing fixes. 11. Disabled the "Use GNU Tar Features" option. There are too many bugs in the special GNU extensions to be worth the trouble (the one we first reported in 1999 still hasn't been fixed) for the marginal efficiency gains. Only standard tar features are used, except where we have to use GNU features to get around GNU bugs. This is strictly an internal issue; it is transparent to the user. Changes in This Release (1.1.5): -------------------------------- 1. Fixed a bug in adding a directory to an archive under Windows (failure to strip a trailing "/" from the directory name made it impossible to add the directory). 2. Fixed a bug that could cause a couple of unpleasant things to happen when viewing, if the "Use Pathnames when Viewing" option was set: a) a Tcl error popup saying "Error: can't read 'file"': no such variable"; and b) a possible never-ending loop in TkZip. 3. Changed the font specification for the Help windows. Formerly Help ended up being displayed in a symbol font ("Looks like Greek to me") on some systems without a rational default font specification. 4. Added a new option, "Probe MS Executables for Zip", which is off by default. Formerly TkZip would always try to open an MS Windows executable with zip to see if it was a self-extracting zip. This could be useful, but it made it impossible, for example, to view an executable with your favorite hex editor. Also, the test was somewhat unreliable (this release improves it) and TkZip would occasionally try to unzip inappropriate types of files. 5. Some minor Help cleanup. Changes in This Release (1.1.4): -------------------------------- 1. Fixed broken directory parsing with some versions of unzip. 2. Corrected a couple of possible infinite loops on extraction. 3. Shortened the "TkZip is running under [osname] [release]" text that appears in the main window. It was too long with some of the more verbose OSes (like Cygwin). 4. Moved/removed some comments that caused "you can't put a comment *there*" errors under Tcl/Tk 8.4. 5. Fixed error reporting on extraction failure. Previously, it was possible to have extraction fail and TkZip would not pop up an error message. See more information in the FAQ. Changes in This Release (1.1.3): -------------------------------- 1. Updated code and support files to reflect the new home page URL and email address at woodsway.com. There are no functional changes in this release. Changes in This Release (1.1.2): -------------------------------- 1. Updated code and support files to reflect the new home page URL and email address. 2. Fixed a bug in zip handling. When a zip archive contained a descriptive archive comment (which seems to be an infrequently used feature - it's taken me 7 years to stumble across a file that used it), TkZip got confused and failed to open the file. Changes in This Release (1.1.1): -------------------------------- 1. Help -> About now correctly displays the number of licensed users instead of the license number for licensed users with a limited use licence. 2. Fixed a few typos in the FAQ. 3. Added another hypertext link to the FAQ. 4. Fixed the gzip 1.3 fix from 1.1.0 so that it also recognizes gzip masquerading as zcat. 5. Added a check to prevent the auto-install function from destroying the TkZip executable if one tried to install both the executable and the Extras directory (also called TkZip) into the same directory, and a FAQ item explaining why one should not try to do this in the first place. Changes in Release 1.1.0: -------------------------------- 1. Numerous changes in font usage to accommodate MS Windows users using non-standard default fonts. 2. Changed the default for the "Improved Tar Detection" option to off. This option sometimes caused problems with non-GNU tars. 3. Corrected some Help and error message typos. 4. Corrected several cases of buggy error message handling. 4. Fix to accommodate gzip 1.3, which Red Hat began distributing without warning, even though it was still in GNU's collection of alpha versions. Older releases of TkZip won't recognize the existence of this version of gzip on your system; the response to TkZip's probe is now written to stdout instead of stderr as it had been from time immemorial. (This release will work with either 1.3 or the older versions.) 5. Eliminated a minor inelegance in file extraction. Formerly, if you typed in the name of the directory to extract to, rather than navigating to that directory via mouse clicks, and then clicked "Extract", your file(s) would not be put where you expected; you had to hit Enter first to cause the file selection widget to update itself. Now the manually entered change is detected before extraction occurs. 6. A couple of fixes to deal with multipart rar files. Previously, if you tried to extract from one of these files, and you didn't have all of the parts of the archive in the same directory, TkZip would act as though it were extracting, but the extract would fail with no notification that an error had occurred. Also, if you tried to view a file from such an archive, or to use the "What's This?" function, nothing would happen. These problems are all fixed. You still can't extract anything from an incomplete rar set, but extract will now show you the error message issued by unrar so that you can see what the problem is. 7. Finally added a FAQ. 8. Changed the handling of colors in various radiobuutton and checkbox widgets to account for differences in the way Tk treats them under MS Windows. Formerly it was often very hard to tell which ones were actually checked under Windows. Changes in Release 1.0.14: -------------------------- 1. Added a --LastCloseExits option. This causes the program to exit when the last archive window is closed, regardless of whether the --nomain is set or not. In conjunction with --iconic, you can have most of the convenience of --nomain, but still be able to get at the main window should you decide you want to. 2. Added a "What's This?" function, which pops up a little message window identifying the type of file(s) you have selected from either the main window or the archive directory windows. To activate it, you must first select one or more files with Button-1 (left button), then click with Button-3 (right button) to pop up the "What's This?" window. 3. Fixed the file-chooser widget to handle more reasonably those quaint "drive letters" that MS Windows persists in clinging to - presumably out of filial reverence for its CP/M ancestor. Now Windows users can navigate handily through the file system without having to type a drive letter explicitly in the entry field to switch drives. 4. Changed the locations for TkZip's config file directory and the default data directory under MS Windows, to conform to common practice. The data directory is C:\Program Files\TkZip; the location of the config file directory is C:\Program Files\TkZip\TkZip. When you first run 1.0.15 or later, if it finds config files in the old location (C:\TkZip) and not in the new, it will copy the existing ones to the new location. 5. Bug fix -- added .deb to the list of filetypes recognized as archives (this has relevance only for the "Show Archives Only" file-chooser option). 6. Bug fix -- changed the License logic so that licensed users can freely download the latest version from any source and install it without over- laying their License files. 7. Bug fix -- fixed another filename parsing bug under Windows. 8. Bug fix -- fixed another quirk with the cache directory under Windows. 9. Bug fix -- fixed a bug introduced in 1.0.13 with the Find function. If you had the Find window open and tried to do an extract, or any other operation that caused disk file updating, you'd get a Tcl error message about an undefined variable in function RefDirs when TkZip tried to update the views of all the open file-chooser windows. Changes in Release 1.0.14: -------------------------- 1. Added an --iconic option. This causes the main window to be started iconic; if a filename is specified, the archive directory window is not started iconic, just the main window. 2. Aded a --nomain option. If a filename is specified, the main window is not created at all, just the archive directory window. This is for use in cases where TkZip is started by some other program like a file manager or a mail reader, to open a specific file. In such cases, it is often distracting to have the main window popping up, when all you want to see is the file you're opening. If the archive contains other archives, you can open them as usual. When the last archive directory window is closed, TkZip terminates. This option makes it convenient to use TkZip as a sort of poor man's magic file manager. Here's an example; I sometimes use a mail reader that doesn't understand that lame MIME type "application/octet-stream". So, in my mailcap file I specify that "TkZip --nomain %s" should be used to open such files. I have TkZip's "Use MIME for All Files" option set, and a set of MIME types configured. Now, when I ask the mail reader to open such an attachment - let's say it contains a JPEG file - TkZip probes the file, spawns ImageMagick to display it, and quietly goes away without ever having been seen. If no filename is specified, this option has no effect (if it did, TkZip would be hanging around forever with *no* windows open and no way to communicate with it.) 3. Bug fix -- a couple of typos (around the time of 1.0.9) caused some system status information to be missing from the Bug Report. 4. Bug fix -- corrected yet another filename parsing bug. 5. Bug fix -- the Install dialogue would cause TkZip to forget about the Open In Start Directory option; worse, if TkZip was started with a filename to open, the Install dialogue would cause it to forget what directory the file was in, and (usually) try to open a nonexistent file because it was looking in the wrong place. Changes in Release 1.0.13: -------------------------- 1. Added a new option to allow you to specify a special name for GNU tar. This is for the benefit of users who like to leave their vendor-supplied tars under the name of "tar", but install GNU tar under a different name (commonly "gtar"). This option, together with the new "Prefer GNU Tar" option, allows you to choose which tar you want to use for a given file. 2. Added a Find function to the directory window - very handy when you're trying to locate something in a very large tarball. It has the usual options you'd expect - forward, backward, wrap, find all - but no wild- card/regular expression matching. To invoke it just single-click on the directory listbox with Button-2. (OK, so it's less than intuitive, but there are already too many buttons in that window, and I don't want to change the whole window layout just now.) 3. Fixed a minor cosmetic bug: "Open Archive" and "Delete Archive" did not always get greyed out when nothing was selected in the main window. 4. Corrected a couple of failures to create zip files. 5. Fixed an occasional failure of the first attempt to add to an archive after creating it. 6. Fixed a failure to start up under MS Windows - introduced in 1.0.9. 7. Fixed a bug that could cause the config directory to get deleted on startup under Windows. 8. Fixed a couple of minor Help typos. 9. Fixed a mishandling of the config directory name for root, which caused a startup failure on some systems. Changes in Release 1.0.12: -------------------------- 1. Fixed a list handling bug in the Bug Report function. Changes in Release 1.0.11: -------------------------- 1. Fixed a bug, introduced in 1.0.10, in parsing a command line filename with embedded spaces. Changes in Release 1.0.10: -------------------------- 1. Fixed improper parsing of a filename entered on the command line with a relative path. 2. Fixed a couple of improper checks for the existence of a directory. 3. Fixed a navigation bug that could cause the Archive Create window to pop up mysteriously if you tried to enter a directory that didn't exist. Changes in Release 1.0.9: ------------------------- 1. This release contains a workaround for a bug in the 8.1 release of Tcl that caused wish (actually the Tcl interpreter) to segfault during TkZip's initialization. 2. Fix to recognize the way Solaris identifies zip files. 3. Minor typo corrections. 4. Added explicit notes in Help that devices are treated read-only. 5. * Note to new users: it is possible to confuse TkZip's install function if you unpack the tarball in the directory where you're planning to install TkZip. Unpack it someplace temporary like /tmp, or $HOME/tmp; do not unpack it someplace like /usr/local/share (the default location for the extras directory) and then try to install. Changes in Release 1.0.8: ------------------------- 1. Changed the test for plain compressed files - on some systems TkZip would mistake a "compressed image file" for a "compressed data" file. 2. Fixed a bug that prevented the Select All/Deselect All button from working when you opened a file with embedded spaces in the filename. (Don't ask - the symptom was an error popup saying that SelectNone was being called with too many arguments.) 3. Removed another stray write to stdout (when saving MIME types). Changes in Release 1.0.7: ------------------------- 1. Updated to recognize the changed verbiage used by the GPL'ed version of file to identify a bzip2 file. This is known to be a problem with file 3.24; I'm not sure about 3.23. Changes in Release 1.0.6: ------------------------- 1. Fixed an obscure parsing problem causing filenames containing a "$" to be mishandled. (It is left as an exercise for the reader to determine why such a thing might confuse the command interpreter.) 2. Added some more debugging info, abillity to save debugging options. 3. Added an extra sanity check to prevent deleting the current cache directory when Clean Old Temp Files option is on. (I have two reports of such a thing happening on file, but have never been able to reproduce it on any system to which I have access.) 4. Eliminated the attempt to capture the system's FQDN with "hostname -f". On too many systems this causes the hostname to be set to "-f" if executed as root. 5. Removed a bit of Help verbiage that still identified the release as a beta. Changes in Release 1.0.5: ------------------------- 1. Fixed a bug that prevented creation of a compressed tar with some non-GNU tars. 2. Fixed a parsing bug that caused a failure to open an archive specified on the command line in the form "../My.tar.gz". 3. Removed the "Remember Symlinks" option under Windows. It had no meaning, and caused occasional navigational quirks. 4. Forced non-GNU tar handling when extracting for viewing under Windows, even with GNU tar. Extracting a member to stdout seems buggy with the Windows port of GNU tar that I have. 5. Modified the tar directory parsing once again. It was not properly interpreting the filename on an IRIX 6.2 system. Changes in Release 1.0.4: ------------------------- 1. Added a *very* beta level of Windows support. If you wish to try it under Windows, check the TkZip Web pages for the latest status or e-mail me. I'm not going to document it till it's a little more polished. 2. Fixed a bug that prevented creation of a new tar with non-GNU tars. 3. Fixed a bug in handling compression options for compressed files: due to a couple of transposed statements, if you specified a compression option, you didn't get it, and if you specified one, you got Tcl squawking about an uninitialized variable. Changes in Release 1.0.3: ------------------------- 1. Added a "Use GNU Tar Features" option (on by default) to provide a work-around for a bug in GNU tar: when extracting a single directory using the -T option (tar is passed the filelist in a file), GNU tar will extract the entire archive. (The bug still exists in release 1.12.) Turn off this option if you're using GNU tar and want to extract only a single directory. Otherwise, leaving it on will result in the most efficient processing. 2. Added a work-around for some exception-catching problems reported on a SunOS system. 3. Bug fix: the bottom scrollbar on the archive directory window did not pick up customized colors when creating a new archive. 4. Bug fix: setting custom colors would get a Tk error trying to con- figure a non-existent widget if the main window logo was being suppressed. Changes in Release 1.0.2: ------------------------- 1. Modified the tar handling routines to recognize the directory list format change in release 1.12 of GNU tar (distributed with Red Hat 5.0 Linux systems, I believe). View and Extract would formerly fail with this version of tar. Changes in Release 1.0.1: ------------------------- 1. Corrected a bug that sometimes left TkZip in its temporary cache directory when it tried to delete that directory on shutdown. (On some systems this does not cause a problem; it does on others.) 2. Corrected the routine that checks the current release level against the user's config file - it could incorrectly conclude that 0.9.18b, for example, was a newer release than 1.0.0. (The bug was introduced in 0.9.10.) 3. Fixed several problems with tar handling for non-GNU tars. Changes in Release 1.0.0: ------------------------- 1. Corrected a bug in the file list widget that could cause a bogus warning that you were trying to enter a TkZip internal directory. 2. Corrected a bug in the Uninstall Test function that caused nonexistent directories to be reported as files instead of directories. 3. Corrected an old oversight: compression-vs-speed options were never applied when adding members to zip files. They are now. 4. The Install on Upgrade option now defaults to No for non-root users, and the Install Options menu will now appear for all users (Install on Upgrade is the only option that will appear unless you're the SysAdmin). Pre-1.0 Beta users: after installing this release, non-root users (if they're using a shared copy of TkZip) should turn this option off and save their options. It was formerly on by default, and TkZip's policy is not to alter your saved config options when upgrading to a new release (unless an option has become obsolete, which is not the case here). 5. Fixed the buttons on the error/warning message windows to use the same colors as the main window buttons. Previously, the buttons could become illegible if you customized your color schemes. 6. Corrected parsing of filenames with embedded spaces in the "Compress File?" message box (the operation worked fine, but the message looked pretty silly). 7. Bound contextual Help to the buttons and option checkboxes in the major windows where it was still missing. 8. Added a check to prevent opening archives while a Change Cache operation is in progress. 9. The Add window now remains open after an Add completes, in case you want to select more files to add. Also, the archive window is simply refreshed, instead of being destroyed and recreated - much less visually annoying (and faster). 10. The Delete function is disabled for tars. I have yet to find a version of tar with a reliable delete function, even GNU tar. 11. Corrected a bug (introduced in 0.9.10) that could cause an unending loop in the function that refreshes all open file/directory lists after a new file is created or deleted. 12. Cleaned up the clean-up of temp files in the cache directory, which had gotten very sloppy in the 0.9 series of betas. 13. Corrected a bug that prevented two archives with names beginning with the same string, e.g. xyz.tar and xyz.tar.gz, from being opened at the same time (if the longer name was opened first). 14. Blocked the concurrent opening of two compressed tars containing tars with the same name (the result would be files in the cache overwriting each other). Changes in Previous Releases: ----------------------------- Due to the large number of bug fixes and feature changes in the last several beta releases prior to 1.0, the older Release Notes were split out into a separate ReleaseNotes file. These notes go back to release 0.9.6: for information on older releases check the TkZip Web pages. - Bob Woodside 22 March, 2008