TkZip - Updates and Release Notes
Update -- 03/18/2008:
Release du jour: 1.1.7
- This is now the stable version of record, replacing 1.1.6.
- 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.
- Removed some stray debugging writes to stdout.
- The tarball contents are now all put in a release specific
directory, e.g., "TkZip-1.1.7" - like everybody else does it.
- 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.
- 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.
- 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.
Update -- 03/18/2008:
Release du jour: 1.1.6
- Added --force-local hack for GNU tar.
- Misc other GNU tar hacks.
- Misc. Help typo corrections.
- Misc. cosmetic widget cleanups.
- Use user's home directory instead of C: under Windows NT/XP
and newer.
- Prevent navigating into TkZip temp and config directories
under Windows.
- Misc other Unix/Windows file nameing consistency fixes.
- Misc. Cygwin vs. native Windows fixes.
- 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.
- Misc. filename globbing fixes.
- 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.
Update -- 03/14/2003:
Release du jour: 1.1.5
- 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).
- 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.
- 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.
- 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.
- Some minor Help cleanup.
Update -- 11/19/2002:
Release du jour: 1.1.4
- Fixed broken directory parsing with some versions of unzip.
- Corrected a couple of possible infinite loops on extraction.
- 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).
- Moved/removed some comments that caused "you can't put a
comment *there*" errors under Tcl/Tk 8.4.
- 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.
Update -- 03/31/2002:
Release du jour: 1.1.3
- TkZip's home has once again moved. Updated code and support files to
reflect the new home page URL and email address.
Update -- 02/28/2002:
Release du jour: 1.1.2
- Updated code and support files to reflect the new home page
URL and email address.
- 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.
Update -- 01/15/2001:
Release du jour: 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.
- Fixed a few typos in the FAQ.
- Added another hypertext link to the FAQ.
- Fixed the gzip 1.3 fix from 1.1.0 so that it also recognizes gzip
masquerading as zcat.
- 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.
Update -- 01/12/2001:
Release du jour: 1.1.0
- Numerous changes in font usage to accommodate MS Windows users using
non-standard default fonts.
- Changed the default for the "Improved Tar Detection" option to off.
This option sometimes caused problems with non-GNU tars.
- Corrected some Help and error message typos.
- Corrected several cases of buggy error message handling.
- 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.)
- 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.
- 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.
- Finally added a FAQ.
- 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.
Update -- 09/07/1999:
Release du jour: 1.0.15
- 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.
- 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.
- 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.
- 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.
- Bug fix -- added .deb to the list of filetypes recognized as archives
(this has relevance only for the "Show Archives Only" file-chooser option).
- Bug fix -- changed the License logic so that licensed users can freely
download the latest version from any source and install it without overlaying
their License files.
- Bug fix -- fixed another filename parsing bug under Windows.
- Bug fix -- fixed another quirk with the cache directory under
Windows.
- 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.
Update -- 08/17/1999:
Release du jour: 1.0.14
- 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.
- 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.)
- 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.
- Bug fix -- corrected yet another filename parsing bug.
- 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.
Update -- 08/08/1999:
Release du jour: 1.0.13
- 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.
Thanks to Helmut Jarausch for suggesting the idea in the first place, and for
having the temerity to crawl through all the crufty old code in TkZip to produce
a patch that was the first draft of this feature.
- 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 wildcard/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.)
- Fixed a minor cosmetic bug: "Open Archive" and "Delete Archive" did not always
get greyed out when nothing was selected in the main window.
- Corrected a couple of failures to create zip files.
- Fixed an occasional failure of the first attempt to add to an archive
after creating it.
- Fixed a failure to start up under MS Windows - introduced in 1.0.9.
- Fixed a bug that could cause the config directory to get deleted on
startup under Windows.
- Fixed a couple of minor Help typos.
- Fixed a mishandling of the config directory name for root, which caused
a startup failure on some systems. I'm grateful to Brian Schroeder for catching
this one, which I probably introduced around release 1.0.10.
Update -- 06/10/1999:
Release du jour: 1.0.12 (Bug Fix Release)
- Fixed a list handling bug in the Bug Report function.
Update -- 06/08/1999:
Release du jour: 1.0.11 (Bug Fix Release)
- Fixed a bug, introduced in 1.0.10, in parsing a command line filename
with embedded spaces. Thanks to Davor Cengija for catching this, as well as
the parsing bugs fixed in 1.0.10.
Update -- 05/31/1999:
Release du jour: 1.0.10 (Bug Fix Release)
- Fixed improper parsing of a filename entered on the command line with
a relative path.
- Fixed a couple of improper checks for the existence of a directory.
- 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.
Update -- 05/16/1999:
Release du jour: 1.0.9 (Bug Fix Release)
- 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. Heartfelt thanks go to Helmut Jarausch for catching
this one so quickly after 8.1 was released.
- Fix to recognize the way Solaris identifies zip files.
- Minor typo corrections.
- Added explicit notes in Help that devices are treated read-only.
Update -- 07/17/1998:
Release du jour: 1.0.8 (Bug Fix Release)
- Notice of e-mail outage: Due to various system problems, any e-mail
you may have sent me on the weekend of July 11-12, 1998 has been lost. If you tried to
communicate with me during that time, please re-send.
- Changed the test for plain compressed files - on some systems TkZip would
mistake a "compressed image file" for a "compressed data" file.
- 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.)
- Removed another stray write to stdout (when saving MIME types).
Update -- 05/15/1998:
Release du jour: 1.0.7 (Bug Fix Release)
- 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.
Update -- 05/04/1998:
Release du jour: 1.0.6 (Bug Fix Release)
- 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.)
- Added some more debugging info, abillity to save debugging options.
- 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.)
- 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.
This was only present as a convenience, so the user/hostname could be filled
in automatically the first time you used the Register or Bug Report functions.
It's not worth the effort to try to accommodate the quirks of all the different
Unices for something that will only be used once, if ever.
- Removed a bit of Help verbiage that still identified the release as a
beta.
Update -- 03/05/1998:
Release du jour: 1.0.5 (Bug Fix Release)
- Fixed a bug that prevented creation of a compressed tar with some non-GNU tars.
- Fixed a parsing bug that caused a failure failure to open an archive specified
on the command line in the form "../My.tar.gz".
- Removed the "Remember Symlinks" option under Windows. It had no meaning, and
caused occasional navigational quirks.
- 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.
- Modified the tar directory parsing once again. It was not properly
interpreting the filename on an IRIX 6.2 system.
Update -- 03/01/1998:
Release du jour: 1.0.4 (Bug Fix Release)
- Fixed a bug that prevented creation of a new tar with non-GNU tars.
- 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.
- Added a *very* beta level of MS Windows support. I'm not going to document it
properly till it's a lot cleaner. The basic functions work, but there's a lot of
work to be done yet.
If you're feeling adventurous, or really bored, and want to try it out under
Windows, here's the minimal info you need.
- It requires at least Windows 95 (or NT 4.0) and Tcl/Tk 8.0.
- You need to have the DOS/Windows ports of the following GNU tools somewhere
in your PATH:
- To handle zipped files, you need the DOS/Windows ports of zip and unzip in
your path. I refer to the Info-ZIP utilities, not PKZIP. This version
will not work with PKZIP.
- It also works fine with Julian Seward's excellent bzip2 compressor.
It also works with arj and rar (read-only, as under Unix).
- The version of compress that I have seems to be buggy, so I haven't been
able to test compress support. (If you have gzip, however, you should have no
trouble browsing or extracting compressed files: if gzip is present, TkZip will
always use it for reading a compressed file.)
- Many of the windows are pretty ugly, because of the lack of font customization.
- The AutoInstall feature is completely untested. I have no idea what it might
do.
- By default, TkZip wants to put its config files in C:\TkZip, and to build
its cache directory in C:\Temp. I have no idea what it might do if you try to
dispute that. My recommendation is to unpack the "extras" files into C:\TkZip
manually, and not let TkZip try to auto-install itself.
- The filelist widget doesn't really understand the Neanderthal notion of
"drive letters", so navigating is a bit clumsy. To switch drives you have to
type something like "C:/" or "D:/MyFavoriteDirectory" into the Current Directory
field (yes, you can use the Unix-style "/" directory separator, that's not a
typo). And as you navigate, it will drop the drive letter off the pathname, so
you have to remember where you are.
- The logo icon on the main window doesn't work under Windows. You might as
well turn the "Use TkZip Logo" option off - it'll look better.
- The default viewer list is not customized for Windows. It has the same old
set of common Unix programs, so don't just start double-clicking things to try
to view them. You'll have to enter some Windows programs in the list.
(I haven't tried setting a $PAGER environment variable to see whether it'll pick
that up.)
- You'll get no default MIME types list, since the default list just associates
a few graphics type files with xv, if xv is present on your system.
Well, xv is very definitely not going to be present on your Windows system,
so you'll have to start building the list from scratch.
If all of this hasn't convinced you that you don't want to waste your time trying
out Windows support, have fun!
Update -- 02/20/1998:
Release du jour: 1.0.3 (Bug Fix Release)
- 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.
- Added a work-around for some exception-catching problems reported on a
SunOS system.
- Bug fix: the bottom scrollbar on the archive directory window did not
pick up customized colors when creating a new archive.
- Bug fix: setting custom colors would get a Tk error trying to configure
a non-existent widget if the main window logo was being suppressed.
Update -- 02/17/1998:
Release du jour: 1.0.2 (Bug Fix Release)
- 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.
Update -- 02/16/1998:
Release du jour: 1.0.1 (Bug Fix Release)
- 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.)
- 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.)
- Fixed several problems with tar handling for non-GNU tars. (Several
GNU-isms confused other tars.)
Update -- 02/12/1998:
Release du jour: 1.0.0 (Production Release)
- This is
the first production release. I'd like to offer my thanks to the many beta testers
who offered suggestions and pointed out bugs. Without them, my life would have
been more peaceful, and the program wouldn't have been half of what it is today.
- Corrected a bug in the file list widget that could cause a bogus warning
that you were trying to enter a TkZip internal directory.
- Corrected a bug in the Uninstall Test function that caused nonexistent
directories to be reported as files instead of directories.
- Corrected an old oversight: compression-vs-speed options were never applied
when adding members to zip files. They are now.
- The Install on Upgrade option now defaults to No for non-root users. 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).
Beta users: after installing this release, non-root users 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 on upgrading to a new release.
- 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.
- Corrected parsing of filenames with embedded spaces in the "Compress
File?" message box (the operation worked fine, but the message looked
pretty silly).
- Bound contextual Help to the buttons and option checkboxes in the
major windows where it was still missing.
- Added a check to prevent opening archives while a Change Cache operation
is in progress.
- 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).
- Disabled the Delete function for tars. I have yet to find a version
of tar with a reliable delete function, even GNU tar.
- 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.
- Cleaned up the clean-up of temp files in the cache directory, which
had gotten very sloppy in the 0.9 series of betas.
- 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).
- 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).
Update -- 02/04/1998:
Release du jour: 0.9.18
- No changes. This release was cut to force overlaying of a defective copy
of the 0.9.17 distribution file that was uploaded to Sunsite.
- Great Big Flashy Warning Note:
A defective copy of the 0.9.17 tarball was uploaded to
Sunsite's /incoming on 02/04/1998.
This was the copy I use for testing, which is patched to send e-mail to
root@localhost instead of tkzip@woodsway.com. If
you got hold of this version and are wondering what's going on, well, that's
what's going on. Stop mail-bombing yourself and download this one.
I couldn't overwrite a file in /incoming, so I cut this release to supersede
it. Unfortunately, Sunsite uploads seem to be getting bogged down these days.
0.9.11 is still sitting in /pub/Linux/Incoming at this writing (02/05/1998,
22:35 EST),
as is the defective 0.9.17; but the good 0.9.18 is still stuck in
/incoming/Linux.
I apologize for any inconvenience anyone may experience, but
I corrected the error to the best of my ability within a few minutes after it
was made: I have no control over the speed with which Sunsite
will propagate the correction.
Update -- 02/04/1998:
Release du jour: 0.9.17
- Added a couple more sanity checks to inhibit sending useless e-mail
to the author, like Bug Reports with no description of the problem.
Update -- 02/03/1998:
Release du jour: 0.9.16
- Removed the separate viewer invocation for each file when a list of
files with embedded spaces in their names was selected for viewing. The
whole list of names is now always passed to a single invocation of the
viewer.
- More Help cleanup, particularly options and command line flags that
had been overlooked.
- Corrected error handling in the file list widget when you attempt to
enter a directory for which you do not have the proper permissions.
- Added the --adm command line flag to access Sysadmin functions,
which currently consist of setting certain installation options normally
patched by package installers, and not for general use. (You must
actually *be* the Sysadmin - i.e., root - to use it, or the option will
be ignored.)
- Added the --ForceInstall command line flag. It will cause TkZip to
install itself in the default locations without asking any questions,
bypassing the Install dialogue. This is for
the benefit of those die-hards who just feel more comfortable running an
install script: simply pretend that TkZip is its own install script.
- Corrected a bug that prevented setting the Tk default scrollbar
appearance.
Update -- 02/01/1998:
Release du jour: 0.9.15
- Removed some stray debugging stdout writes.
- Removed the View Single restriction on archives containing files with
embedded spaces in their names. However, for these types of archives, TkZip
spawns a separate invocation of the viewer for each file, rather than passing
the whole list of filenames to a single invocation. The other way will require
some significant rewriting, and may not make the cut for 1.0.
- Corrected a quirk that caused the MIME type information not to be loaded
at startup if both "Automatic Viewer Selection" and "Use MIME for All Files"
were set.
Update -- 02/01/1998:
Release du jour: 0.9.14
- Help is a little nicer: the window height and position within a section are
now remembered and restored when you navigate through previously visited Help
sections via the Back and Forward buttons.
- You will still see a couple of inconsistencies in identifying whether this
is 1.0 or a beta - specifically in the license info file. It is beta, but very
close. I have a couple of things I'd like to clean up, but not much that you'd
notice, unless someone reports a bug that needs fixing in the next few days.
Update -- 01/31/1998:
Release du jour: 0.9.13
- Fixed a minor oversight: the print command is now saved with the other options.
Update -- 01/30/1998:
Release du jour: 0.9.12
- This is "almost 1.0" - many changes and bug fixes. You may spot some inconsistencies
in Help verbiage, etc., with regard to whether it's a beta release or not.
- Changes:
- Install now displays the install log when it completes.
- Help menu now has a Read the Current README function.
- License Info function added to Help menu.
- Due to a rash of undecipherable e-mail from Linux newbies who didn't
read the directions, the Register/Bug Report functions will no longer fill
in the User and Host fields with the user and host hames of your machine:
you have to enter your e-mail address, and are encouraged to read the
directions in the window before hitting the Send button. (After you have
once done this, your e-mail address is saved, so you're not pestered
again.)
- The Help links have been changed from double-click to single-click.
- The Help links have been changed to a consistent red (except for
major categories in the Help Index).
- Options menu now has an option to suppress using the TkZip logo on
the main window, for those who find startup is slowed down too much by
the bitmap building.
- The Help windows are no longer destroyed and rebuilt when you
navigate from one to another - much faster and smoother.
- Several changes to accommodate FreeBSD usage - these would actually
benefit any highly structured package installation scheme, such as Red
Hat's. The primary change is restructuring code so that a single line
near the beginning can be patched to inhibit the Autoinstall logic for
the benefit of package installers.
- Added Print and Request License function to the Register and Bug Report windows.
- Bug Fixes:
- Several bogus things could happen if extracting for viewing failed,
including a tcl error (variable rc was undefined), the Create Archive
window popping up mysteriously (don't ask), and double error messages.
All fixed.
- Certain file/directory list widgets wouldn't properly update the
directory list if you manually entered a directory name of "/" - you
had to hit Return a second time. Fixed.
- When extracting files that had an absolute pathname, you could get
an overwrite warning for the absolute pathname version of the file,
although what you were about to extract was a relative name (leading
"/" stripped off). Conversely, you might get no warning about the real
file you were about to overwrite. Fixed.
- LHarc options were wrong when overwriting a file, and LHarc would
hang waiting for nonexistent terminal input. Fixed.
- Prior to this release, extracting files with absolute pathnames
always stripped the leading "/" (the default behavior of tar). The
extract window now has Absolute Path Names and No Path Names options
for those archive programs that support such options. The options are,
obviously, mutually exclusive, and checking neither of them gives the
same behavior TkZip always used to exhibit.
Update -- 01/25/1998:
Release du jour: 0.9.11
- Added an Uninstall Package function (to uninstall a package from an
archive, not to uninstall TkZip itself).
- Added a Remember Symlinks option (the new default), to cause upward
filelist navigation to retrace the path via symlinks. Prior releases forgot
symlinks, so if you traversed a symlink downward through a path, you couldn't
navigate back up via the same path.
- Added a Relative Pathnames option to the Add to Archive window. The old
handling was never quite satisfactory: if you unchecked "Absolute Pathnames",
you got a sort-of relative pathname, i.e., relative to the root directory.
This is not what is usually wanted. "Relative Pathnames" (the new default)
produces the most generally useful result - pathnames relative to the
current directory.
- Miscellaneous cleanup.
Update -- 01/22/1998:
Release du jour: 0.9.10
- All windows are now refreshed immediately when you apply appearance changes.
- Corrected a failure to recognize some of the saved appearance setings on
startup.
- Fixed a few inconsistencies in color scheme handling.
- Switched the order of the "Extract" and "Cancel" buttons on the Extract
window. It was the reverse of the Action-Cancel buttons on all the other similar
file list windows.
- Fixed an obscure list-handling bug that caused Change Cache to pop up an
error message telling you to close all open archive windows when, in fact,
they were all closed.
- Corrected erroneous forcing of View Single for tar and lzh files introduced
with spacey filename support.
- Fixed broken viewing of a gzip, also introduced with spacey filename support.
- Fixed several malfunctions with simple gzip, bzip2, and compressed files
with spacey filenames.
Update -- 01/21/1998:
Release du jour: 0.9.9
- Brad Weir suggested that setting the scrollbar colors for all the windows
to a consistent color, like the Tk default, was inordinately tedious.
He was right.
Now there are buttons on the Scrollbar appearance window for setting all the
scrollbar colors at once to the TkZip, default, the Tk Default,
or a custom color.
- More color scheme cleanup, mostly not noticeable, like excising a few hundred
lines of redundant old code. Most noticeable: eliminated the few cases where the default
scheme left listbox selections almost unreadable because of a white foreground
on too light a background.
- Fixed a sporadic bug that caused a Tk error trying to refresh a directory list
widget that had already been destroyed.
Update -- 01/19/1998:
Release du jour: 0.9.8
- Completed spacey filename support. It now supports filenames with embedded
spaces in all archive types, and the archive name can also have embedded spaces.
- Modified Install slightly for sharing a common installation among multiple
users. If your Sysadmin has installed a shared copy of TkZip, it will still pop
up the Install window
- the first time you run it (because you don't have a $HOME/.TkZip/TkZip.rc
config file)
- the first time you run a new version (because your config file says you're
running an older version)
- if your Sysadmin has not put the TkZip install directory in the default
location (because TkZip doesn't yet know where to look for it - you'll have to tell
it).
You have two options here:
- Do not install - but, you must set the Install Root to the path where
your Sysadmin installed the TkZip common directory. Then just click Close, and TkZip
will update your config file with the proper location of the common directory, so
you don't get pestered about installing again. (This was the change - 0.9.7 wouldn't
update this info in the config file if you didn't actually inatall.)
- Install your private copy - say you want to use a different (newer, I hope)
version from the one all the other users are sharing. Ok, as long as you have
a copy of the original distribution file, you can install your private copy in a
directory for which you have write permission.
- Cleaned up several of the windows that were too big.
- Split the Set Appearance window, added new options, added "Defaults" button
to restore all TkZip appearance cefaults.
- Re-worked Help some more, improved Install instructions.
Update -- 01/14/1998:
Release du jour: 0.9.7
- New logo icon in main window. Unfortunately, the addition of external bitmap
files means that TkZip now needs an install directory, and that the distribution
file moves yet further away from monolithic simplicity. This leads us to item
number 2....
- Autoinstall: I was never satisfied with the 0.9.6 distribution, with its
extra files and no install script. But I don't like install scripts, so TkZip
will now automatically install itself. Unpack the archive in a temporary location
and exec TkZip in the directory where you unpacked it. It will pop up an Install
dialogue. Read the "Installing TkZip" instructions in this window. (TkZip needs
the "Extras" file that was unpacked from the distribution tarball, which is why
you should exec it from the same directory. Otherwise, you'll have to go looking
for it in the Install dialogue.)
If this is an upgrade, TkZip will probably have found everything it needs to know,
so you can click the Install button and be done with it.
If this is a new install, you'll need to tell TkZip where you'd like it to
install the executable.
If you don't like where TkZip wants to put its install directory or where it
wants to put the binary, change them, then click Install.
If TkZip doesn't like anything you've selected
(typically a bad directory path or a source directory that doesn't contain the
install file), it'll highlight what it didn't like in red for you to correct.
When you've finished installing, or when you click Close, TkZip will finish
starting up.
- Help is now forward and backward navigable, and has hot links between
sections.
- Limited support for spacey Win95 style filenames (names with embedded spaces).
This is currently limited to zip files, since these are most commonly found in
files created by WinZip on Windows systems. The zip archive itself cannot have
spaces in its filename, but it can contain spacey files, and they can be viewed
and extracted.
caveat emptor: Viewing such files may produce unexpected or undesirable
results - know your viewer programs. Some programs handle spacey filenames just
fine, and others may get horribly confused, and take out their frustration on you.
Update -- 01/08/1998:
Release du jour: 0.9.6
- Warning: Change to default behavior!
Added mailcap, or MIME, style viewing. The "Automatic Viewer Selection" option
introduced in 0.9.5 now triggers full MIME viewing. "Edit MIME Types", under the
Options menu, pops up a dialogue for defining file types and associating viewers
with them.
You can identify file types in two ways. The preferred method is by specifying
a tag which is a unique, case-sensitve string that occurs in the file command's
identification of the file. Alternatively, you can specify a filename "extension",
like ".au" or ".jpg".
By default, if there is no MIME types file (and there won't be, if you're just
upgrading to this release), TkZip will build a very minimal one,
just so you'll have some examples to look at.
This default file specifies just three types: X pixmap, GIF, and TIFF, and associates
them all with John Bradley's excellent and ubiquitous xv (if xv is found on your
system - otherwise, TkZip wll just give you an empty list, and you'll have to start
from scratch). Each example illustrates a different style of defining a MIME type.
- X pixmap - this one is horrible; it tries to use every feature: tag and
extension, full pathname, extra command line option, and the "$*" token where
it isn't needed.
- GIF - this one must've been done by someone who's too used to Microsoft products.
- TIFF - this is the way I would do it.
So (unless you don't have xv) if you try viewing any of these types of files, TkZip
will try to pass them to xv, regardless of what viewer you thought you had selected.
This may not be what you want to happen, so be prepared to
- select Options -> Edit MIME Types and either change the associations to something
you prefer or delete the definitions you don't like, or
- select Options -> (More) -> Automatic Viewer Selection and turn it off while you
think about it.
(You can use the TkZip tarball itself to experiment with these new options. It just
happens to have a little TkZip icon in each of these 3 image formats.)
- Changed the configuration file slightly. Since there is now a second file for
MIME types, the config files now reside in a new directory, $HOME/.TkZip. The new
config file carries a release number, to simplify future upgrades.
Your existing .TkZip.rc file will be copied to the new directory and updated. The
old one will be left in place in case you need to use it with an older version of
TkZip. The first time you run this release (assuming you had an older version), a
popup will inform you of what was done.
The 2 configuration files now used are $HOME/.TkZip/TkZip.rc and
$HOME/.TkZip/TkZip.mimetypes.
- Sic transit gloria mvndi Dept.: Per user request, a brief
README
file is
now included in the distribution tarball. If you're reading this page, it doesn't tell
you much that you don't already know; but if you've just downloaded TkZip from one of
the big public ftp sites (like Sunsite or Red Hat), then you perhaps haven't read this
page, and may have a question or two.
[sigh] I guess the simple, single file distribution is history.
- Since the distribution is no longer a single file, I've also included an icon
from Pete Strader. If you like, put it where you keep your pixmaps and have your
window manager or file manager associate it with TkZip.
- Changed all of the window titles so that they consistently begin with "TkZip:",
to simplify life for those who'd like to use window manager facilities to
specify a particular icon for all windows with titles like "TkZip*".
- In previous releases, the manual viewer selection menu had Button-3 bound to
the Delete Viewer function. This binding is now changed to Button-2 instead.
Button-3 was a bad choice, since it is everywhere else used for context Help.
It was done that way for the benefit of anyone with a misbehaving mouse, or a
2-button mouse and an X-server that wouldn't properly handle 3-button emulation.
If you find yourself in this condition, there is a "Button-3 Viewer Delete" option
that will restore the old binding (Button-2 will still delete also).
- Finally added a clickable Help Index. It's much easier to find what you need
now. For incurable insomniacs, you can also still pop up the full, unindexed Help
file.
Also cleaned up a lot of Help text along the way.
Update -- 12/19/1997:
Release du jour: 0.9.5
- Added a new option, "Automatic Viewer Selection". This represents the first step
toward mailcap-style viewing. If it is set, TkZip will try to identify any files
you select for viewing, and automatically select an appropriate viewer program for them.
It will use this viewer instead of the currently selected program in your viewer list. Only
if it cannot identify the type of file, or doesn't know of an appropriate program to
associate with the file, will it fall back to using your selection from the viewer list.
As of this release, the only files TkZip knows about are the various archive and compressed
files that it supports; and, of course, the program it associates with them is...itself.
So if you open Debian package, say, and double click on the tarball inside it, TkZip
will just open a new window on the tarball directory, without your having to select TkZip
as the viewer. The option is on by default.
I'm still thinking about the design and semantics for the next phase: extending the list
of file types, and allowing you to enter your own MIME type definitions.
- Added another new option, "Use $PAGER for Default Viewer". If this is set (it is
on by default), and the environment variable $PAGER is defined in your system, TkZip
will use that program as the default viewer. In other words, it will add it as
the first entry in your list of viewers, which is the default viewer. If the program
is already in the list, it will be moved to the first position. Unsetting the option
will cause it to be removed from the list. If $PAGER is undefined, the option has
no effect.
- Bug fix: attempting to open a bzip2 file would fail if you didn't also have bzip (i.e.,
bzip version 1) also present on your system. You'd get a message saying that TkZip
couldn't find bzip2. Well, it was mistaken.
- Bug fix: attempting to view a bzipped file would fail. This did not affect complex types,
like a bzipped tar; it only happened if you opened a simple bzipped file and tried to
view it.
Update -- 12/12/1997:
Release du jour: 0.9.4
- A small but very nasty bug: TkZip would stumble rather badly over those stupid
temporary files with names like "~MyCuteLittleBackupOfYourFile" that some editors
are fond of creating. TkZip would try to query whether this was a directory, and
Tcl (with impeccable correctness) would interpret this as a reference to someone's
home directory. Result: when you tried to start TkZip, you'd get a message saying
that there was no such user as "MyCuteLittleBackupOfYourFile", followed by a page
or so of stack trace. Not a pretty sight at all.
TkZip will no longer bother to inquire about files like this.
Thanks to Brian Schroeder for reporting this, and for helping me debug it.
- Thanks also to Pete Strader for allowing me to include his animated TkZip gif
on the download page. I'd hoped to include a couple of his
icons with 0.9.4, but when Brian found the tilde-bug I figured I'd better get the
bug fix out first.
Update -- 12/05/1997:
Release du jour: 0.9.3
- Fixed support for non-rewinding tapes again. It had gotten broken by a
change in the message text put out by a recent version of mt.
Note: Non-rewinding tape support can be a rather iffy proposition
at best, and I don't have a lot of different systems available to test it on. It
depends on the mt utility to handle tape positioning, and minor differences in
implementation can break this support. If you have a non-Linux flavor of Unix, and
want to experiment with multi-file, non-rewinding tape support in TkZip, I'd be
delighted to hear your success (or failure) stories.
Update -- 12/03/1997:
Release du jour: 0.9.2
- Changed the pecking order for programs to use for compressed files. If gzip
is installed, it will always be used to open a compressed file. Some versions of
compress tend not to like files whose names don't end in ".Z", and it's not uncommon
to encounter filenames ending in ".taz".
- Changed the method of invoking tar in an attempt to work around quirks in the
version of tar distributed with Digital's OSF1 Unix for their Alpha machines. Still
waiting for feedback, but the change stays anyway - it's more canonically correct.
My recommendation to anyone with a Digital OSF1 system is to junk the tar
supplied with it and install GNU tar. You'll be much happier in the long run. Unless,
of course, you'd like to help me debug their tar....
- Changed Add logic for compressed tars to keep from stumbling over bugs in
compress that would cause a compressed tar to be wiped out if you tried to add
to it. (This was observed with a version of compress that squawked - incorrectly -
about the filename being too long, returned no error code, and produced
an empty file.)
- Added check to disable the "Delete" button for tars if GNU tar is not present.
I'm tempted to disable it altogether, since GNU tar's delete function seems
pretty unreliable.
- Added the ability to pipe an archive file to TkZip on stdin. This is still
somewhat unreliable - I'm still trying to work out the quirks in Tcl's I/O
handling. Some files work fine, some not. The command line option --pipein causes
TkZip to try to read an archive from stdin. I don't recommend using it in its
present state, however.
- I've received a rash of mail-bombings lately from people repeatedly clicking
the Send button in the "Register" window. One user pointed out that the
button doesn't give any visual feedback, so it's not immediately apparent that it's
doing anything. So I added some logic to make the Send button give some visual
feedback, and also to disable it while attempting to send a Registration request or a
Bug Report/Comment.
I hate to waste time on features that offer no useful function, but I get enough
e-mail as it is, without unintentional spam from my own program!
- Added a hack to deal with version 2.02 of unrar, which I just installed and found
that it totally confused TkZip. Seems that some brain-damaged individual persuaded the
original author to insert a colorful banner filled with ANSI escape sequences and
a bunch of promotional verbiage about some Swedish BBS, where, I presume, the product
is hosted...and further proclaiming that the file has been checked by Dr. Solomon's
virus scan. This nonsense is, of course, propagated in the Unix port of the program.
You could still extract files, but the directory listing looked really
stupid.
If I hadn't already committed to supporting rar in TkZip, I'd just remove the
abomination from my system. Grown-ups don't tolerate this sort of thing.
Update -- 10/25/1997:
Release du jour: 0.9.1
- Zcat was being invoked with an erroneous flag setting, which most people never
had a problem with because the GNU zcat that comes with gzip is terribly forgiving.
Some other versions are not.
- TkZip would sometimes temporarily lose track of where it was, if you had multiple
file/directory windows open and were flitting back and forth between them, and it would
tell you that the directory you were trying to navigate into did not exist.
- I threw "Open in Start Directory" into 0.9.0 in too big a hurry. It broke drag
and drop (starting TkZip with a filename to open). Unbroke it in this release.
Update -- 10/25/1997:
Release du jour: 0.9.0
- Added a "Set Appearance" dialogue (under the Options menu) to allow you to change the color
schemes of the various windows, and to alter the appearance of the scrollbars.
I've been hoping to get around to this for almost a year, since I installed the first alpha of
Tk 8.0. I'm not too wild about the changes they made in the default appearance of scrollbars - much
wider and flatter than the old style.
However, if you really like the new look, one of the options lets you revert to the Tk
default scrollbar appearance and color.
The color setting dialogue requires at least Tk 4.2, as it uses the tk_chooseColor command.
If you're running an older version, most of the buttons in this dialogue will simply have no effect:
you won't get an error pop-up. I've held off putting this in for about as long as I could stand it,
but most of my correspondents seem to be at least up to the 4.2 level these days.
The new default look for TkZip uses a somewhat narrower scrollbar with a more pronounced 3D look;
the trough has the same color as the top, or main, part of the window, and the slider is a sort of
charcoal gray. The colors of the scrollbar components can be set to the TkZip default, the Tk default
(whatever that may be on your system), or (if you have at least Tk 4,2) a custom color of your
choosing. The scrollbar width, element border width, and highlight thickness can also be set to the
TkZip default, the Tk default, or a custom setting.
NOTE: The appearance settings are not saved automatically, unless you
have the "Save Options on Exit" option set - just as with any other option.
- Added a new option, "Open in Start Directory". TkZip normally starts up in
your home directory, unless you invoked it with the name of a file to open. This
option will cause it to open in the directory from which TkZip was invoked. The
option is off by default.
- Couple of cosmetic cleanups to Help - like another spot that said Create/Update hadn't been
implemented yet.
Update -- 09/16/1997:
Release du jour: 0.8.7
- Profound thanks to Mark Scarborough for discovering that X is a world filled with
wondrous variety, and you can't always assume a default foreground color of black for
Tk widgets. This oversight of mine produced some pretty, white-on-white listboxes on his
Digital Unix system, which weren't really as much fun to use as I'd hoped. (I tried to
convince Mark that this was the latest "ascetic-minimalist" style of GUI programming,
but he wouldn't buy it.)
Lots of widgets tinkered with. Whew!
- With some versions of the file program, TkZip failed to recognize a compressed
(".Z") file because of a tab character that I wasn't expecting.
- On some systems the copyright info on the main window used to get truncated.
- After discussing the issue with bzip's author, Julian Seward,
I removed the option to create a compressed file with the old version of bzip, even
if you have the original program on your system.
You can still read/extract from old-style bzips, and you can use all the functions
with the the new style (bzip2) files.
- Fixed a couple of bugs affecting the status info TkZip gathers when you use the
bug report function. Some things didn't always get captured properly. Also made an
undocumented addition to the undocumented debug option.
Update -- 09/16/1997:
Release du jour: 0.8.6
- The main help text still carried the statement that the "Add" and
"Delete" buttons were only placeholders for functions that weren't implemented
yet. Quashed that nasty rumor.
- Dropped the obsolete "Disable Colormap Hack" option from the options menu.
Update -- 09/13/1997:
Release du jour: 0.8.5
- Forgot to add rpm to the System Info display of found/not found archive programs.
Rearranged that display a little -- it was getting way too wide.
- A really cute little bug, but not a great one: gzipped tars were getting created
with the tar carrying a bogus temp file name
(e.g., TkZip-0.8.4b.tar.gz actually contained a tar file called
TkzTtar4). Not only that, but TkZip encouraged gzip to lie about the true name
of the file, so it reported it as what it was really supposed to be:
TkZip-0.8.4b.tar. If you used standard naming conventions, and always went
straight for the real contents of the tarball rather than pausing at the tar, you'd
never notice -- unless you happened to try opening the file with some other, less
fiendishly clever tool, running on some other OS, and depending on a ".tar" extension
to recognize a tar, which is how the naked truth was finally exposed.
Update -- 08/26/1997:
Release du jour: 0.8.4
Update -- 06/04/1997:
Release du jour: 0.8.3
- Fairly serious bug fix. If you used the entry field on the Extract-to screen to enter the target directory name, the
directory display was updated properly, but the internal variable used to keep track of where we are
wasn't updated. If you then tried to extract into that directory, TkZip actually extracted into wherever
you were before. Heartfelt thanks to Igor Kovalenko for catching this - before I updated Sunsite.
Update -- 05/09/1997:
Release du jour: 0.8.2
- Caught one more instance of the old "triple click" bug.
- Caught another error message glitch introduced by the "Don't Save Error Files" option, where TkZip
tried to read a nonexistent message file.
- Changed TkZip's habit of ignoring directory name entries on extraction. This was an ancient hack to get
around a quirk in GNU tar's list mode of extraction. I had quite forgotten about it, because in 99% of cases
in actual use, it would Do the Right Thing.
However, two things would not work right. First, if you just selected a directory entry in a tar, expecting the
whole directory tree to be extracted, you'd get nothing.
The second was more subtle: it was the case where a tar has a directory entry only, without any files in the
directory - an empty directory. The one example I have run across where this is a big deal is the QT toolkit. Their tar
contains empty directories that must get created during extraction for their make procedure to work.
This has been corrected.
Update -- 05/05/1997:
Release du jour: 0.8.1
- Viewing of items from a zip file that were stored with pathnames was broken around release 0.7.2.
Fixed. (Didn't expect a bug fix release this soon! Think I'll let it sit for about a week before
updating Sunsite.)
Update -- 05/03/1997:
Release du jour: 0.8.0
- The "Show Archives Only" option is now saved along with all the other options.
- If you Button-3 clicked for context-Help on one of the Compression Options radio
buttons, you got the option changed instead - not very helpful. Fixed.
- With cascading menus, if you Button-3 clicked in the cascade label (you know, like the
line that says "(More) =>", and just causes the sub-menu to pop up), the next button you
clicked on - even with Button-1 - would pop up the Help item. Fixed.
- The Change Cache Directory window now goes away politely after you change the cache,
instead of waiting for you to push the Cancel button. Also, the main directory window gets
refreshed if necessary to reflect the changes.
Update -- 04/30/1997:
Release du jour: 0.7.7
- Cleaned up the extraction status indicator, so that if you have "Never Overwrite Files" set,
and all the files you selected already exist, it indicates "Nothing to Extract" rather
than just smiling stupidly.
Update -- 04/29/1997:
Release du jour: 0.7.6
- This one's looking seriously stable. It may be about time to cut 0.8.0, before
any new feature additions that might be a bit shaky at first.
- Disabled radio buttons on the Create Archive window for all the programs that
aren't on your system. Formerly, we would try to create a zip file, even if you
didn't have zip on your system. The results would usually be disappointing.
- The program insisted on using zcat to uncompress a compressed file, even if you
didn't have zcat on your system - again, a disappointment.
- Added the Change Cache Directory dialogue.
Update -- 04/28/1997:
Release du jour: 0.7.5
- Added a couple more timely temp file deletes.
- Cleaned up the annoying "-1" directory name that showed up in file list
windows if you tried to enter a prohibited directory. (It didn't
hurt anything, it just looked stupid.)
- Finally killed the old "triple click" Tk error while navigating directory lists.
Update -- 04/27/1997:
Release du jour: 0.7.4
- If you tried to add a directory to an archive, and the "No Path Names" option was selected, the add
would fail, but you wouldn't be told why. Now you're told, and TkZip refuses to try it.
Why? "No Path Names" instructs TkZip to strip the directory path component from all the
file names you selected. Now, when you select a directory, what you selected is nothing but a directory
pathname, and once that's stripped off, you've nothing left but...well, nothing.
- Use Standard Names didn't work properly if it was supposed to append ".tar.Z" to the file name.
Does now.
- Removed a couple of stray diagnostic writes to stdout.
- Occasionally, refreshing directory/file list windows could cause a Tk error message by trying to refresh
a window that had already been destroyed. Fixed.
- Fixed occasional references to a temp directory that had already been destroyed. This also resulted
in Tcl/Tk error messages.
- Added the ability to specify a directory other than your home directory for TkZip to build
its temporary cache directory in. This is for use in case your home directory resides
on a file system that is getting dangerously low on free space.
I strongly discourage its casual use. The reason the cache directory is built in your home
directory is to keep it from butting heads with some other user also running TkZip. Arbitrarily picking
another directory, like tmp, is definitely not a good idea. I am in no hurry to make it easy to do this
by adding a Change Cache Directory dialogue (though I will, before 0.8.0).
If you really do need to do this, for now you'll have to edit the init file ($HOME/.TkZip.rc). You'll
find a line that specifies a variable "TkZip*CacheDir", and its value should be that of your home directory.
If you change this, TkZip will use the new directory the next time it starts up, creating it if necessary.
Update -- 04/26/1997:
Release du jour: 0.7.3
- With the "View Multiple Files" option I started passing the list of filenames to the external
viewer program with the pathname stripped off, to conserve command line real estate. Unfortunately,
there are a few programs around that can't understand this concept, so I added the "Use
Pathnames when Viewing" option. If you try to view something and the program complains about not being
able to find the file(s), set this option on to make it happy. (It's off by default, since most programs
have no problem with this.)
- I just noticed that the only directory/file list in which you could use the entry field
to enter the directory
name was the main window. You could enter things in the others all day long, but they'd be ignored.
Fixed that.
- AfterStep/TkStep users: You need this release or later to enjoy those rather spiffy-looking
replacement widgets with TkZip.
The modified version of Tk 4.1 used by TkStep does not
set a distinct default selectbackground color in listboxes,
so selected items are indistinguishable from
everything else in the list. This makes it very difficult to tell what you're doing (or even
worse, what you've just done!)
This release eliminates the problem by just specifying the select bg to be the same as the
main bg on all the windows (this sets it off from the plain white list background).
This is a quick, temporary fix. I'll do something a little better soon.
And when I get around to doing the whole color selection dialogue thing, you can do more imaginative
color schemes on your own.
- I forgot to mention an addition to the viewing logic in the last release. When you specify
the viewer binary or command, you can specify command line flags. The name(s) of the selected
file(s) to view will be appended to whatever you entered, with a space in between. If you need
to concatenate the filename to a flag, you can specify it as "$*" in the command string. For
example, to view a binary file in hex with Edith, I have to use the following:
edith -b$*
Update -- 04/24/1997:
Release du jour: 0.7.2
- I'd like to offer particular thanks to Nick Bailey and Nicola Fabiano
for their suggestions and bug reports ths week. They've kept me busy doing
all sorts of things that weren't on my schedule [smiley icon deleted
by Cliché Police].
- Added "Express Compress" handling. For simple compressed files, in the Create Archive
window, just double-click on the name of the file you want to compress. TkZip will append the
standard suffix to the name. Clicking the Create
button will simply compress the file, bypassing all the "select file to add" dialogue.
Note: You cannot compress a file into itself, i.e., into a file of the same name.
If you try, you'll get a warning that the file already exists; if you reply "Yes, delete it",
that's exactly what will happen - and the file you wanted to compress won't be there anymore,
so be careful. You won't get into this situation if you follow the procedure above - you would have
to type in the name of a file that already exists.
- Added the "View Multiple Files" option. If selected, this overrides the rule that only the
first file in the list will be passed to the external viewer when you click the View button, if
multiple files are selected. A nice side effect of the change is that
files selected for viewing are now passed to the viewing program with their
original filenames, instead of cryptic temp file names.
The viewer, obviously, must be able to support a list of file names on the command line.
- Added the "Fast-Clean Viewer Files" option. Turning this off prevents TkZip from deleting
the temporary files extracted for viewing when you close the window they were selected from.
This is useful for some viewers - say you selected several files at once (see above),
or selected a sound file or video file to play that
needs to stay around longer than you want to leave the archive window open.
The option is on by default.
I won't say this is the last word on the subject anymore (see below).
- All open file list windows will now be updated after you extract or delete a file,
if their contents may have been altered.
- Minor correction to the ill-behaved-uncompress bug fix in 0.7.1.
- Added compression vs speed option. This affects compress, gzip, and bzip including the complex
types like gzipped tars.
For the insatiably curious, the Favor Speed, Medium, and Favor Compression options translate to
compression arguments of -1, -6, and -9, respectively, for gzip and bzip. For compress, they currently
translate to 10, 13, and 16 bits. Compress is most likely to be subject to some future tinkering due to
portability problems.
Note for bzip users: the speed-medium-compress options translate into compression block sizes
of 1, 6, and 9 respectively. These values will show up in the 4th byte of bzip's magic string, so
if your magic file defines a test of this 4th byte, you need to make sure these 3 values are recognized.
Otherwise, you may do as I did, and have TkZip refuse to open a file it just created, because it
can't recognize the type.
- Plugged up a few holes, like failing to block you from trying to update a device on an Add.
Update -- 04/21/1997:
Release du jour: 0.7.1
- Added lharc and cpio support. No ability yet to specify the cpio format to create - you get whatever
your version of cpio defaults to.
- The last word in timely temp file cleanup. All temp files, including touched-but-unused message
files and temp copies of files extracted for viewing, are now scrupulously cleaned up when their
associated window is closed.
- Cleaned up handling of the "Absolute Path Names" and "No Path Names" options so they work
properly for tars.
- Little hack to improve the chances of a successful delete from a tar - if the selected items
are at the end of the archive. (Reversed the order of the list, so last is always processed first.)
- A few people have reported that TkZip would hang at startup waiting for them to hit Return (a bit
awkward if you start it with your window- or file- manager in the background, like most of us do). I
believe this is caused by an ill-behaved version of uncompress (some would argue that they all are),
and is corrected in this release. If
you experience similar behavior after installing this release, please report it.
Update -- 04/18/1997:
Release du jour: 0.7.0
- Create/Update functions added. No create or
update supported for devices. No Help in the Add or Create file selection windows yet.
Help on the New Archive,
Add, and Delete buttons may be a little lacking, but it should get you started.
A Few Usage Notes:
- Create is functional for all supported archive types except for arj and rar. The archiving programs
for these haven't been ported to Unix (or at least I haven't found them), just the unarchivers. Oh yes - and
self-extracting DOS executables...we don't build those here.
- Add and Delete (archive members) are functional for the archive file types (including the
compressed varieties). You don't add members to or delete them from simple compressed files; they don't
have any members. The "exception" to this is described below.
- Tar updating -- caveat emptor : TkZip supports the Add and Delete functions for tar files,
but use with extreme caution. There are many different tar implementations, and they vary in their ability
to handle any kind of updating other than simple appending of non-duplicate members. Delete may work; on the
other hand, it may act as though it did - no error return code or messages - but the member is not deleted.
Adding a duplicate member may cause the file to become corrupted, or to appear so. My version of tar does
all of the above from time to time, and there's nothing TkZip can do to warn you if tar doesn't report an
error.
To get around this, I would have to add a "Homeric update" option (which I've considered for the future)
that would extract everything but the target member(s) and pipe them into a new tar, appending any duplicate
members to be added, and so on -- very time- and resource-consuming. We'll have to see if there's any demand for such
a thing. I personally would probably have little use for it.
If you want to create an archive that you frequently update, I strongly recommend that you use
zip
instead. It's designed to do that, and it does it very well.
(This warning does not apply to the Add
that you do on initial tar creation, which is what tar is best used for: packing up a bunch of
stuff into a new archive.)
- The Create Archive dialogue is a directory/file selection window, with radio buttons to select the
type of archive and an entry field for the file name. If the name you enter is that of a file that already exists, you're given a warning and asked to confirm
that you really want to overwrite the file. Warning: if you say "Yes", the file is immediately deleted;
even if you back out of the Create dialogue without creating the new archive, your old file is history.
Clicking the "Create" button then pops up an archive
directory view window on an "empty" new archive, with only the "Add" and "Close" buttons active. (This is
done even for a simple compressed file - the only time the "Add" button should ever be active for that type
of file.)
Clicking "Add" then pops up a directory/file selection window. What you're allowed to select depends on
the type of file - for a simple compressed file, you can't select a directory or more
than one file; for a tar, you can select anything; etc.
...well, almost anything. You can either select files, or directories, but not both at the same time.
This is really due to a
limitation of the Tk interface - selecting from one of these parallel listboxes causes everything in the other
to be deselected - but I haven't found it to be a hindrance in actual practice.
Clicking the "Add to Archive" button causes the
selected files or directories to be added to the archive, and the archive directory window to be refreshed.
- Simple file compression is a bit unhandy. You have to go through the full "Name that Archive then select
the file to 'add'" rigamarolle. I want to put an "express compress" option into the next
release.
- If nothing happens when you push the "Create" button in the create dialogue, either you didn't check one of
the file types, or you didn't enter a filename. If you double click on a filename in the listbox, that name
will be inserted into the filename entry field for you. The filename will have had a standard extension
appended to it in this case, regardless of the "Use Standard Extensions" setting (see below).
- There is an option to force new archives to adhere to standard naming conventions. If this option is turned
on, your filename will have the standard extension appended, if you didn't explicitly enter it that way. There's
also an option to use the GNU/Linux ".tgz" convention instead of the ".tar.gz" extension, if you like.
In some cases you may find extensions tacked onto the filename you entered even though you did not specify
"Use Standard Name Extensions". This is because certain programs, like zip and bzip, will force these extensions
onto a filename if you don't specify them. TkZip tries to anticipate this malarkey, so it can properly check whether
you're about to overwrite an existing file, and so it can know what file to display once it's been created.
- The "Delete Archive" button on the main window is now hooked up. Note that this is simply a convenience function
to delete the selected file - it does not matter whether it is an archive or not.
- Creating a
shorten file
is a quirky thing.
The shorten program
often requires fiddling with various
options on a trial and error basis, dependent on the file data, to get it to work.
To try to cope with this without adding a huge "Shorten Options" dialogue,
I added the experimental "Shorten Heuristic" option. With this option set,
if creation of a shorten file fails because the data require special options,
TkZip will do a little trial and error of its own, based
on the error returned. Only if it exhausts its bag of tricks (which is not very extensive at the moment),
will it give up and pop up an error message box explaining what went wrong and what it tried to do about it
(that also didn't work).
Sometime during the 0.7.xx stage I'll run my whole collection of GUS patches I use with
Timidity
through this to see if I can come up with any refinements.
- Various new options added, including the obligatory save-options-on-exit? option. Also options
for automatic cleanup of temp files and error message files that TkZip may leave in your home
directory.
- Rewrote the test for less than 16-bit visuals. It was unreliable, and some of the beta testers will
notice slightly brighter and more varied colors as a result.
- Added WM_DELETE_WINDOW and WM_SAVE_YOURSELF handlers. Formerly, if you used window manager
controls instead of TkZip's controls to close a window, you would either accidentally terminate
the program or cause the main window to be hung up. Sheepish thanks to Robert Wuest for pointing
out this oversight.
- Additional cleanup of temp files whenever the window they're associated with is closed, instead
of when the program exits.
- Now that updating is allowed, only one directory window at a time is allowed to be opened on a given archive
file. Trying to open an archive that is already open will simply raise the already open window.
This was an arbitrary usability decision, not a technical one. Each directory view must be refreshed
if an update occurs; and, frankly, I found the spectacle of 5 view windows popping up to the top of the
stack all at once was more confusing than it was worth - not to say a damned nuisance.
(Looked too much like MS Windows, actually.)
- Also due to the implications of updating, TkZip will now refuse to let you enter its own temporary
directories (those .TkZipnnnn/ directories you see in your home directory), lest you try any funny
business.
Update -- 03/25/1997:
Release du jour: 0.6.0
- This should be the stable pre-Create/Update release of record. Only truly debilitating
bugs will be fixed between this and 0.7.0.
- I have begun putting the 0.7.0 code together. If any bug-release fixes have to be put out in
the next few days, they may have partially
working pieces of the new functions in them. Don't use them, unless there is an explicit
statement on this page that says they should be functional.
- Links to this release will remain available until a 0.7.xx release appears stable.
- You Can't Go $Home Again - Tk 4.1 (or presumably any pre-8.0 version) would
squawk about the variable Home not being defined if you tried to open a corrupted archive.
Now you'll see the bad news error message instead, which you probably won't like either,
but I can't help you there.
Thanks to Tim West for catching this, and putting up with my debugging questions.
Update -- 03/22/1997:
Release du jour: 0.5.24
- Oh, the shame! Another bug reported! If you tried to view an archive member
with an external viewer that couldn't be located, you got the "Program Bug - unknown
error code" message, because the error message for this situation had gotten deleted.
Fixed. Thanks to Bill Campbell for catching this one.
- Couple of additions to the information sent to the author when you use the Bug Report
form. Most important of these is the Tcl/Tk release you're running, so I don't have to
keep asking people.
Update -- 03/18/1997:
Release du jour: 0.5.23
Update -- 03/04/1997:
Release du jour: 0.5.22
- OK, first public bug report received. Thanks to Curtiss Cicco for uncovering a couple
of failures to identify common archive programs properly.
- If you try to open an archive that we recognize, but you don't have the requisite
program on your system, you'll now get a message box explaining what program is missing,
rather than just "Duhhh...I don't recognize this thing." This appears to have been broken
since 0.5.20. Fixed.
Update -- 03/03/1997:
Release du jour: 0.5.21
- No change, just a note. TkZip has been uploaded to Sunsite. It lives in
pub/Linux/utils/compress/TkZip-0.5.21b.tgz (or whatever the
release du jour is). I adopted the ".tgz" Linucism for the Sunsite
edition. Hope this doesn't engender more confusion than it's worth.
Update -- 02/28/1997:
Release du jour: 0.5.21
- Same release, no code changes. Just changed the release build script to
force
maximum compression (-9) for the gzipped version. The resulting size difference
is
trivial - less than 1000 bytes.
Update -- 02/22/1997:
Release du jour: 0.5.21
- Added tape positioning logic for non-rewinding tape devices.
- Added some context-sensitive help. Right-click (button 3) on the major buttons
and menu items for help on those individual items.
Update -- 02/08/1997:
Release du jour: 0.5.20
- The program needed major restructuring before I could even begin to think about adding
the create/add functions and
the ability to handle neanderthal (non-Gnu-style) tars.
However, rather than disturb code that has been working for ages, I have left some
old stuff intact, adding and testing new things with the new structure, and then
migrating older things piecemeal. This is because, for me, this is a production tool,
and I depend on its stability, which takes precedence over clean-looking code.
The result is that for a while there will be a lot of crufty old code
and new code (some of which looks even worse than the old) side by side: the program will at
times be needlessly bloated and convoluted
and relatively incomprehensible. Bear with me, it will get better.
The basic restructuring is in place, and non-Gnu tars should work now, though
I don't have access to a lot of these to test with. A preliminary look at a SunOS system
with a crusty old basic tar/compress combo looks promising, however.
The new code admittedly has that "I was up till 3:30
this morning tinkering to get this to work and I'll clean it up later" look to it, but it
works. Cleanup to follow.
During this interim, don't bother sending me any criticisms of programming style:
there isn't any.
- Added support for ar, rar, arj, shorten, and bzip files.
Your magic file may need updating to recognize shorten or bzip files. Per shorten.h,
shorten files will have a magic string of "ajkg" starting at position 1. (I have also seen
aberrant files with the magic string starting in byte 0.)
Bzips have "BZ" in
bytes 0-1, a file format indicator (currently "0") in byte 2, and a block size indicator
("1" - "9", defaults to "9") in byte 3.
- If you invoke TkZip as a viewer (e.g., you find that a tgz contains
a zip file which, in turn, contains a bunch of tgz's, and you select one of those for viewing),
TkZip will now just handle
it internally, rather than externally invoking another instance of itself. (NOTE: TkZip recognizes
itself under the name of "TkZip" or "tkzip" if you have chosen to rename it so. It won't know
itself by any other name.)
- Improved performance of archive type determination. The old brute force code is
no longer used. However, you do need to have a reasonably up to date file command and
magic file on your system now.
- Added "Ignore GNU 'trailing garbage' message", "Improved Tar Detection", and "Don't Probe
Compressed Files" options.
- Added a very quick & even dirtier attempt to adjust the color schemes if an 8-bit display is
detected. Comes out legible, if not very pretty, on my system. YMMV.
- Added rudimentary non-rewinding tape support. No positioning logic, but if you position it,
we'll read it. Probably.
Summary of Recent Changes
- Cleaned up window mapping synchronization.
- Added misc. environment checks.
- Added Warn-on-Update option, and option saving.
- Added "Extracting/Done" status indicator.
- Cleaned up some button binding inconsistencies.
- Revised release build process to insert the actual build date/time into the program source.
- Added a rudimentary SYSINFO window.
- Dropped testing for existence of viewer programs at startup - too slow.
- Cleaned up error handling for situations like (possibly) corrupted archives that are partially readable, or
getting spurious errors due to cross-system tar incompatibilities. We will attempt to read whatever we can, but we
will warn you about the situation.
- Cleaned out a lot of old, ugly hack code.
- Added rudimentary Help, online registration, and online bug-report form.
- Fixed problems with handling zip files on raw archive devices (extra informative verbiage from
zip got inserted into the selection list).
- Program now politely cleans up after itself, doesn't leave /tmp littered with temp files.
- Added more informative error messages. If TkZip fails to handle an archive, it will tell
you if certain programs (tar, zip, etc.) are missing or incompatible. Also, all buttons for functions
that aren't implemented yet are at least hooked up to error messages telling you so.
Back to TkZip Home Page.
The TkZip pages are hosted by Woodsway Consulting, Inc.
Send comments regarding this page or TkZip to Bob Woodside (tkzip@woodsway.com)