All lot of people are always asking for ways to change things around on their treo's, here are the answers for all of your hacking needs.

<Please note that some of these hacks will not work with the Treo. They are for WM5 devices but for a reason I can't explain some don't have any effect on the our devices.>

Disable menu animations

To disable menu animations (sliding in/out) and speed up performance of the UI a bit:
HKLM\SYSTEM\GWE\Menu\AniType = 0 (DWORD decimal)
To change it back to the default:
HKLM\SYSTEM\GWE\Menu\AniType = 6 (DWORD decimal)

Disable window animations

To disable window animations (minimizing/maximizing) and speed up performance of the UI a bit:
HKLM\SYSTEM\GWE\Animate = 0 (DWORD decimal)
And to switch them back on:
HKLM\SYSTEM\GWE\Animate = 1 (DWORD decimal)

Increase font cache

To increase the font cache, speeding up font rendering at the cost of a bit of memory:
HKLM\SYSTEM\GDI\GLYPHCACHE\limit = 16384 (DWORD decimal)
To change it back to the default:
HKLM\SYSTEM\GDI\GLYPHCACHE\limit = 8192 (DWORD decimal)
You can set the value to pretty much anything you like


Enable FileSystem cache

To enable the FileSystem cache, speeding up overall performance at the risk of the cache not being written on a sudden reset:
HKLM\System\StorageManager\FATFS\EnableCache = 1 (DWORD decimal)
To disable again:
HKLM\System\StorageManager\FATFS\EnableCache = 0 (DWORD decimal)

Note that by default, the cache size is zero, and you will see no effect. See "Increase FileSystem cache" to incease the cache size


Increase FileSystem cache

To increase the file system cache:
HKLM\System\StorageManager\FATFS\CacheSize = 4096 (DWORD decimal)
To return the file system cache to zero:
HKLM\System\StorageManager\FATFS\CacheSize = 0 (DWORD decimal)
You can set the value to pretty much anything you like


Increase FileSystem filter cache

To enable the file system filter cache, speeding up overall performance with file mangement:
HKLM\System\StorageManager\Filters\fsreplxfilt\ReplStoreCacheSize = 4096 (DWORD decimal)
To return the file system filter cache to zero:
HKLM\System\StorageManager\Filters\fsreplxfilt\ReplStoreCacheSize = 0 (DWORD decimal)
You can set the value to pretty much anything you like


Change the thickness of scrollbars

To change the thickness of the scrollbars at the right/bottom of documents larger than the screen, adjust...
For the horizontal (bottom) scrollbar:
HKLM\System\GWE\cyHScr = 9 (DWORD decimal)
For the vertical (right) scrollbar:
HKLM\System\GWE\cxVScr = 9 (DWORD decimal)
The default thickness is 13. You can set the value to pretty much anything you like


Change the length of scrollbar arrow buttons

To go with changing the thickness of the scrollbars, you may wish to change the length of the scrollbar arrow buttons...
For the horizontal (bottom) scrollbar arrows:
HKLM\System\GWE\cyVScr = 9 (DWORD decimal)
For the vertical (right) scrollbar:
HKLM\System\GWE\cxHScr = 9 (DWORD decimal)
The default length is 13. You can set the value to pretty much anything you like


Enable ClearType in Landscape mode

To enable ClearType in Landscape mode:
HKLM\System\GDI\ClearTypeSettings\OffOnRotation = 0 (DWORD decimal)
To disable:
HKLM\System\GDI\ClearTypeSettings\OffOnRotation = 1 (DWORD decimal)

Note that your PocketPC screen's LCD red/green/blue ordering required for proper ClearType display is only correct for Portrait display. You may or may not prefer to leave ClearType in Landscape mode disabled


Add a 'Disconnect' button (and Timer) to the Connection List for GPRS

To add a Disconnect button:
HKLM\ControlPanel\Phone\Flags2 = 8 (DWORD decimal)

To add a Disconnect button and a timer display showing how long GRPS is in use for the session:
HKLM\ControlPanel\Phone\Flags2 = 16 (DWORD decimal)


To disable both the Disconnect button and the timer:
HKLM\ControlPanel\Phone\Flags2 = 0 (DWORD decimal)



Change the 'user agent' identification of Pocket Internet Explorer

To change the 'user agent' identification of Pocket Internet Explorer, several fields need to be adjusted. The example shows how to identify as Internet Explorer 6 - desktop version
The standard compliance 'user-agent' string:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\(Default) = "Mozilla/4.0" (REG_SZ string, no quotes)
Defaults to "Mozilla/2.0" The application/version string:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Version = "MSIE 6.0" (REG_SZ string, no quotes)


Defaults to "MSIE 4.01" The host operating system string:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Platform = "Windows NT 5.0" (REG_SZ string, no quotes)

Defaults to "Windows CE" Please note that if you change the Platform string, PDA-friendly sites may stop sending you PDA-friendly content automatically. Leave this string set to "Windows CE" unless a site absolutely refuses to work, or you want the site to feed you its normal content.



Change the location of 'Temporary Internet Files'

When browsing the web, pages and images are saved in the 'Temporary Internet Files' location. You can change this location to, for example, your Storage Card:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache = "\Storage Card\cacheie" (REG_SZ string, no quotes)
To return to the original location:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache = "\Windows\Profiles\guest\Temporary Internet Files" (REG_SZ string, no quotes)


Change the display of the clock in the taskbar

The clock in the taskbar can be changed to show not only the time, but also the date, or just the date, or nothing at all.
To show nothing:
HKLM\Software\Microsoft\Shell\TBOpt = 0 (DWORD decimal)
To show just the clock:
HKLM\Software\Microsoft\Shell\TBOpt = 1 (DWORD decimal)


To show just the date:
HKLM\Software\Microsoft\Shell\TBOpt = 2 (DWORD decimal)

To show both the date and the clock:
HKLM\Software\Microsoft\Shell\TBOpt = 1 (DWORD decimal)

Note 1: If you switch to the Analog clock display, the date will remain visible -through- the Analog clock
Note 2: Setting the clock to show 'nothing' will still keep the reserved space, showing the taskbar background, and obscure any icons that will shift to the right.
Note 3: Your date may get obscured by the space reserved for the OK/Close button in the top-right. You can fix this my adding spaces at the end of your 'Short Date Format'. See also the tweak on 'Change the Short Date Format'


Change the Short Date Format

Applications may call upon the system to provide a 'short date format'. One such application is the Date/Time display in the taskbar, if set to show the date. To change the Short Date Format to show "Mon/2" (example):

HKLM\nls\overrides\SSDte = "ddd/d " (REG_SZ string, no quotes)

Note 1: For more information on date/time formatting strings, see: http://msdn.microsoft.com/library/de...ateformats.asp
Note 2: All applications using the short date format will be affected by this change. Choose wisely


Disable the security warning when installing non-certified application

To disable the security warning when installing a non-certfied application, set:
HKLM\Security\Policies\Policies\0000101a = 1 (DWORD decimal)
To restore the warnings:
HKLM\Security\Policies\Policies\0000101a = 0 (DWORD decimal)

Note that this makes it easier for any malware to install itself


Default SMS Delivery Notifications to on

To always have SMS Delivery Notifications enabled:
HKCU\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 1 (DWORD decimal)
To disable them (can still enable per-SMS in SMS settings):
HKCU\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 0 (DWORD decimal)

Note that SMS Delivery Notifications are a network provider option, and the recipient may refuse them to be sent out


Change the application launched by Today screen Soft Keys

To change the application launched by the Today screen Left soft key:
HKCU\Software\Microsoft\Today\Keys\112\Open = "\Windows\Calendar.exe" (REG_SZ string, including quotes)

To change the title of the Left soft key:
HKCU\Software\Microsoft\Today\Keys\112\(Default) = Calendar (REG_SZ string, no quotes)

To change the application launched by the Today screen Right soft key:
HKCU\Software\Microsoft\Today\Keys\113\Open = "\Windows\Calendar.exe" (REG_SZ string, including quotes)

To change the title of the Right soft key:
HKCU\Software\Microsoft\Today\Keys\113\(Default) = "Calendar" (REG_SZ string, no quotes)

Note that 113 normally doesn't exist by default, and probably needs to be created Also note that there is at least 1 application that allows you to set these through a GUI, developed by FdcSoft called SoftKeyAppletEx


Disable 3gp (video) size limit

To disable the 3gp (video recording format) size limit:
HKLM\SOFTWARE\HTC\camera\AppDefSettings\P3\EnableLimit = 0 (DWORD decimal)
To re-enable:
HKLM\SOFTWARE\HTC\camera\AppDefSettings\P3\EnableLimit = 1 (DWORD decimal)


Add GPS settings icon

If you have a GPS device, you can add a GPS settings icon to your Start > Settings menu using:
HKLM\ControlPanel\GPS Settings\Group = 2 (DWORD decimal)
HKLM\ControlPanel\GPS Settings\redirect <-- delete, or rename, this value

Note that '2' stands for the Connections tab, '1' is System and '0' would be Personal


Add Lunar Calendar mode to Calendar

You can add a Lunar Calendar mode to the Calendar view, showing a 'Month' view with the Lunar months/days.
HKLM\Software\Microsoft\Calendar\ShowLunarCalendar = 1 (DWORD decimal)
And to disable again:
HKLM\Software\Microsoft\Calendar\ShowLunarCalendar = 0 (DWORD decimal)


Change location of ringtones

You can change the location where WM5 will look for ringtones by adjusting the following key (example given is for ringtones placed on the Storage Card root folder)
HKCU\ControlPanel\Sound\Categories\Ring\Directory = "\Storage Card\" (REG_SZ string, no quotes)
The default location may be "\Windows\" or "\Windows\Rings\" depending on your Device provider


Change slide-out keyboard layout

If you have a Device from one country, but would like to use the keyboard layout of another, you can change the keyboard's language setting to do so...

For US layout (QWERTY):
HKCU\ControlPanel\Keybd\Locale = 1033 (DWORD decimal)
For German layout (QWERTZ):
HKCU\ControlPanel\Keybd\Locale = 1031 (DWORD decimal)
For French layout (AZERTY):
HKCU\ControlPanel\Keybd\Locale = 1036 (DWORD decimal)

_For other codes, see: http://www.microsoft.com/globaldev/r.../xp-lcid.mspx_


Show Edge network indicator instead of GPRS

If your network provider supports the Edge network (and your device does as well), you can use the following to show a little 'E' icon instead of 'G' icon when connected to an Edge network:
HKLM\Drivers\BuiltIn\RIL\EnableDifferGprsEdgeIcon = 1 (DWORD decimal)
To disable again:
HKLM\Drivers\BuiltIn\RIL\EnableDifferGprsEdgeIcon = 0 (DWORD decimal)

Note that your device -and- your network operator need to support Edge, otherwise you won't see it. Also note that if you connect to GPRS, you will still see the 'G' icon.


Make reminders show only once

By default, reminders will keep bugging you for 2 minutes. You can change this to zero minutes by adjusting this value:
HKCU\ControlPanel\Notifications\Reminders\AutoSnooze\AutoSnoozeMins = 0 (DWORD decimanl)

Note that you can set this to any value you like. Alternative to setting this value to zero is to delete the '?AutoSnooze' key altogether


Remove operator skin from Phone app

If your device's Phone app is skinned, you can remove by setting:
HKLM\Security\Phone\Skin\Enabled = 0 (DWORD decimal)
Similarly, you can restore it with:
HKLM\Security\Phone\Skin\Enabled = 1 (DWORD decimal)


Hide/Show Screen orientation icon

If you wish to hide the Screen orientation icon, shown in the task bar on some devices, you can set:
HKLM\System\GDI\Rotation\HideOrientationUI = 1 (DWORD decimal)
And to show it again:
HKLM\System\GDI\Rotation\HideOrientationUI = 0 (DWORD decimal)

If this doesn't work, you can try:
HKLM\Services\screenrotate = 0 (DWORD decimal)
And to show it again:
HKLM\Services\screenrotate = 1 (DWORD decimal)

Note that this icon and its feature may not be available on your device at all.


Hide/Show battery indicator in Task bar

If you wish to hide the battery indicator in the task bar on some devices, you can set:
HKLM\Services\Power\ShowIcon = 0 (DWORD decimal)
And to show:
HKLM\Services\Power\ShowIcon = 1 (DWORD decimal)

Note that this icon and its feature may not be available on your device at all. For example, the HTC Wizard regularly ships with a battery indicator in the Tray instead, governed by "Windows\Startup\Init_Tray.exe".


Show slide-out keyboard caps/dot icon next to SIP

If your device contains a file called "capnotify.exe", try running it (most devices that have it will already have it in the Windows\StartUp\ folder), and setting the following value to get a visual presentation of whether you are in caps or dot (alternate key function) mode:
HKCU\ControlPanel\Keybd\EnableIndicator = 1
Please note that if your device has no external keyboard with caps/dot mode, you won't gain anything from this tweak
Please also note that the application "?CapNotify.exe" must be running (normally found in \Windows\?StartUp\ already) for this to work


Change ringtone/vibrate/LED flash characteristics

If you would like more control over how your device rings/vibrates/flashes its LEDs on events, you can can change the Script values of these events. For example, for an incoming call performing 'activate device, play ringtone, wait 3 seconds, repeat':

HKCU\ControlPanel\Sounds\RingTone0\Script = "apw3r" (REG_SZ string, no quotes)

For performing 'active device, set volume to 33%, play ringtone, set volume to 67%, play ringtone, set volume to 100%, play ringtone (no repeat)':

HKCU\ControlPanel\Sounds\RingTone0\Script = "ac33pc67pc100p" (REG_SZ string, no quotes)


The following are the full codes available to you. Please note that all the codes are executed simultaneously except after a ringtone play / wait code. E.g. 'v1p' will vibrate and play at the same time, while vibrating for 1 second. But 'pv1' will play the ringtone through all the way first, then start vibrating for 1 second.

a = activate device
cN = set volume to N in percentage max volume
fN = flash notification LED for N seconds
p = play ringtone. Note that this will play the ringtone all the way through before continuing with the next code.
r = repeat. Note that this should be the last code in your Script string, if used at all.
vN = vibrate for N seconds
wN = wait for N seconds. Note that the device will wait this long before continuing with the next code.


Change the keyboard backlight duration

To change the duration of the keyboard backlight, you can set (example is 30 seconds):
HKCU\ControlPanel\Backlight\QKeyLedTimeout = 30 (DWORD decimal)

Please note that this may not work on some devices. One such notable exception is the HTC Wizard.


Disable the SMS Sent notification

If you're tired of the "Message Sent" notification after sending an SMS/text message, you can disable them:
HKLM\Software\Microsoft\Inbox\Settings\SMSNoSentMsg = 1 (DWORD decimal)
And to re-enable:
HKLM\Software\Microsoft\Inbox\Settings\SMSNoSentMsg = 0 (DWORD decimal)

Please note that the 'Settings' key may not exist in your device, and thus may have to be created first.


Change the SMS Sent notification text

If you just want the "Message Sent" notification to read something different, adjust the following:
HKLM\Software\Microsoft\Inbox\Svc\SMS\MessageSent = "Message Sent" (REG_SZ string, no quotes)

Always require SMS Delivery notification

If you always want an SMS Delivery notification (see note below!), and are tired of ticking the 'Request message delivery notification' checkbox, set:
HKLM\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 1 (DWORD decimal)
To disable again:
HKLM\Software\Microsoft\Inbox\Settings\SMSDeliveryNotify = 0 (DWORD decimal)

Note 1: Delivery notifications will depend on your and the recipient's operator network capabilities! Note 2: You can still override this with the regular checkbox.



Put custom text on bottom-right of Today screen

You can set some piece of text on the bottom-right of the Today Screen by setting the following key:
HKLM\Software\Microsoft\Shell\DeviceBeta\Today = "Hello World" (REG_SZ string, no quotes)

Please note that this text won't take up Today item text. It will be obscured by Today items.


Navigate PIE up/down with the four-way pad

By default, PIE uses the four-way pad's up/down buttons to jump between hyperlinks and form fields. You can set it up to page up/down instead by setting:
\HKLM\Software\Microsoft\Internet Explorer\Navigation\4-Way Nav = 0 (DWORD decimal)
And to re-enable hyperlink/form field navigation:
\HKLM\Software\Microsoft\Internet Explorer\Navigation\4-Way Nav = 1 (DWORD decimal)

Note that you may still jump between links using Tab and Shift-Tab if your Device has a built-in hardware keyboard.


Navigate PIE up/down with any key

You can change the keys used by IE for page up/page down browsing by creating keys linked to these controls:
Page Up:
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\|key code| = 1 (DWORD decimal)
Page Down
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\|key code| = 2 (DWORD decimal)

Where |key code| is the code of the key pressed. For example, if your Device has a phone pad on the front, you may prefer to use the '2' key (keycode 50) for page up, and the '8' key (keycode 56) for page down, leaving the four-way pad to browse links:
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\50 = 1 (DWORD decimal)
HKLM\Software\Microsoft\Internet Explorer\KeyMaps\56 = 2 (DWORD decimal)