LEGAL AGREEMENT

SkinTW! and the SkinTW! Registration Data are copyright (c) 1995-2005 Alexander R. Pruss. The word "SkinTW!" below includes the SkinTW! software proper, the SkinTW! Registration Data and this documentation file. The zipDB and syszlib code uses the zlib library (copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler). Syszlib was ported to PalmOS by Tom Zerucha and the ARM-acceleration is due to Justin Clark.

1. This is a legally binding agreement between you and Alexander Pruss. You agree to this agreement by USING SkinTW!, where "USING" is defined as copying SkinTW! or any portion of it into a PDA's storage (of any sort: permanent or not, hard disk or solid state), or executing SkinTW! or any portion of it, or making or distributing further copies of SkinTW!. If you disagree, you must destroy all your copies of SkinTW!, or portions thereof, including, if you have it, and the SkinTW! Registration Data or portions thereof.

2. SkinTW! is distributed WITHOUT ANY WARRANTY, implied or express, without even any implied MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE warranty. USE AT YOUR OWN RISK. It may crash and burn, destroying your data, but Alexander Pruss may not be held responsible for this. You agree that you know this and you agree that you know that a fully backup of all your PDA data should be made before using.

3. You can re-sell or give away your copy of the SkinTW! Registration Data but only if you delete all of your own copies of SkinTW!'s Registration Data and require the recipient to adhere to this agreement, and only if have never violated this agreement. You may install SkinTW! and, if and only if you have a legally licensed copy, its Registration Data on one PDA. You may make as many backup copies of SkinTW! and its Registration Data for your own use as you wish, providing that (a) you ensure that nobody else has access to these copies or portions thereof (thus, you may not place these copies on a network in a way that allows others to access them), and (b) that only one PDA at any given time has SkinTW!, its Registration Data and/or a portion thereof ACCESSIBLE to it, where a copy of SkinTW! or its Registration Data is defined as "ACCESSIBLE TO A PDA" providing that it is loaded on any storage, internal, external or networked, that the PDA is hooked up to, in such a way that it is possible to transfer data from that storage device to the internal memory of the PDA. Sale or transfer under any other conditions is prohibited.

4. You are not permitted to use SkinTW! in an objectively immoral way or in a way that violates copyright or trademark law, whether international or specific to your location. In fact, you are not permitted to use SkinTW! in a way that violates any law operative at your location. The one exception is with respect to laws limiting freedom of expression within a totalitarian state. For the purposes of this agreement, anti-pornography, copyright and trademark laws do not count as "limiting freedom of expression" and the United States of America does not count as a "totalitarian state".

5. Any attempts to allow SkinTW! to load or merge skins (other than the built-in OS skin) or use other features that have expired without registration after the expiry of the trial period are violations of this agreement. Furthermore, this agreement prohibits you from attempting to find, discover or communicate any methods or tools for use of expired features.

6. As a special permission that may be withdrawn at any time, and that is automatically withdrawn forever (unless explicit notification to the contrary is received from Alexander R. Pruss) whenever any of the terms of this agreement have been violated, you may distribute unmodified copies of the unregistered shareware version of SkinTW! to anyone you wish, providing that (a) all copies include in unmodified form SkinTW.prc and this readme.html file, (b) this license is binding on all recipients, (c) any website on which the data is posted neither contains or links to any methods or tools for continuation of use of the skin loading features (other than restoration of ROM skin) after the expiry of the trial period. The special permission for distributing the unregistered shareware version may be withdrawn either by personal communication from Alexander Pruss (by voice, email or writing), or by a general notice posted at www.prussfamily.us/SkinTWNotices.html. You are responsible for reading any such notices before attempting to distribute.

7. The Registration Data for SkinTW! contains a complete computer program copyright (c) 1995 Alexander R. Pruss, distributed in source code format. Copying, distribution or re- distribution of this program is absolutely forbidden by this agreement except under the conditions of point 3 as limited by the rest of this agreement.

8. You are not permitted to use SkinTW! in an objectively immoral way or in a way that violates copyright or trademark law, whether international or specific to your location. In fact, you are not permitted to use SkinTW! in a way that violates ANY law operative at your location, with the one exception being laws unduly limiting freedom of expression within a totalitarian state. At least for the purposes of this agreement, anti-pornography, copyright and trademark laws do not count as "unduly limiting freedom of expression" and the United States of America does not count as a "totalitarian state".

9. You have explicit permission from Alexander R. Pruss to use your SkinTW! registration data in a Clie PDA in conjunction with ClieSkinner, or on a T3/T5 with SkinDIA!, or to use your ClieSkinner or SkinDIA! registration to activate SkinTW!, as long as at any given time, the registration file is on only one device (unless you have purchased more than one). SkinTW! registration data is compatible with ClieSkinner and SkinDIA!.

Make a backup!

You should make a backup before using this.

Table of contents

Trial, registration and free version

SkinTW! comes with an eight day free trial during which time it is fully functional. After that, the ability to load or merge skins other than the OS skin, or to move skins to VFS, is disabled.

If you have Fitaly running (trial or registered), you get to use SkinTW! for free. If you install a trial version of Fitaly, then install SkinTW! (in this order) you can get more trial time for SkinTW!, because the trial clock for SkinTW! will only start running once Fitaly expires.

You can register on palmgear.com to restore all the functions of the full version after trial expiry.

Introduction

DIA skins on allow you to change the look of your PDA. SkinTW! lets you load and manage these skins on a Zodiac Tapwave. Do not run this on other devices--it will probably crash them.

SkinTW! includes VFS support which lets you move your skins to SD or other media and has support for 16-bit skins. You can register the trial version on palmgear.com.

Where to get or how to make skins

There are three sample skins included, ColoredLines.prc, Geeky.prc and FlowersB.prc. The Geeky and FlowersB skins only affect the graffiti backgrounds, not the statusbars. The ColoredLines.prc skin includes Velo's buttons (velo.hopto.org): a sincere thank-you is due to him for permission to use them.

Other sources of free skins

Links to new skins are likely to be posted in the 1src skins forum and on zodiacgamer.com.

Making your own

A skin creation kit is available from Velo and from the SkinTW! author. The latter includes pilrc source code. There is also a kit from ZodiacReview.

Upgrading

If you are upgrading from a previous version, turn off extended skin support in the "Options", "Preferences" menu if the previous version had it turned on. Then hotsync SkinTW.prc to your PDA. Run SkinTW! to take advantage of any bug fixes, and re-enable extended skin support if you need it.

Instructions

Read all of these instructions very carefully.

Hotsync SkinTW.prc to your PDA. If you have registered SkinTW!, hotsync SkinTW_Registration.pdb to your PDA.

Hotsync your skin to RAM or put in on a flash card in the /PALM/Programs/SkinTW or /PALM/Launcher directory.

SkinTW! needs enough memory to make two extra copies in RAM of the skin being loaded--this can be a lot of memory. If it lacks this memory, it may crash.

To deactivate SkinTW!, delete SkinTW!, do a soft reset, and then delete the "ZDIA-Active" file with the Launcher.

The "SD" (or "VFS") button lets you move a skin to VFS. To copy a skin instead of moving it, use the "File" menu.

Tapping the menu button, brings up a menu. In the "File" menu there is a useful function to move all skins from RAM to an SD card or internal drive (VFS is the general name used), to copy (not move) one skin to VFS and to copy the skin from the card to RAM. There is an options menu with many useful preferences. There is a "Merge" menu for combining resources from different skins--see further on down.

Some skins have multiple panels in the same orientation, e.g., to implement a keyboard. These are "extended" skins and require "extended skin support" (which may stop working after expiry of the trial unless you register) which is enabled in the "Preferences" dialogue of the "Options" menu.

Fitaly users

Fitaly comes with its own custom skins of which only a few components are modified from the OS skins. You can mix-and-match the components of these skins with components of other skins. Moreover, SkinTW! can be used for free on a Tapwave device on which Fitaly is running, courtesy of Fitaly.

SD card and other VFS support

SkinTW! can read skins from an SD card (and other VFS devices) and move them to VFS. Tap on the SD button (if you happen to have another VFS device, you can selected in the preference dialog). Skins are read from the PALM\Launcher, PALM\Programs\SkinT3 and PALM\Programs\AgendaBG directories on all available VFS devices. You can make SkinTW! start up faster if you keep all your skins in PALM\Programs\SkinT3 and/or PALM\Programs\AgendaBG and in the Preferences dialog disable the option to search PALM\Launcher.

It is not recommended that you load SkinTW! itself onto an SD card or other VFS device.

Uninstall SkinTW!

To uninstall SkinTW!, use "Uninstall" in the "Options" menu.

Instructions and tips for advanced users

Compressing skins

As of version 1.20, zlib-compressed skins are supported. These are 10-80% smaller than other skins. To zlib compress a skin, run the zipDB.exe program on your desktop system. If you distribute zlib-compressed skins, make sure you tell users to have version 1.20 or higher of SkinTW together with syszlib.prc installed. As of version 1.20, the included free skins are zlib compressed.

Flash ROM

Merging skins

You might like one set of components of one skin and another set of components of another. For instance, you might like the status bar from one skin but want to stick with your OS's built-in Graffiti backgrounds. You can do that with SkinTW! by using the "merge" options. First, use the "Load" button (or just press the five-way navigator) to load the skin you want for most of the components. Then highlight another skin by tapping on its name, and pull down the menu (tap on the "SkinTW!" title bar), go to the "Merge" menu, and choose which components you want to merge in. If you want more precise control, choose the custom merge option.

The "Merge all" option is useful for "partial" skins. These are skins that do not include all components. For instance, some "partial" skins may include only buttons or only Graffiti backgrounds. Normally when a "partial" skin is loaded, the missing components are supplied from the built-in OS skin. But if you load the skin via the "Merge all" option (or in fact via any merge option), the previously active skin's resources are used for the resources missing in the skin loaded.

"

It is possible that creating such a hybrid might violate copyright laws. Consult your local law and any license agreements with your skins and software.

16-bit skins

To improve quality, you can use 16-bit skins. These display correctly in both 8- and 16-bit screen modes, though look best in 16-bit modes. The sample skins are 16-bit skins.

Not all applications support 16-bit display. Those that do not will display the skin in downgraded 8-bit mode, though should still work. In the Preferences, there is a "dithering" option in the preferences to control how the skin gets downgraded. The "auto" option leaves it up to the skin designer. (Currently, all skins are released with dithering enabled.) When dithering is on, 16-bit images displayed in 8- bit mode are more fuzzy but have better color fidelity, while without dithering the images are sharper but the color fidelity suffers. Which is the better choice depends on the skin. You will need to reload the current skin for this option to take effect as it only affects skins at loading time.

Warning: Support for 16-bit skins may result in problems with some backup software because the SkinTW! internal databases have an oversized (>65000 bytes) resource. For instance, Backupman may skip the SkinTW! internal databases when restoring, but seem to work fine otherwise. In general, backup software may ask whether to skip the StatusBarResources database when restoring due to out of memory or other errors--this is because of the oversized resource. Just say "yes" to any skip or delete prompts for this database. SkinTW! will regenerate it next time you load a skin.

Saving skins

You can save the currently displayed skin ("File | Save As..."), if copyright law allows this. This will create an extra copy of the skin. You can choose to compact the skin while doing this. Saving the skin also saves the button and clock colors (though not the full vs. two-color setting, which is not stored in a skin). Saving is useful when you have customized the skin via merge and color operations.

Compacting is quite useful in conjunction with special skins that change only a few components.

Extended skin support

Extended skins may include keyboards and tap pads. Once you turn on extended skin support, buttons in the Graffiti area default to on-pen-down action, so they will activate as soon as the pen is touched to the Graffiti area rather than when released. The preferences ("Options | Preferences...") can change this. The preferences also control the "Click volume" for tapping on items in the Graffiti area. In default on-pen-down mode, the click is emitted for all on-Graffiti items. In on-pen-up mode, it may be emitted only for "keyboard type" items. Finally, you can control whether the system's autoshift works for on-screen keyboards.

SkinTW! skin format

The SkinTW! skin format uses the Creator ID 'ZDIA' and type 'skin' (type 'actv' for auto-loader use). Moreover, no 'ovly' resource should be present. For copyright and space reasons, it is a good idea to omit resources that are just direct copies of what is in the ROM.

Free mode

After SkinTW!'s trial expires, SkinTW! enters a feature-reduced "free mode". In "free mode", you cannot load any new skin (except the built-in OS skin) via the friendly interface. However, if you use the Launcher to delete the "ZDIA-Internal" database, then whenever you start SkinTW! or reset your PDA, it will load the first skin with creator id 'ZDIA' and type 'actv' that it finds. This lets you use SkinTW! with one skin at a time. Skin developers should feel free to include an unregistered copy of SkinTW!, including this documentation, with their skins, in order that their skin be loadable. Extended skin features such as keyboards will not work.

Emergency recovery

If you load in a really buggy skin, you could have continual crashes on reset. To fix this, you can try to do a warm reset and then use the launcher to delete the "ZDIA-Internal" skin.

Other devices

Skin and application developer information.

Making 16-bit skins requires generating the appropriate 16-bit resources. The catch is that if you do that, some abmp resources might end up exceeding the 65000 byte limit, and then you will be unable to copy or load the skin. SkinTW! allows a workaround for this limit. An abmp resource may be split into two resources, an abmp resource that is exactly 65000 bytes long and a continuation resource of type 2bmp and the same id. When loading, SkinTW! will simply merge the two binary resources together into a single image.

The full version of SkinTW! 1.10 and up allows for "extended skin handling". Extended skin handling has three features, each activated by enqueuing an appropriate keystroke:

Contact information

The author can be contacted by email at ap85@georgetown.edu.

There is a Yahoo discussion/support forum.

History

Version 1.20: Support zlib-compressed skins. The included skins have now been zlib-compressed. Make sure you hotsync syszlib.prc.

Version 1.17: Fixed extended keyboard bug in some windows.

Version 1.16: Removed depth settings as they are not needed on the Zodiac and can cause problems.

Version 1.15: Support non-ASCII shifts in keyboards. Fix copy-to-RAM bug.

Version 1.13: Control key click volume.

Version 1.12: Enter keys from on-DIA keyboard at pen-down (user selectable).

Version 1.11: Autoshift, key-click and shift indicator support.

Version 1.10: Extended skin and shift key support. Added ColoredLines skin.

Version 1.01: Fix bug in copying from card to RAM. Added sublaunch capabilities (sysAppLaunchCmdCustomBase+0 tries to load 'ZDIA'/'actv' skin).

Version 1.00: Initial release.