README.md
<html><title>mySkin License and Documentation</title>
<body>

<h1>User's Guide</h1>
<h1>Table of contents</h1>
<ul>
<li><a href="#legal">Legal agreement</a></li>
<li><a href="#backup">Make a backup</a></li>
<li><a href="#registration">Trial, registration and free version</a></li>
<li><a href="#intro">Introduction and quick start</a></li>
<li><a href="#get">Where to get or how to make skins</a></li>
<li><a href="#upgrading">Upgrading or uninstalling</a></li>
<li><a href="#instructions">Instructions</a></li>
<li><a href="#warnings">Warnings</a></li>
<li><a href="#mest">MessagEaseStamp and Fitaly users</a></li>
<li><a href="#vfs">SD card and other VFS support</a></li>
<li><a href="#tips">Tips for advanced users</a></li>
<li><a href="#WiFi">WiFi skinning</a></li>
<li><a href="#emergency">Emergency recovery</a></li>
<li><a href="#other">Other devices</a></li>
<li><a href="#dev">Developer information</a></li>
<li><a href="#contact">Contact information</a></li>
<li><a href="#thanks">Acknowledgments and component licenses</a></li>
<li><a href="#history">History</a></li>
</ul>

<h1><a name="legal"></a>LEGAL AGREEMENT</h1>
<small>
<p>
mySkin and the mySkin Registration Data are copyright (c) 1995-2005 Alexander
R. Pruss. The word "mySkin" below includes the mySkin software proper, the
mySkin Registration Data, the mySkin Upgrade Data and this documentation file.
The Force16
and Graffiti State Indicator
software are freeware under the BSD license in advanced/Force16.html.
Its
license does <b>not</b> apply to mySkin, or mySkin Upgrade/Registration Data.
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.
The gorgeous Velo - Grayhide skin is copyright by Oscar Ljundberg and included by
his kind permission.
The Astronaut skin and all skins with "NASA" in the name
are based on NASA photographs, but no endorsement by or affiliation with NASA is
implied.
The original black and white version of the home icon was drawn by Jeff Frankus,
to whom I am grateful for permission to use. The configure icon is licensed
under the BSD license, <a href="#thanks">below</a>. The Horizons skin is
copyright (c) 2006 "filber" and is included with his kind permission
under the by-nc-sa 2.5 (included) Creative Commons license
with the additional provision: "It is
additionally permitted to include this skin with any legally licensed
distribution of mySkin as well as to make unrestricted modifications
and copies of it for one's personal use, as long as one does not
distribute these to others." </p>

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

<p>
2. mySkin 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.
</p>

<p>
3. You can re-sell or give away your copy of the mySkin Registration Data or
of the mySkin full version, but
only if you delete all of your own copies of mySkin's Registration Data and
require the recipient to adhere to this agreement, and only if have never
violated this agreement. You may install mySkin 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 mySkin 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 mySkin, its Registration Data and/or a portion thereof ACCESSIBLE to it,
where a copy of mySkin 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. </p>

<p>
4. You are not permitted to use mySkin 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 mySkin 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".</p>

<p>
5. Any attempts to allow mySkin 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.
</p>

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

<p>7. The Registration Data for mySkin 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.</p>

<p>8. You are not permitted to use mySkin 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 mySkin 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".</p>

<p>9. You have explicit permission from Alexander R. Pruss to use your mySkin registration
data in a Clie PDA in conjunction with ClieSkinner if you move from a Palm
T3/T5/TX or LifeDrive to a Clie NR/NX/NZ/TH/UX, or to use your ClieSkinner registration data in a
Palm device if you move from a Clie to a Palm device, assuming you have deleted the
relevant registration data from your previous PDA unit. mySkin registration
data is compatible with ClieSkinner and vice versa. The same goes for SkinTW! on the Tapwave.</p>
</small>

<h1><a name="backup"></a>Make a backup!</h1>

<p>You should make a backup before using this software.</p>

<h1><a name="registration"></a>Trial, registration and free version</h1>


<p>
mySkin comes with a free
eight
day 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. 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. Likewise, the skin crash protection
features should continue to work.</p>

<p>
You can register at <a href="http://palmgear.com">palmgear.com</a> to restore all the functions of the full version.
</p>

<h1><a name="intro"></a>Introduction and quick start</h1>

<p>
Graffiti writing area and statusbar (also known as DIA, or Dynamic Input
Area) skins allow
you to change the look of your Palm Tungsten T3, T5, TX and LifeDrive. On other devices, it functions as a free hard-key macro program, with all skin-related functions disabled.
<b>mySkin</b> lets you load and manage these
skins. (Do not run this on other models than the T3, T5, TX or LifeDrive--it will
probably crash them.) You can also create new skins by recolorizing the old ones
(including the built-in one, if your local copyright law allows it) and by inserting
a photograph from your card or main memory into a skin (T5, TX and LifeDrive only) by tapping on the photograph icon.</p>

<p>mySkin used to be known as "SkinDIA!" and "SkinT3!": upgrades from these
products to mySkin are free.</p>

<p>
If you are using a Tungsten T5, TX or LifeDrive with skins designed for the T3, you should read
the <a href="#instructions">instructions</a> carefully.</p>

<p>For a quick start, install mySkin-Installer.prc (via hotsync to RAM or Program Memory), and
run it if it does not start automatically. This will put "mySkin" and some support files on
your device. Then
on a separate hotsync, install some skins (if the skins are <i>not</i> T3-specific skins, you can install
them on the initial hotsync).</p>

<p>
mySkin 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
<a href="http://palmgear.com">palmgear.com</a>.
</p>

<h1><a name="get"></a>Where to get or how to make more skins</h1>


<p>Most of the following links are for Graffiti skins designed for the T3. But since mySkin lets you use T3
Graffiti
skins on your T5, TX or LifeDrive, this shouldn't matter. But make sure you read the
<a href="#instructions">instructions</a> carefully when cross-loading skins.</p>

<h2>Generating skins</h2>
<h3>Using mySkin</h3>
<h4><a name="photo"></a>Inserting photographs</h4>
<p>If you have a T5, TX or LifeDrive, you can use mySkin to create Graffiti skins by inserting
photographs that you have on your PDA into the input / statusbar area. The photographs
must be accessible to the Media application on your PDA, and can be in main
memory, in the "Photos & Videos" folder on the Internal Drive (T5 and LifeDrive) or
in the DCIM folder on an SD card. You can copy photos to your PDA by using the Media
option in Palm Desktop, or, on the T5 and LifeDrive, by using other Palm-supplied
software. See the instructions that came with your PDA.</p>

<p>Once you have copied the photographs to your PDA, simply tap on the "photo"
icon in the upper-right corner of the mySkin screen (or choose the "Put photo into skin..."
option in the "Files" menu). Then tap on "Get photo". You may rotate the photo.
To select the region you want to be used for the input area, select a region by
tapping within the selection rectangle and dragging to move it, and by dragging corners
to resize the rectangle. Once you have selected the area, tap on "Go".
You can also use the checkboxes to choose which parts of the skin the photo goes into.
You can use the same or a different photo for the landscape-orientation skin as for
the portrait-orientation skin, but you do need to separately insert the photo into
both. To do this, after inserting the photo in one orientation, just rotate your
display (or tap on the drop down box), select a region again, and tap "Insert photo"
again.</p>

<p>You can also select the color for elements like the dotted lines in 3-cell mode
and the captions for the different input cells.</p>

<h4>Recolorizing</h4>
If you don't like the color of a skin, you can recolorize the whole skin (this includes
hex keyboard skins).
Simply
tap on the colorful rectangle
and select a color. Darker and lighter areas will use different shades of the basic
color you are choosing.
This can be done
with any skin and works very
nicely with the built-in OS skin (note: Colorizing the built-in OS skin causes a modified
copy to be made in your device's memory. Make sure your local copyright law allows this, e.g., under fair-use doctrines,
before doing this. And distributing the modified copy is very likely to be illegal.) There
are some advanced options if you choose <a href="#colorize">"Advanced colorize skin..."</a> instead.</p>


<h3>Desktop software</h3>
<ul>
<li>
<a href="http://pruss.mobi/dl/">
EasySkin Graffiti skin maker.</a> This is the easiest way to make skins: just feed one or
two photographs, and it will, crop, resize and shade to make a mySkin-compatible
skin. You may like these skins more than the ones generated with the Photo function--it's a
matter of preference.</li>
<li>
<a href="http://festus440.happypalm.com/">
Festus440's 8- and 16-bit T3 skin makers.
</a></li>
<li> <a href="http://sourceforge.net/project/showfiles.php?group_id=92189&package_id=128210">
Batch files for generating 16-bit DIA skins. Includes templates.
</a></li>
</ul>

<h2>Pre-made skins</h2><ul>
<li><a href="http://velo.hopto.org">
Velo's superb skins</a></li>
<li><a href="http://www.palmgear.com/index.cfm?fuseaction=software.category&catid=288&orderby=rating">
Lots of skins on palmgear, many of them free</a></li>
<li><a href="http://www.1src.com/freeware/index.php?cid=60">
1src skins</a></li>
<li><a href="http://www.bryceart.de">
Bryce Art</a></li>
<li>
<a href="http://groups.yahoo.com/group/TungstenDIA/files">
Yahoo Tungsten DIA skins group</a></li>
</ul>

<p>There are also several free 16-bit skins included, especially the gorgeous Horizons skin by "filber", and a beautiful 8-bit Velo Grayhide skin included by courtesy of its author, Oscar Ljundberg.</p>

<h1><a name="upgrading"></a>Upgrading or uninstalling</h1>
<p>If you are upgrading from a previous version, hotsync <tt>mySkin-Installer.prc</tt> to
your PDA.
If the previous version number is lower than 1.40, make sure you have
disabled "RAM icons" in the old mySkin version's Preferences dialog first.
To re-enable
some features and bug fixes, simply run mySkin after installing. Some new features and
performance improvements may require re-loading a skin.</p>

<p>Note that if you are upgrading from mySkin 2.05-2.07 or myKbd 1.00-1.01, you will need
to uninstall the previous version before installing a new one.
Do this with the "Uninstall" option in the "File" menu.</p>

<p>If 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 mySkin. This will require a soft reset.</p>

<p>To uninstall mySkin, you should choose the "Uninstall" command in the "File" menu. You
may wish to delete the skins first, as the "Uninstall" leaves them alone, or you can afterwards
manually delete all the skins using a file manager or the Launcher's "Delete" menu option.</p>

<p>Note that if you ever wish to delete mySkin directly in Filez or another file manager,
its name is shown as "SkinDIA!" for historical reasons.</p>

<h1><a name="instructions"></a>Instructions</h1>

<p>Read all of these instructions very carefully, <b>especially if using T3 skins on
a T5, TX or LifeDrive unit</b>.</p>

<p>Hotsync <tt>mySkin-Installer.prc</tt> to your PDA to install the trial version.
If you have registered mySkin, hotsync <tt>mySkin_Registration.pdb</tt> to your PDA.

As of version 1.40, you
should
then be able to simply hotsync skins, either to RAM or to a card's
<tt>/PALM/Programs/mySkin</tt> directory, and then run mySkin. If you are running
on a T3 or LifeDrive, make sure you have hotsync'ed and run <tt>mySkin-Installer.prc</tt> before
hotsync'ing any skins. You also should
<b>not</b> run mySkin from an SD card (though mySkin-Installer.prc can be run from a card to
install mySkin), though storing skins on an SD card is highly
recommended.</p>



<h2>Skin types</h2>
<p>T3 DIA skins come in three varieties: standard T3 DIA skins, F3T3AgendaBG skins and
mySkin (also known as SkinT3! skins or 16-bit skins) universal skins. All three kinds
can be loaded by mySkin. F3T3AgendaBG and mySkin skins work by far
the most easily, and should work on the T3/T5/TX/LifeDrive with no problems. (Note
that mySkin skins might not be "complete", i.e., may deliberately
lack a number of resources. Missing resources will be filled in from the ROM
skin by mySkin when activating the skin.)</p>

<p>The installation of standard T3 DIA skins differs between a T3, on the one hand, and
the T5/TX/LifeDrive. This should
be no surprise since standard T3 DIA skins are designed specifically for a T5/TX/LifeDrive.
If you're not sure if something is a standard skin or not, assume it's a standard
skin.</p>

<h2>Installing standard T3 DIA skins on a Tungsten T3</h2>
<p>Standard T3 DIA skins activate on a T3 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 mySkin finds that a
standard T3 DIA skin got loaded into RAM since the last mySkin session, it
will convert that skin to a mySkin 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 mySkin, and then renaming the "Unnamed DIA skin #X" skin to some more usable
name.</p>

<p>However, all 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 <tt>/PALM/Programs/mySkin</tt> or <tt>/PALM/Launcher</tt> directory. The
second choice is to "fix up" the skin before hotsync'ing it, and convert it to mySkin
skin format. This can be done by double clicking on <tt>FixUpSkin.exe</tt>
on a Windows
unit, and then selecting the skin to be converted to mySkin format. Such skins no
longer self-activate. In fact, you should <i>not</i> attempt to activate them in any way
other than by using mySkin. (Advanced users may be used to activating skins by renaming
them and changing the creator ID. Do not do this with mySkin skins, as this may cause
a crash.)</p>

<h2><a name="T5">Installing standard T3 DIA skins on a Tungsten T5, Palm TX or a LifeDrive</a></h2>
<p>If you hotsync a standard T3 DIA skin to the program memory of a T5/TX/LifeDrive, you may
have problems, including a crash and losing the Graffiti area completely (in which case
you should do a warm reset and after it run mySkin to recover).
Therefore, hotsync'ing a standard T3 DIA skin to program memory on a T5/TX/LifeDrive
is definitely <i>not</i> recommended.</p>

<p>Therefore, you should do one of three things.</p>

<p><b>Option 1:</b> Instead of loading the skin to program
memory, you could load it to the internal drive (or an SD card) in the <tt>/PALM/Programs/mySkin</tt>
or <tt>/PALM/Launcher</tt> directory. </p>

<p><b>Option 2:</b> "Fix up" the skin before hotsync'ing it, and convert it to mySkin
skin format. This can be done by double clicking on <tt>FixUpSkin.exe</tt>
on a Windows
unit, and then selecting the skin to be converted to mySkin format. Such skins no
longer self-activate and you should <i>not</i> attempt to activate them in any way
other than by using mySkin.</p>

<p><b>Option 3:</b> The current version mySkin has "Cross-Load Protection". Make sure
that either you have at some point run mySkin or you have installed it via hotsync (rather than
copying from PC to card and from card to RAM). Then you can hotsync new skins without using
<tt>FixUpSkin</tt>. Note that you must use hotsync if you do not use <tt>FixUpSkin</tt>--copying
skins to a card and then copying them from card to RAM via a utility like <tt>Filez</tt> will
not activate Cross-Load Protection for the skin. This installation method will result in going
back to the standard OS skin--you will need to go to mySkin to load the newly hotsync'ed skin
or some other skin.</p>

<h2>Using mySkin to load and modify DIA skins</h2>
<p>mySkin 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.)</p>

<p>To deactivate mySkin, simply load in the "Built-in OS skin".</p>

<p>The "to SD" (or "to Drv") button lets you <i>move</i> a skin to an SD card or Internal Drive (use the
configuration form
--tap on the wrench (<img src="images/Wrench.gif">)--
to control the destination).
To copy a skin instead of moving it, use the "File" menu.</p>

<p>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 or move 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 <a href="#merge">down</a>.</p>

<p>Using the "Color" menu also lets you modify 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 system
default, or in full-color mode. This used to require <a href="IconFix.html">IconFix</a>
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 mySkin set in "two-color"
mode and use IconFix to control <i>which</i> icons are specifically shown in full color.)
</p>

<p>You can control the text and interstices color in Palm-style (rectangular key) keyboards.
</p>

<p>Whenever a
setting in the "Color" menu is changed, or a skin is loaded that affects the setting,
a reset may be 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.)</p>

<h1><a name="warnings"></a>WARNINGS</h1>

<ol>
<li>Loading a skin with mySkin 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.</li>
<li>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.</li>
</li>
<li>Renaming an F3T3AgendaBG skin so that its name no longer starts with the magic string "F3T3AgSkin" will
make it invisible to F3T3AgendaBG. mySkin should see it just fine, though.</li>
<li>You cannot rename an F3T3AgendaBG to make its name start with the magic string "F3T3Agenda".
Doing that would cause no end of trouble.</li>
</ol>


<h1><a name="mest">MessagEaseStamp and Fitaly users</h1>
<p>
<a href="http://www.exideas.com/ME/index.html">MessageEaseStamp (MEST)</a>
and
<a href="http://www.fitaly.com">Fitaly</a>
come 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. For your convenience,
the MERGE menu includes a "MEST components" and a "Fitaly components" option which simply merges in the
MEST-specific components from a MEST-specific skin (presumably F3T3AgSkinMEST3-007ANI or
F3T3AgSkinMEST3-ANI007) or the Fitaly-specific components from a Fitaly-specific skin
(presumably T3FitalySkin2, which if you keep it in RAM will have been renamed to "Unnamed DIA skin #x").
Thus, you can LOAD any custom skin not designed for MEST or Fitaly, and then
MERGE the MEST- or Fitaly-specific components on top of it from the MEST or Fitaly skin.</p>

<p>Because MEST and Fitaly work in the Graffiti tri-cell panel while ATOMIK works in
the keyboard panel, you might actually be able to use MEST/Fitaly and ATOMIK together,
though there may be some incompatibilities.</p>

<h1><a name="vfs"></a>SD card and other VFS support</h1>

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

<p>
It is <i>not</i> recommended that you load mySkin itself onto an SD card or other
VFS device.</p>


<h1>
<a name="tips"></a>
Instructions and tips for advanced users
</h1>

<h2>
FontSmoother compatibility
</h2>
<p>
FontSmoother is a utility by the same developer, available on <a href="http://palmgear.com">palmgear.com</a>,
that lets you use smooth (antialiased) fonts in a variety of sizes and styles (in fact, any Windows TrueType
font can be converted). If you care about how your PDA looks, FontSmoother will likely make an enormous
difference, besides letting you fit more information on screen with smaller fonts or improve legibility with
clearer fonts of the same or larger size.</p>

<p>However, a very small handful of DIA skins seem to have an incompatibility with FontSmoother which causes
the statusbar clock to be mixed up. To solve this, use the custom <a href="#merge">merge</a> function
in the Merge menu to merge in the clock backgrounds from another skin (e.g., the built-in OS skin, or one
of the included skins).</p>

<p>(<b>Note to skin developers:</b> Please avoid skins where the clock background is a fully
transparent rectangle.)</p>


<h2>
<a name="macros"></a>Macros
</h2>
<p>
There is a sophisticated set of programmable macros available in mySkin.
You can
assign macros to the four application keys on the front of your PDA (the "hard keys" as
they are known). In fact, you can assign a different macro to a short and a different
macro to a long press. One nice application of this is that by assigning the "&lt;recent&rt;"
macro to a long press of the first button on the TX, you replace the system's recent applications
list with mySkin's better list (better because you can add favorite applications to it for
permanent listing with the Options | Favorites option).
</p>

<p>
If you would like to have more than eight macros, you might be interested in the developer's
myKbd (also available from <a href="http://palmgear.com">palmgear.com</a>), which is available
highly discounted for mySkin users. myKbd does everything mySkin does, but allows you to have
custom hexagonal key keyboards in a skin, including ATOMIK, Metropolis (IBM's computer-optimized layouts for on-screen
tapping), QWERTY and any layout you like via a free layout generator. These keyboards also have
two (or more if you make your own) dedicated macro keys, and a two-tap way of generating about
ninety more macros.
</p>

<p>
You can use the macros to generate boilerplate text or templates. Or you
can use them to launch applications and Desk Accessories, run control panel entries,
tap on menu entries, etc.
</p>

<p>To enter a macro, go to the Keyboard configuration form
(Menu | Options | Hard key macros)
and tap on the "Macros" button. Now tap on the
"Hard key macro"
field.
To assign a macro to one of the four hard keys on the front of the PDA, tap on the field, and then press the hard key. You can select
whether the macro is assigned to a normal short press, or to a one-second hold. On the T5, TX and LifeDrive you can also assign
a macro to a one-second hold of the center key. To do that, just tap on the field and press the center key.
Then tap on "Macro text" field and enter the text you would like to insert whenever you
activate the macro.</p>

<p>You can include special commands like &lt;hotsync&gt; or &lt;launcher&gt; by choosing them
from a drop-down list.</p>

<p>Possibly useful commands include the &lt;tap&gt; and &lt;menu&gt; commands which let you
tap on a particular button (only buttons with standard text labels work) or on a particular
menu entry. If you choose these commands from the drop-down list, you will be asked for
the text to select. (With the &lt;menu&gt; command, if you leave this blank, you will simply
pop up the menu.) When the macro is activated, myKbd will look for that entry. It first looks
for the entry exactly as you entered (but in a case-insensitive way, so "about" matches both
"about" and "About") and if it doesn't find it, then it looks for an entry that begins with the
text you entered (thus entering "&lt;menu about&gt;" will result in a selection of "About myKbd" when
activated within myKbd).</p>

<p>It is recommended that special commands be entered through the drop-down list to minimize
the danger of typos or syntax errors.</p>

<p>The &lt;wait nnn&gt; command waits for nnn milliseconds (i.e., for nnn/1000 seconds).
This is useful after &lt;run&gt; because it can be used to give the application some time to
start up. The &lt;waittitle ttt&gt; command waits for a window whose title starts with ttt
(case insensitive).</p>

<p>Macros may not be compatible with all applications. To interrupt a macro that is playing,
tap on the screen, but not on exactly the same pixel where you tapped to start playback if you did
so via a tap.</p>

<p>Macros assigned to the four application keys ("hard keys") may interfere with special functions in some
applications that use these keys for their own purposes. This is particularly likely in a game.
You can tap on "Options" in the Macros dialog to choose for which applications hard key macros are
active.</p>

<p><b>Limitation:</b> Macro playback currently stops when mySkin is launched, including when it is launched
from the skin-switching macro commands.</p>

<h2>
Touchscreen calibration
</h2>

<p>The built-in Palm touchscreen calibration only calibrates over the top square area of the
screen. This means that the calibration is optimal for tapping within that area, but not
for tapping on keyboards (e.g., ATOMIK or MEST or the Palm QWERTY keyboard) in the input
area. Choosing Menu | Options | Calibrate lets you calibrate the touchscreen over the whole
of the screen.</p>

<p>Once you get the calibrate screen, just tap on the red dots in the middle of the calibration
X's. You must tap on at least two of the X's. If you find you tapped too far away from where
you meant to, you can restart the calibration process. Once you tap on two X's, you get an "OK"
button to finish calibration. Try not to reset the PDA in the middle of calibration or you will
start up in an uncalibrated state.</p>

<p>You can keep on tapping on X's for as long as you like, and mySkin will average the tap values
for greater precision. I recommend a minimum of four taps.</p>

<h2>
TX home button
</h2>

<p>The Palm TX does not include the useful home button in the status bar that the T3, T5 and LifeDrive
did. mySkin brings it back in the place of the search button. Just go to mySkin's configuration form
(<img src="images/Wrench.gif">)
and turn it on. You can hold the stylus on it for about a second to pop up a list of the last
couple of applications run. (Note that those applications available via hard keys are omitted.)
You can choose whether you want the search function to work by holding down the statusbar menu
button. If not, you will get a search option in the popup list of last applications instead.
</p>

<p>You can even set some applications and Desk Accessories to show up permanently on the popup list.
To do this, go to Menu | Options | Favorites, and add these applications to your Favorites list.</p>

<h2>
Tap on edge toggles statusbar.
</h2>
<p>
This option allows you to hide/show the statusbar by tapping on its outer edge (the bottom edge in portrait, the right edge in right-handed landscape, the left edge in left-handed landscape), just against the screen frame plastic.
Some applications may not be compatible with this.
</p>

<h2>
Graffiti State Indicator
</h2>
<p>
With the Palm TX, Palm has removed the venerable Graffiti State Indicator which shows auto-shift
and other states.
You can bring it back by installing the Graffiti State Indicator hack. See the
<a href="advanced/GraffitiStateIndicator.html">instructions</a> here.
</p>

<h2>
<a name="colorize"></a>Advanced colorize skin
</h2>
<p>
If you just want to change the color of some skin elements, use the "Advanced colorize skin" command
in the "Color" menu. Check the skin elements you wish to colorize. Tap on the color box for the
destination color to set that.</p>

<p> There is a drop-down list setting the colorization mode.
There are three options:
<ul>
<li><b>Automatic</b>: This substitutes the destination color for the predominant darkness level of the skin
in its "usual" areas (e.g., middle of Graffiti area).
Lighter areas are done with a ligher shade and darker ones with a darker one.</li>

<li><b>Keep brightness</b>: In this mode, the destination color specifies the chromatic value, but the
brightness is set to equal that of the original.</li>

<li><b>Manual source color</b>: This lets you select a source color to be replaced with the destination
color. Tap on the color patch to do this. Then you can tap on areas of the statusbar / input area to
set the source color (or on the big color square to adjust it manually). Lighter areas are done
with a ligher shade and darker ones with a darker one.</li>
</ul>
</p>

<p>You can also select whether you are creating a 16-bit or an 8-bit skin. 16-bit skins
will have more precise color gradients, while 8-bit skins take up less memory.</p>

<h2>
<a name="compression"></a>Skin compression
</h2>
<p>
zlib-based skin compression is supported by the current version of mySkin.
To compress a skin on your PC, run the enclosed <tt>zipDB.exe</tt>
(in the <tt>advanced/</tt> directory)
program and select the skin. (You can also run it non-interactively
from a commandline via <tt>zipDB -n filename.prc</tt>.) This will save
ten to eighty percent space, at the cost of slightly slower skin loading.
When you first run mySkin it will automatically
install syszlib.prc (the ARM version, to be precise). If you distribute
compressed skins, make sure you tell users to upgrade to version 1.45 of
mySkin or version 1.00 of myKbd before installing the compressed skins.
<p>

<p>
A handy tip for compressing skins right on your PDA is to move them to an
SD card or Internal Drive, run "Drive Mode" or "Card Export", and then
compress them with <tt>zipDB</tt> on your PC.
</p>

<h2>
Flash ROM
</h2>

<p>
It should be theoretically possible to store mySkin 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 <tt>FixUpSkin</tt> or by installing them
and running mySkin.
You
should <b>not</b> put the mySkin <tt>StatusBarResources</tt> database into ROM.
</p>

<h2>
<a name="merge"></a>Merging skins
</h2>

<p>
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 mySkin 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 "mySkin" 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.</p>

<p>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.</p>

<p>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.</p>

<p>
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.
</p>


<h2>
Screen shots
</h2>
<p>If you make your own skins from scratch or by mixing and merging components, you
might wish to show off your creations. There is an option in the File menu to
save a screen image, in .bmp format, of the Graffiti/statusbar area in the root directory of
your card or Internal Drive (use the Preferences to set the precise destination). If you
want to show off different panels and orientations, you can save multiple images, e.g., make
one in portrait and one in landscape mode. The .bmp file has a filename based on the name of
the last skin you loaded/merged.</p>

<p>If you are a skin designer or you want to be able to browse a large skin collection on your
desktop, there is an option to dump images of <i>all</i> loaded skins. This works very slowly.
</p>

<p>
Note that each image takes about 150k of space.
</p>

<h2>
<a name="crashprotection"></a>Crash protection and RAM icon on clock popup
</h2>
<p>
Currently, all methods of loading DIA skins other than mySkin apparently cause a crash when you
load a skin and then pull up the clock popup (by tapping on the statusbar clock) eight
times. Obviously, you don't do this eight times in a row, but the count appears to
be cumulative (unless you do a reset in the meanwhile), so this means that if you load
a skin without using mySkin, you might get a crash. The crash is due to a bug or
poor programming practice in the ROM code handling the RAM (or "Device" on T5) icons in the clock popup.
It is not currently known if this is an issue on the TX.</p>

<p>mySkin protects against this crash in two ways, depending on whether the "support RAM
icons in clock popup" option is activated in the mySkin preferences:

<ul>
<li><b>RAM icon support deactivated:</b> This is the default option. mySkin simply
disables the RAM icons in the clock popup. You still have a text-based display of
the percentage of your memory that is used. This does not look perfect, but it is
much better than a crash. It is a simple solution that does the job.</li>
<li><b>RAM icon support activated:</b> This option was introduced in 1.15. It enables
the RAM icons in the clock popup (if you loaded a skin using an earlier version,
re-load it to get them back), while protecting the system against crashing. This
method may <i>slightly</i> slow down your system, though I do not expect it will be
noticeable. (The slowdown should be less than from McPhling or my Capitalizer, and
no one has complained about Capitalizer slowing things down even on much slower CPUs.)
The other thing to remember with this option, is that you will have to disable it before
either deleting mySkin or upgrading it.</li>
</ul>
</p>

<p><b>Note for skin designers:</b> If you want to create skins that do not
cause this crash and that can be loaded by users who do not have mySkin, you
should simply omit <tt>abmp</tt> resources 19520-19528 from your skin. This
implements the first of the two solutions above at the level of your skin. (
Note that if the user loads in the skin with mySkin and RAM icon support
activated, the default icon from the OS will be used, so the skin will look
better.)</p>


<h2>
Display bit depth
</h2>

<p>
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,
mySkin lets you change the current depth setting to look at a skin at a
different setting by going to the Options menu.
</p>

<p>
Using the Options | Preferences dialog
(or the <img src="images/Wrench.gif"> button)
form, 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.
</p>

<p>
There are some third-party utilities that also set screen depth. Some
of these may interefere with mySkin'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 mySkin for setting system depth or deinstall it.
</p>

<h2>
16-bit skins
</h2>

<p>
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.
</p>

<p>
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. Note that turning off
dithering increases the memory usage.</p>

<p>For those applications that do not support 16-bit display,
I include a copy of Force16 in the <tt>advanced/</tt> directory. Make sure you read its
<a href="advanced/Force16.html">documentation</a> carefully before installing.</p>

<p>
<b>Warning:</b> Support for 16-bit skins may result in problems with
some backup software because the mySkin internal databases have an oversized (>65000 bytes)
resource. For instance,
Backupman may skip the mySkin internal databases when
restoring, but seem to work fine otherwise. In general, backup software may ask whether
to skip the <tt>StatusBarResources</tt> 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. mySkin will regenerate it next time
you load a skin.</p>

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

<h2>
<a name="compacting"></a>Compacting, converting and saving skins
</h2>
<p>
There are options in the "File" menu to convert skins to mySkin format as well
as to compact them. These operations only work on skins in RAM. To perform them
on skins on a flash card, move them to RAM, perform the operation, and move them
back to the card.</p>

<p>
Compacting removes from a skin all resources that duplicate resources found in ROM
and compresses the remaining resources. This saves memory. Compacting also changes
the "Merge" behavior of the skin.
Merging loads in all the resources from the skin, including any resources that
duplicate those in ROM. After compacting, most of the latter will not be loaded by a
"Merge" function (except for resources that are closely logically tied in such a way
that they should not be separated, such as various keyboard resources), which
actually should be nicer behavior. Compacting also automatically converts the
skin to mySkin format. I recommend doing this, if only to save memory.</p>

<p>Conversion is useful because skins in F3T3AgendaBG format cause trouble
for some backup programs. Note that when one converts an "F3T3AgendaBG" skin
the "F3T3AGSkin" prefix is removed from the name, unless doing so is impossible
due to another skin that the name would conflict with.</p>

<p>
You can also save the currently displayed skin ("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.</p>

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

<h2>
<a name="format"></a>mySkin skin format
</h2>
<p>
The mySkin skin format uses the Creator ID 'T3sk' and type 'rsrc'. Moreover,
no 'ovly' resource is permitted: instead, the data that normally goes in the
'ovly' resource should be placed in the 'OVLY' resource. It is a good idea
to omit resources that are just direct copies of what is in the ROM.
</p>

<h1>
<a name="WiFi"></a>WiFi skinning
</h1>
<p>
<b>Information for users:</b>
Some skins come with a <tt>WiFiSlip.prc</tt> file that lets you skin
the WiFi icon in the status bar. I do <i>not</i> recommend installing
this file. If it's designed for a different model PDA than yours, it
could cause a crash. A better solution is to use the <tt>FixUpSkin.exe</tt>
program and give it the <tt>WiFiSlip.prc</tt> file as input. This file
will then become a mySkin skin named "Converted WiFi skin [xxxx]". You can
use mySkin, then, to merge this skin on top of the non-WiFi portions of
your skin.</p>

<p>
<b>Information for skin developers:</b> To skin the WiFi icons in the status bar, simply include the requisite
'abmp' 25100-25262 resources (look at WiFiSlip.prc on your device) inside the skin
database. mySkin takes care of the rest.
</p>

<h1>
<a name="emergency"></a>Emergency recovery
</h1>
<p>If you load in a really buggy skin on any model or hotsync a standard T3 skin on a
T5/TX/LifeDrive, 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 mySkin. The input area may not be working at this point. To get
to the Launcher, you may need to hold down the navigator button on the T3, or else press
the Launcher button on the T5/TX/LifeDrive. If mySkin is crashing or cannot run after
a warm reset, get a file manager like Filez. Switch the input area to Graffiti. Delete
the "StatusBarResources" file in RAM (not in ROM!) to uninstall the currently loaded skin.
</p>

<p>
Note that if you ever wish to delete mySkin directly in Filez or another file manager,
its name is shown as "SkinDIA!" for historical reasons.
</p>

<h1>
<a name="other"></a>
Other devices
</h1>
<ul>
<li>There are sister products to mySkin named
ClieSkinner for the Sony Clie NR/NX/NZ/TH/NR/UX
PDAs and SkinTW! for the Tapwave Zodiac.
ClieSkinner is free but SkinTW! is shareware
They are available from palmgear.com.
Moreover, you are permitted to freely
"upgrade" from mySkin to SkinTW! or <i>vice versa</i>, and use the registration
code from one on the other, as long as you do not have the registration code installed
on more than one device at a time.
If you registered ClieSkinner when it was not free, you can use your registration code
with mySkin. <i>However</i>, if you want to use <i>both</i> mySkin and SkinTW in
registered mode, you need to register <i>both</i>. </li>
</ul>

<h1>
<a name="contact"></a>
Contact information
</h1>
<p>The author can be contacted by email at
<a href="mailto:arpruss@gmail.com">arpruss@gmail.com</a>.
</p>
<p>There is a <a href="http://groups.yahoo.com/group/PalmSkins/">Yahoo discussion/support</a> forum.</p>

<h1>
<a name="dev"></a>
Developer information
</h1>

<p>
Partial source code is available on <a href="http://handypalmstuff.sf.net">handypalmstuff.sf.net</a>.
</p>

<p>
There is one API officially exposed by myKbd/mySkin. Sublaunch with globals enabled
and launch code sysAppLaunchCmdCustomBase. If the cmdPBP argument is NULL or an
empty string, this loads the previous skin. If it is a non-empty string, myKbd/mySkin
loads the first skin in its list order it can find with the database name specified
in the string. The skin may be on an SD card in any of the directories myKbd/mySkin
searches. To load the default system skin, use "StatusBarResources".
<code>
id = DmFindDatabase( 0, "SkinDIA!" ); // myKbd/mySkin has this dbname</br>
if ( id == NULL ) {</br>
// no SkinDIA!</br>
}</br>
SysAppLaunch( card, id, sysAppLaunchFlagNewGlobals,</br>
sysAppLaunchCmdCustomBase, // this is crucial!</br>
skinDBName,</br>
&result );</br>
</code>
</p>

<h1>
<a name="thanks"></a>
Acknowledgments</h1>

I would like to thank all of my wonderful beta testers. I would like to specifically
mention Eli Weitz for his comments and his insistence that I consider
MessagEase users, an insistence that has paid off.

The configure icon is licensed under the following BSD license which applies <b>only</b>
to that icon (which is included as a resource in mySkin*.prc):
<small>
<p>
Copyright (c) 2002, Vadim Plessky<br>
All rights reserved.
</p>

<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>
<ul>
<li>
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
</li>
<li>
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
</li>
<li>
Neither the name of the svgicons project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
</li>
<li>
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</li>
</ul>
</p>


<h1>
<a name="history"></a>
History
</h1>
<small>
<p>2.51: Support for using hold of center button for a macro trigger (not in T3). Fix recent app list bug.</p>
<p>2.50: Sort all recent app list items by date of last use. Works for free in macro-only mode on devices without virtual input area.</p>
<p>2.43: Better recent app popup navigation. Recent app popup now shows up in PalmPDF when you tap on bottom edge. Security update.</p>
<p>2.42: Add support for ShowBattery icons.</p>
<p>2.41: Hard button cooption fix.</p>
<p>2.40: Skin switching from macros. Option to disable hard key macros for selected applications. Fixed a popup list bug. Updated Horizons skin (thanks filber!)</p>
<p>2.33: Fix calibration and possibly Favorites bugs.</p>
<p>2.32: Fixed various macro commands.</p>
<p>2.31: Fix advanced colorize and uninstall crashes.</p>
<p>2.30: Added HD to list of drive types. Can compress skins in mySkin (use 'Compact and compress' menu option). Recent-and-favorites list can be navigated with 5-way controller. Can separately merge clock backgrounds.</p>
<p>2.28: Fixed location of TX popup. Crash fixes.</p>
<p>2.25: Tap on edge to toggle statusbar option (tap on the wrench to enable). Favorite applications can persist in TX home button popup (menu | options | favorites).</p>
<p>2.20: Full-screen digitizer calibration.</p>
<p>2.15: Improved installation process to fix the Disappearing Application Bug. T3 transparency fix.</p>
<p>2.10: Fixed TX home and menu button sizes. Fixed some T3 statusbar color issues.</p>
<p>2.07: Easier upgrading.</p>

<p>2.06: Bug fixes. Added Graffiti State Indicator Hack.</p>

<p>2.05: Palm keyboard color support.</p>

<p>2.00: Support for creating skins directly in mySkin <a href="#photo">out of photographs</a>
that you have installed on your PDA (T5,
LifeDrive and TX only). Fresh trial period for users who tried older versions.</p>

<p>1.80: <a href="#WiFi">WiFi icon support.</a> Renamed <tt>FixUpT3Skin.exe</tt>
to <tt>FixUpSkin.exe</tt>. This utility can now be used to convert WiFi skins to mySkin
format, too. Fixed merge problem with TX home button.</p>

<p>1.76: Automatically turn off on-screen keyboard when loading skins.</p>

<p>1.75: Compress skins after colorizing to save a lot of memory (about 300K versus 1.3mb
for the OS skin). Added BurningFractal skin. Added 8-bit option to advanced colorize. Fixed left-handed home button. Fresh trial period for users who
tried previous versions. Fixed endless loop when tapping home in keyboard warning dialog.</p>

<p>1.73: Make TX popup list look a little better.</p>

<p>1.72: Fixed bug in set-depth-on-reset code. Uninstall now loads default system skin. Removed irrelevant option from custom colorize.</p>

<p>1.71: Workaround for loading some faulty skins. Improved memory usage. Reduced mySkin_install.prc size by about 100K.</p>

<p>1.70: On the Palm T|X, you can now have a HOME button,
as on earlier models: Tap on the wrench to configure.
Dithering control is now enabled for all models and is off by
default. Added configuration and recolorize buttons to main form.
Worked around OS problem with 8-bit applications and 16-bit
skins (reload skin to activate solution). </p>

<p>1.60: Added command in Color menu to change the color scheme of the whole skin all at once.</p>

<p>1.52: Prompt user to disable keyboard before changing skin to protect from crashes.
Added two more NASA-photo based skins.
</p>

<p>1.51: Minor modifications to text strings to include mention of Palm TX.</p>

<p>1.50: Added NASA-photo based astronaut skin. New feature: generation of .bmp file of skin on card
or Internal Drive. Useful for skin designers who want to show off their skins. </p>

<p>1.49:
Fix Force16 bug.</p>

<p>1.48:
Uses slightly less memory. Includes a Force16 that is more compatible with T5/LifeDrive.</p>

<p>1.47:
Important bug fix for T5/LifeDrive users to prevent occasional crash when using "support RAM icons."
</p>

<p>1.46:
Under the hood changes.</p>

<p>1.45:
Renamed to "mySkin". Added support for <a href="#compression">zlib compressed skins</a>
and added <tt>zipDB</tt> compressor.
Custom merge now allows separate merge of statusbar buttons and statusbar background.
Include T3 support files right inside <tt>mySkin.prc</tt>.
Fix non-persistence of some custom merge settings.
</p>

<p>1.40: "Cross-Load Protection" for direct hotsync of T3 skins on T5 and LifeDrive
(make sure you have run mySkin first or installed it via hotsync). Added LifeDrive
instructions to documentation. Added T3 compatibility prcs to distribution.
Skins are now saved to PALM/Programs/mySkin instead of PALM/Programs/SkinT3 (though
the SkinT3 directory is still scanned).
Improved FixUpT3Skin.</p>

<p>1.35: Improve ability to load T3 skins on T5. Force "always on" dithering on T5 to avoid nasty slowdowns. Allow use of SkinTW! registration code.</p>

<p>1.33 release 2: Fix bug in Force16.</p>

<p>1.33: Fix some bugs in skin-fix and keep-depth-on-reset code.</p>

<p>1.32: Better support for T5 internal drive. Updated instructions for T5.</p>

<p>1.31: Bug fix and first attempt at T5 compatibility. Renamed to SkinDIA!</p>

<p>1.30: Added custom skin merge feature. Activated optimization for compilation, reducing file size. Fixed ABC/123 areas of landscape components of Geeky skin.</p>

<p>1.26: Minor bug fixes.</p>

<p>1.25: MessagEaseStamp and Fitaly merging. More reliable VFS scan. Can control whether to search PALM\Launcher directory.</p>

<p>1.23: Better (safer) compacting for extended keyboard handling.</p>

<p>1.22: Fixed a rare bug.</p>

<p>1.21: Removed a bit of test code that created a junk file on the SD, and fixed handling of renamed F3T3AgendaBG skins.</p>

<p>1.20: Added copy to SD feature, as well as "Save As...", compact and convert functions. Added support for RAM icon in clock popup--see the <a href="#crashprotection">Crash protection</a> section. Expired (i.e., free) version no longer disables current skin the way that the full version does. Copying skins to card no longer changes the format they have in RAM. Better five-way navigator support. New eight-day trial period for people who tried out earlier versions (this fixes a bug with trial period expiry for people who have both mySkin and IconFix installed).</p>

<p>1.12: Updated Geeky skin to improve statusbar.</p>

<p>1.11: Merging extended over normal keyboard fix.</p>

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

<p>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.</p>

<p>1.04: Fix merging with extended keyboard skins.</p>

<p>1.03: Fix problems with extended keyboard skins.</p>

<p>1.02: Remove free-memory icons
entirely from clock popup to work around problem discussed in the <a href="#crashprotection">Crash protection</a> section. On the bright side, the soft resets introduced in 1.01 have been eliminated.</p>

<p>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.</p>

<p>1.00: First public release.</p>

<p>0.60 beta:
Skin merging support.</p>

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

<p>0.50 beta:
Renamed T3Skinner to SkinT3!. Public beta release.</p>

<p>0.04 beta:
Exclude F3T3AgendaBG Agenda backgrounds from list.</p>

<p>0.03 alpha:
First version to work on a hardware T3.</p>

<p>0.01 alpha:
First preliminary release based on code imported from ClieSkinner 1.16 release.</p>
</small>
</body></html>