S2U2 v0.70 (26-10-2007) by A_C
=============================
S2U2 is a simple lock/unlock application which has the iPhone style slide unlocking. It can be used as a screensaver while you don't use your device. And it's has a CallerID function.

Prerequisition:
===============
- WM5 Phone or WM6 Professional devices
- free RAM: ~ 1M for QVGA; ~ 3M for VGA

History:
========
v0.70 (26-10-2007)
- added opton CallerID to have a full screen or thumbnail caller pic
- when CallerID is enabled, & when a call is missed, a "Missed Call" will show who made that
- added support to 320 x 320 devices
- smoother start-up
- some bugs fixed

v0.60 (22-10-2007)
- changed the clock files format (all under GFX\Clock) for easier customisation (for transparent effect, the top left corner pixel must be the transparent color)
(For hi-res devices, please extract files from either vclock.zip or vclockH.zip & copy them to \GFX\Clock under the installed path. Otherwise the clock will be shown as half-sized.)
- fixed the background power interuption problem
- do not start S2U2 when the LCD is turned off
- smoother start-up
- some bugs fixed

v0.53 (17-10-2007)
- added option ShowAlarm to show the coming system alarm info
- added a little animation when the device is charging
- fixed the "Flight Mode" issue for Treo
- some minor bugs fixed

v0.52 (14-10-2007)
- ShowAppointment also shows "all day event" (but only the 1st one)
- reworked the "Flight Mode / No Service" detection
- fixed the WVGA display defect in Landscape mode
- fixed Autostart to work with soft-key power off
- some bugs fixed

v0.5 (11-10-2007)
- added Landscape orientation (the wallpaper file is wallpaperL.bmp under GFX folder)
- added auto power saving as S2U (i.e. the shimmer will stop after idle for a while)
- added an icon for S2U2
- added Unread XXX notifications & ShowTask option
- added options ShowAppointment & AppointmentTimeFormat
(read the Configuration section below for the details)
- no more AC_XXX.bmp temp files
- all texts are VGA aware
- some graphic improvements on VGA mode
- fixed the problem with other Alarm software

v0.3 (29-9-2007)
- added option DpadOn
- fixed some devices that cannot slide the arrow button
- increased the arrow button's sensitivity a little
- super fast loading time of S2U2

v0.2 (25-9-2007)
- support square & VGA devices (native high resolution wallpaper is also supported)

v0.1
- rewrite the whole application in C++
- trim down the memory usage to around 1M
- support QVGA devices only
- support Portrait & Landscape mode
- back to basic version (no Caller ID; no unread xxx notifications & others)

Installation:
=============
- If you have Slide2Unlock installed, please uninstall it first & then soft-reset.

- After installation, there are 2 shortcuts created under \Program Files\S2U2:
 iLock2.lnk - start/stop ilock2.exe (on the 1st run, it runs silently in the background; on the 2nd run, it closes iLock2 & S2U2)
 S2U2.lnk - manually start S2U2 (be sure iLock2 is running in the background, otherwise the Battery status will not be updated)

- A shortcut for iLock2.exe is created automatically under "\Windows\StartUp" as well.

- Installation on Storage Card is not supported (for the sake of stability).

- There are 2 clock font files for selection - clock.zip (default) & clockH.zip. How to use?
1. stop iLock2
2. delete those files under \GFX\Clock (under the installed folder)
3. copy the extracted files to \GFX\Clock
4. start iLock2 & S2U2

- For hi-res devices, please extract files (follow the above steps) from either vclock.zip or vclockH.zip & copy them to \GFX\Clock under the installed path. Otherwise the clock will be shown as half-sized.

Configuration: (in the Registry under \HKEY_CURRENT_USER\Software\A_C\S2U2. Please remember to RESTART iLock2 after any registry settings changed, otherwise it won't work):
=================================================================================
- The Date & Time format can be customized by changing the keys DateFormat & TimeFormat:
Date:
d 	Day of month as digits with no leading zero for single-digit days. 
dd 	Day of month as digits with leading zero for single-digit days. 
ddd 	Day of week as a three-letter abbreviation.
dddd 	Day of week as its full name.
M 	Month as digits with no leading zero for single-digit months. 
MM 	Month as digits with leading zero for single-digit months. 
MMM 	Month as a three-letter abbreviation.
MMMM 	Month as its full name.
y 	Year as last two digits, but with no leading zero for years less than 10. 
yy 	Year as last two digits, but with leading zero for years less than 10. 
yyyy 	Year represented by full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars both have five digit years. The "yyyy" pattern will show five digits for these two calendars, and four digits for all other supported calendars.  
yyyyy 	Identical to "yyyy".  

For example, to get the date displays "Wed, Aug 31 94"
set DateFormat to ddd',' MMM dd yy

Time:
h 	Hours with no leading zero for single-digit hours; 12-hour clock. 
hh 	Hours with leading zero for single-digit hours; 12-hour clock. 
H 	Hours with no leading zero for single-digit hours; 24-hour clock. 
HH 	Hours with leading zero for single-digit hours; 24-hour clock. 
m 	Minutes with no leading zero for single-digit minutes. 
mm 	Minutes with leading zero for single-digit minutes. 
s 	Seconds with no leading zero for single-digit seconds. 
ss 	Seconds with leading zero for single-digit seconds. 
t 	One character time marker string, such as A or P. 
tt 	Multicharacter time marker string, such as AM or PM. 

For example, to get the time displays "11:29:40 PM"
set TimeFormat to hh':'mm':'ss tt

- If you want to "auto start" S2U2 when the device is woke up, set:
	Autostart to 1 (0 to disable)

- To turn off the LCD by S2U2, you may specify:
	OffLCD to n (after n seconds idle, the screen will be off; minimum is 5 seconds; 0 to disable)

- When the OffLCD is enabled, you may specify whether the device is suspended or remain active but with LCD turned off:
	BlankScreen set to 0 or 1 (0 to suspend the device; 1 to turn off the LCD only)

- For devices with the capability to turn off the backlight, you may set S2U2 to start automatically when the device's backlight is turned off by:
	IdleStart set to 1 (0 to disable)

- Similar to IdleStart, ACIdleStart has the same function when the device is charging:
	ACIdleStart set to 1 (0 to disable)

- Similar to OffLCD, ACOffLCD has the same function when the device is charging:
	ACOffLCD to n (after n seconds idle, the screen will be off; minimum is 5 seconds; 0 to disable)

- Similar to BlankScreen, ACBlankScreen has the same function when the device is charging:
	ACBlankScreen set to 0 to suspend the device; or 1 to turn off the LCD only

- If you want to install S2U2 to other folders or the storage card, please update the key:
	S2U2Path to "the new full path"

- To turn off the LCD during a phone talk, set the key:
	BlankOnTalk to 1 (0 to disable)

- To enable D-Pad input, set the key:
	DpadOn to 1 (0 to disable)

- To show the Appointment information shown at Today's screen, set the key:
	ShowAppointment to 1 (0 to disable)

- To change the format of Appointment's time, change the key:
	AppointmentTimeFormat (use the same syntax as TimeFormat)

- Not to display the total no. of "Active Task", set:
	ShowTask to 0 (1 to enable)

- To show the coming system alarm info, set the key:
	ShowAlarm to 1 (0 to disable)

- To enable the Caller ID screen; set the key:
	CallerID to 1 - full screen mode; 2 - thumbnail mode; 0 to disable

Only use the following 2 settings if your device have any abnormal behaviour:
- When NoPowerSuspend is set to 1, the OffLCD & ACOffLCD will be disabled. It'll untouch the Power Management and leave it back to the OS.

- When SafeMode is set to 1, iLock2 will not enter the "Unattended mode" (this is a special mode for the background jobs to run but without turning the LCD on). The device may need to soft-reset for SafeMode to be enabled.

- The default values are added on the first run of iLock2: 
	ACBlankScreen=0
	ACIdleStart=0
	ACOffLCD=0
	AppointmentTimeFormat=h':'mmt
	Autostart=1
	BlankOnTalk=0
	BlankScreen=0
	CallerID=0
	DateFormat=dddd', 'd MMMM
	DpadOn=0
	IdleStart=0
	NoPowerSuspend=0
	OffLCD=0
	SafeMode=0
	ShowAlarm=1
	ShowAppointment=0
	ShowTask=1
	S2U2Path="\Program Files\S2U2"
	TimeFormat=H':'mm

Command Switch of iLock2:
=========================
iLock2.exe accepts the following command switches:
 -slide to start/invoke S2U2
 -nomsg to not to show any message even it closes itself & S2U2
 -refresh to close S2U2 & reload the registry settings

Known limitations & FAQs:
=========================
- How to change wallpaper? 
- Create a jpg file with resolution the same as your device (QVGA is 240 x 320; VGA is 480 x 640); rename it to "wallpaper.jpg"; copy it to the gfx folder (default is \program files\s2u2\gfx\); restart iLock2. And the file "wallpaperL.jpg" is for the Landscape mode.

- How to edit the registry? 
- You need 3rd party software like "Task Manager" & "Total Commander". Try to google them & they are very user friendly apps.

- After changing the registry settings, iLock2/S2U2 do not behave as instructed?? 
- Pls RESTART iLock2 after any registry settings is made.

- If "Password/Pin Lock" or "Owner Information" are enabled to display at wake up, S2U2 may cause the screen flicker?!
- Pls disable these functions.

- My device's special Keys are not blocked by S2U2?! (e.g. HTC Touch, the camera key on some devices...)
- This is a device specific problem that cannot be resolved.

- Error: UserNotification has too much records?
- That means the notification database contains more than 500 records. It'll ruin the Autostart of S2U2. Pls use other s/w (SK Tools, Memaid etc) to clean it up first.

- The quality of the CallerID pic is so bad even the original photo is in high quality?!
- DO NOT use the system contact to add photo to a contact. Use other s/w like Inesoft Address Book or PocketCM to do so.

- How to mute an incoming call when CallerID is enable?
- PRESS the volume up/down keys.

- After soft-reset, the first call's callerID is not shown?
- It's an OS issue, no solution yet.

- After soft-reset, the first call's callerID is not shown sometimes?
- It's an OS issue, no solution yet.

- How to restore the system caller tab?
- set CallerID to 0 or uninstall S2U2, then soft-reset.

- Some keys are not blocked?
- Please check if you have installed any key mapping s/w that will break S2U2.

- NOT Compatible devices: SX66, Xda IIs (Blue Angel)

Trouble shooting:
=================
If you find your device is hang with a blank screen or no response with any key or screen-touch, you may not need to reset it. Please follow these steps if your device has a camera button:
- press the camera button to invoke the built-in camera program
- press the end call button to go back to Today screen
- use Task Manager (a third party freeware; highly recommended) to close the S2U2.EXE

Special Thanks:
===============
- Forum fellows at xda-developers (http://forum.xda-developers.com). Thank you for your testings, comments, supports & patience.

Enjoy!
A_C