LEGAL AGREEMENT

SkinT3! and the SkinT3! Registration Data are copyright (c) 1995-2004 Alexander R. Pruss. The word "SkinT3!" below includes the SkinT3! software proper, the SkinT3! Registration Data and this documentation file. The Force16 and IconFix software are freeware under the BSD license. Their license does not apply to SkinT3! or SkinT3! Registration Data.

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

2. SkinT3! 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 SkinT3! Registration Data but only if you delete all of your own copies of SkinT3!'s Registration Data and require the recipient to adhere to this agreement, and only if have never violated this agreement. You may install SkinT3! 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 SkinT3! 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 SkinT3!, its Registration Data and/or a portion thereof ACCESSIBLE to it, where a copy of SkinT3! 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 SkinT3! 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 SkinT3! 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 SkinT3! to load or merge skins (other than the built-in OS skin) 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 continuation of non-ROM skin loading/merging after the expiry of the trial period.

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 SkinT3! to anyone you wish, providing that (a) all copies include in unmodified form SkinT3.prc and this SkinT3.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/SkinT3Notices.html. You are responsible for reading any such notices before attempting to distribute.

7. The Registration Data for SkinT3! 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 SkinT3! 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 SkinT3! 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 SkinT3! registration data in a Clie PDA in conjunction with ClieSkinner if you move from a Tungsten T3 to a Clie NR/NX/NZ/TH/UX, or to use your ClieSkinner registration data in a Tungsten T3 unit if you move from a Clie to a T3, assuming you have deleted the relevant registration data from your previous PDA unit. SkinT3! registration data is compatible with ClieSkinner and vice versa.

Make a backup!

You should make a backup before using this.

Table of contents

Trial, registration and free version

SkinT3! 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 is disabled. The ability to control display depth, change clock and Graffiti button color, or control whether application buttons are shown in full color or two-color mode remains in the free version that you get after expiry of the trial period.

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

Introduction

DIA skins on allow you to change the look of your PDA. SkinT3! lets you load and manage these skins on these models. Do not run this on other models than the T3--it will probably crash them.

SkinT3! 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

Software for generating skins

Pre-made skins

There is also a free 16-bit skin included named "Geeky".

Upgrading

If you are upgrading from a previous version, hotsync SkinT3.prc to your PDA. Then run SkinT3! to take advantage of any bug fixes. For instance, if you get 1.02, you get the clock-popup-crash workaround activated as soon as you run SkinT3!, even if you do nothing else.

If you are upgrading to version 1.10 and up, and you have IconFix enabled for all applications, you will save some memory by disabling IconFix for all applications, deleting IconFix and then using the "Full-color icon mode" option in the "Color" menu of SkinT3!. This will require a soft reset.

Instructions

Hotsync SkinT3.prc to your PDA. If you have registered SkinT3!, hotsync SkinT3_Registration.pdb to your PDA.

T3 DIA skins come in three varieties: standard T3 DIA skins, F3T3AgendaBG skins and SkinT3! skins. All three kinds can be loaded by SkinT3!.

Standard T3 DIA skins activate automatically after being hotsync'ed to RAM, overwriting any previous standard T3 DIA skin. Typically they also force a soft reset on hotsync'ing. They also do not have any distinctive name in the database beyond the standard name "StatusBarResources". If SkinT3! finds that a standard T3 DIA skin got loaded into RAM since the last SkinT3! session, it will convert that skin to a SkinT3! skin, renaming it to a skin named "Unnamed DIA skin #X", and deactivate it. It will also attempt to activate the previously loaded skin. This means that you can install standard T3 DIA skins just by hotsync'ing them, running SkinT3!, and then renaming the "Unnamed DIA skin #X" skin to some more usable name.

However, this is a bit of a nuisance given the reset that these skins cause. You have two other choices. The first is to load the skin onto an SD card instead of RAM, in the /PALM/Programs/SkinT3! or /PALM/Launcher directory. The second choice is to "fix up" the skin before hotsync'ing it, and convert it to SkinT3! skin format. This can be done by double clicking on FixUpT3Skin.exe on a Windows unit, and then selecting the skin to be converted to SkinT3! format. Such skins no longer self-activate. In fact, you should not attempt to activate them in any way other than by using SkinT3!. (Advanced users may be used to activating skins by renaming them and changing the creator ID. Do not do this with SkinT3! skins, as this may cause a crash.)

F3T3AgendaBG DIA skins are very easily accessed from SkinT3!. No special steps are required. Ditto for SkinT3! skins. Note that SkinT3! skins might not be "complete". They may lack a number of resources. Missing resources will be filled in from the ROM skin by SkinT3! when activating the skin.

SkinT3! needs enough memory to make an extra copy in RAM of the skin being loaded. If it lacks this memory, it may crash. (For partial skins being loaded, enough memory for the full skin, after adding components from the base skin, is needed.)

To deactivate SkinT3!, simply load in the "Built-in OS skin" and answer the question that the dialog asks.

Tapping the menu button, brings up a menu. There is a useful function to move all skins from RAM to an SD card, and there is an options menu. There is a "Merge" menu for combining resources from different skins--see further on down.

Finally, version 1.10 introduced a "Color" menu. This modifies the currently loaded skin by changing the clock color and the color of the two-color buttons in the Graffiti area. Newly loaded skins can override these settings. You can also control whether application icons are shown in two-color mode, which is the T3's default, or in full-color mode. This used to require IconFix which created overlays that took up some memory and didn't work for all icons. Now it works for all icons without any such overlays. (You can disable IconFix support for all icons and still use this option. Or you can keep SkinT3! set in "two-color" mode and use IconFix to control which icons are specifically shown in full color.)

Whenever a setting in the "Color" menu is changed, or a skin is loaded that affects the setting, a reset is needed for the setting to take effect. You can, of course, choose "Later" to the question whether to do a reset, and make other changes first. Or if you're loading a skin that changed a color and you don't care about seeing this change, you don't have to bother with the reset. You can choose the option never to even ask about a reset. (But still the "Reset" button will magically appear on the screen whenever you do something that makes a reset appropriate.)

WARNINGS

  1. Loading a skin with SkinT3! makes an extra copy of the skin for as long as the skin is loaded as well as inserting any missing resources from the ROM skin. Whether making this extra copy in RAM of the skin and of some ROM resources is legal depends on local laws. The user is responsible for ensuring legality of use. Note that merging the OS skin or changing the clock color (and perhaps Graffiti button color) will result in an extra copy of the ROM skin being made in RAM, too.
  2. Changing the clock color and Graffiti button colors also modifies the RAM copy of the currently loaded skin. If the skin was distributed with a no-modification license clause, this may be legally problematic.
  3. Renaming an F3T3AgendaBG skin so that its name no longer starts with the magic string "F3T3AgSkin" will make it invisible to F3T3AgendaBG. SkinT3! should see it just fine, though.
  4. You cannot rename an F3T3AgendaBG to make its name start with the magic string "F3T3Agenda". Doing that would cause no end of trouble.

VFS support

SkinT3! 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 and PALM\Programs\SkinT3 directories on all available VFS devices.

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

Uninstall SkinT3!

To uninstall SkinT3!, load in the Built-In OS Skin, choose "Yes" on the "Deactivate" dialog that will come up, and delete SkinT3!.

Instructions and tips for advanced users

Flash ROM

It should be theoretically possible to store SkinT3! and the skins not just in VFS but in flash ROM via some utility like Jackflash. I have not tested this configuration. One important caution. Before you do that, make sure the skins are "deactivated" by either running them through FixUpT3Skin or by installing them and running SkinT3!. You should not put the SkinT3! StatusBarResources database into 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 SkinT3! by using the "merge" options. First, use the "Load" button 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 "SkinT3!" title bar), go to the "Merge" menu, and choose which components you want to merge in.

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.

"

For instance, the included GeekySkin only has Graffiti area backgrounds. Suppose you want to use these backgrounds together with the buttons, keyboards and statusbar from MyFavoriteSkin. Normally loading GeekySkin will get you buttons, keyboards and statusbar from the OS. However, you can instead load MyFavoriteSkin and then use "Merge all" to merge in the GeekySkin's Graffiti area backgrounds, creating a hybrid in memory.

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.

Display bit depth

The T3 can display in 1-bit (monochrome), 2- and 4-bit (grayscale), 8-bit and 16-bit color. Since skins look different in the different settings, SkinT3! lets you change the current depth setting to look at a skin at a different setting by going to the Options menu.

Using the appropriate menu option, you can also make the current depth setting the default for applications. Some applications override the default, but many do not. Higher bit settings will make applications use more memory, but perhaps will improve quality. And 16-bit display mode is needed to make full use of 16-bit skins. The default depth setting is set back to 8 after a soft reset. There is an option in the Options | Preferences dialog to force the current setting to stick after a soft reset.

There are some third-party utilities that also set screen depth. Some of these may interefere with SkinT3!'s attempt to set the default system depth. (Butterfly is reported to do so in the case of ClieSkinner on the TH-55.) If you are running such a utility, use it rather than SkinT3! for setting system depth or deinstall it.

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. For instance, GeekySkin is a 16-bit skin.

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.

For those applications that do not support 16-bit display, I include a copy of Force16. Make sure you read its documentation carefully before installing.

Warning: Support for 16-bit skins may result in problems with some backup software because the SkinT3! internal databases have an oversized (>65000 bytes) resource. For instance, Backupman may skip the SkinT3! 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. SkinT3! will regenerate it next time you load a skin.

Making 16-bit skins requires generating the appropriate 16-bit resources. The only 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. SkinT3! 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, SkinT3! will simply merge the two binary resources together into a single image.

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 (navigator-up plus reset) and then load the Built-In OS Skin in SkinT3!.

Known issues

In version 1.02, the free memory icon is completely omitted from the clock popup. This is currently necessary to prevent a crash that occurs when one pops up the clock popup eight or more times (I don't know exactly in what time period). Note that this problem is not specific to SkinT3!: it happens even if you install self-loading skins automatically. Eventually I hope to fix this in a more elegant way. But this emergency fix prevents crashes, and crash prevention is important.

Other devices

Contact information

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

History

Version 1.12: Updated Geeky skin to improve statusbar.

Version 1.11: Merging extended over normal keyboard fix.

Version 1.10: Added clock color and graffiti button color selection, and options to toggle between full-color and two-color icons in graffiti area.

Version 1.05: Allow keyboard-only merging. Allow merging with OS skin as base (do not use if copyright law does not permit this). Respect custom Graffiti layouts.

Version 1.04: Fix merging with extended keyboard skins.

Version 1.03: Fix problems with extended keyboard skins.

Version 1.02: Remove free-memory icons entirely from clock popup to work around problem discussed in the known issues section. On the bright side, the soft resets introduced in 1.01 have been eliminated.

Version 1.01: Fix bug with clock popup. Now a reset is going to be forced when the first skin is loaded or when SkinT3! is deactivated and later reactivated.

Version 1.00: First public release.

0.60 beta: Skin merging support.

0.51 beta: Accept F3T3 skins that start with something other than "F3T3AgSkin". This is important for renamed F3T3 skins.

0.50 beta: Renamed T3Skinner to SkinT3!. Public beta release.

0.04 beta: Exclude F3T3AgendaBG Agenda backgrounds from list.

0.03 alpha: First version to work on a hardware T3.

0.01 alpha: First preliminary release based on code imported from ClieSkinner 1.16 release.