XArcTool V2.0 ============= © 1995 by Matthias Meixner Introduction ------------ XArctool is a graphical userinterface for the xpkarchive.library. It allows you to handle archives similar to directory-utilities like opus. You can add files to archives, extract files from them and copy files between different archives without decompression/compression. Furthermore it allows you to copy files from one directory to another just like a normal directory-utility. What's new is the ability to rename files within archives and add filenotes to files within an archive. You can modify the protectionflags of files and keep track of different versions of one file within the archives. This is achieved using file-generations. If you add a file to an archive and there is already a file with the same name in it, then the new file gets the next higher version number. The higher the versionnumber is, the newer is the file (at least as long as you have not changed the versionnumber manually). Versionnumber 0 has a special meaning, it references always the file with the highest versionnumber for a given file, which is normally the newest version of that file. In fact all these abilities are offered by the xpkarchive.library and XArcTool is just a comfortable userinterface to the abilities of this library. If you want to use these functions yourself read the docs of the xpkarchive.library that comes with this package. XArcTool is fontsensitive up to a certain degree as long as the size of the font is not too large for the selected size of the window. However if you select a very large font and select very small windowdimensions the layout will get messed up, but the program still should work fine. License/Disclaimer ------------------ XArcTool (C) Copyright 1995 by Matthias Meixner. All rights reserved. This program is GIFTWARE which means that if you like the program you should reward the author with a gift that, you think, matches his efforts. This Program may be freely distributed with the XPK compression package, as long as it is kept in its original, complete, and unmodified form. It may not be distributed by itself or in a commercial package of any kind without my written permission. This also means the distribution on cover disks, disk magazines etc. Fred Fish may include this program on his AmigaLibDisk series. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Getting started --------------- First install the xpkarchive.library by doubleclicking on the "Install_Lib"-icon, then simply drag the whole drawer to a location on your harddisk. CLI-USAGE: XArcTool PATH/M,P=PACKER/K,M=MODE/N,PW=PASSWD/K,L=LEFT/N,T=TOP/N,W=WIDTH/N, H=HEIGHT/N,I=ICON/S Option: Effect: PATH/M Allows you to select the two paths, that XArcTool uses. They may be also archives, that should be entered. e.g. XArctool ram: hd0: P=PACKER selects the default packer M=MODE selects the default packmode PW=PASSWD selects the default password for encryption L=LEFT, T=TOP, W=WIDTH, H=HEIGHT selects the position and dimensions of XArcTool's window I=ICON cause XArcTool to generate icons for archives. Additional example: XArcTool P=FEAL M=100 PW=test ICON ram: Will cause XArcTool to use FEAL with mode 100 and password "test" as default. The path of the left directorylist will be "ram:". It will generate icons for newly generated archives. WB-USAGE: WB offers the same options as available from CLI, just add one line per option in the tooltypes in the icon. You can feature the PATH option by using multiple selection from workbench: click once on XArcTool, then once on the first directory and then doubleclick the icon of the second directory. Very useful in this context are the LEFT,TOP,WIDTH and HEIGHT options which allow you to customize the size of XArcTool's window via the tooltypes. Using XArcTool -------------- When XArcTool opens up its window you will see two directorylists, one on the left and one on the right side. The stringgadgets above represent the pathname of the directories that are displayed, where the upper one gives the pathname on disk and the lower one gives you the pathname within an archive if you have selected an archive in the upper path. The arrow between the two pathgadgets defines the direction of the copy command and by this it defines the source- and destinationdirectories. All other actions refer to the sourcedirectory. Archives are handled similar to normal directories, just that additional actions will take place. That is if you copy a file from a normal directory to an archive the file will be compressed. If you copy the other way round the file will be decompressed. Copying from one archive to another will not affect the compression, it does not decompress and recompress the file and is therefore quite fast. Creating archives or directories: If you type a path that does not exist yet, you are prompted if you want to create this object as a directory or as an archive. By this you can create new archives. Archives will get the fileextension ".xar", if they do not have already an extension. You can also use the "Makedir" or "Makearc" buttons to create a directory or an archive. Copying/compressing/decompressing files: Select the files by clicking on the corresponding lines in the directorylist or using one of the "tag" menus and click on the gadget "Copy". Depending on the selected path/archivenames the file will be (de)compressed or just copied. You can enter directories or archives by doubleclicking on these entries in the directorylists. Renaming of files: Select the files and click on "Rename". A requester will pop up and ask you to enter the new name and if the file resides within an archive the new generationnumber. You may rename directories as well as files. (See also information on generations) Deleting files: "Delete" deletes the selected files, if they are within a normal directory. Files within an archive may just be marked as deleted depending of the compression-method used (and therefore depending on the archivetype). They are physically removed by using the "Pack"-function. Undeleting files: With "Undelete" you can remove the flag, that marks a file as deleted. This is only possible, if the file has not been physically removed. Setting filenotes: "Filenote" enables you to set/remove filenotes. Removing a filenote is done by deleting the string from the stringgadget of the requester that asks you for the new filenote. Changing the fileprotection: "Protect" will open a requester for any selected file and enables you to enter the new protectionflags via some buttons. Packing archives: "Pack" will remove all files that have been marked as deleted and removes some information, that has been added for the renaming of files and setting of filenotes. After you have packed an archive it is no longer possible to recover deleted files from an archive. "Options" allows you to select a new packer-sublibrary and mode and allows you to enter the password if you have selected an encryptionlibrary. "Parent" gets the parent-directory of the sourcedirectory. "Get" rereads the contents of the sourcedirectory. "Direct-CMD" is used to send a commandline direct to the archive sublibrary. See the archive-sublibrary for more information. The listview below the "Get" gadget allows you to select a new volume for the sourcedirectory. Other Gadgets: The scrollers are used to, hmm, scroll around :-) "Sync"-Gadget: This one is a useful thing. If activated changes to the path either by double-clicking on a directory or via the "parent"-gadget are applied to both paths. This allows the easy duplication of complete directorytrees. Menus: ------ Project Quit: quit XArcTool Specials: Tag all: mark all files within the sourcedirectory as selected Tag Pattern: mark all files that match a pattern in the sourcedirectory as selected Untag all Untag Pattern : Like the "Tag" functions, just that they mark the files as deselected. What XArcTool displays ---------------------- XArcTool displays the following information in its directorylists: For normal directories (in this order): filename filesize protectionflags date&time filenote For archives: filename generationnumber (compressed size) uncompressed size packer protectionflags date&time filenote Generations ----------- xpkarchive.library is able to keep more than one version of every file (like e.g. zoo). These files have exact the same filename, but they differ in the generationnumber. xpkarchive.library tries to keep track of the versionnumber, e.g. if you add a file, that already exists in the archive, the file will get the next higher generationnumber. Generationnumber 0 is a special generationnumber and references always the file with the filename and the highest generationnumber, normally this is the newest file with a given filename. History ------- 2.0: support for the xpkarchive.library V2.0, that supports archive-sublibraries 1.4: used SetWindowPointer under V37, which exists only since V39, fixed 1.3: first public release TODO: Write a better documentation :-) If you find bugs, have questions or ??? write to: Matthias Meixner Sandberg 13 36145 Schwarzbach Germay EMail: meixner@rbg.informatik.th-darmstadt.de