S2U2 v1.05 (18-6-2008) by A_C
=============================
S2U2 (Slide 2 Unlock 2) 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 (but some devices may not work, so please try it first); and S2P (Slide 2 Play) control plugin.

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

Changes of v1.05
================
- fixed the bug introduced in v1.02 that the clock did not update occasionally on device wake up;the idle time out occasionally malfunction; and the wallpaper did not change occasionally.
- the total unread count for FlexMail now reads to a maximum of 10 storages.
- fixed the bug that displayed night icon for Spb Weather.
- fixed the bug that some devices could not run probably on landscape mode.
- added support to RealVGA.
- added support to WVGA & WQVGA.
- some minor bugs fixed.

Changes of v1.03
================
- added unread count for Windows Live Messenger.
- fixed the bug introduced in v1.02 that Task count is always displayed no matter what setting.

Changes of v1.02
================
- added option "S2UText" to customize the text "slide to unlock".
- added option "S2AText" to customize the text "slide to answer".
- added option "UnlockSound" (must in full path) to play a .WAV file after unlock.
- added option "LockSound" (must in full path) to play a .WAV file when manually lock the device.
- added option "UnlockRunEXE" (must in full path) to execute an application after unlock.
- added option "UnlockOnRotate" to unlock after the screen is rotated; default is 0 (disabled). It's useful for device with slide-out keyboard. Set to 1 will unlock it when the keyboard is slided out (assume the screen will be rotated as well).
- added option "S2AAnsKey" to enable the ANSWER key even "slide to answer" is activated; default is 0 (disabled).
- added option "WakeupDelayMS" to add a delay (in ms) to start S2U2 when the device is woke up; default is 100ms. For SPB Mobile Shell user, a longer delay time is required, e.g. 300ms to let the S2U2 to lock the Now screen.
- added unread count for FlexMail.
- the DPAD Up/Down can only used to mute the incoming ring/vibration when DpadOn is enabled.
- the closing message of iLock2.exe is now self-closing in 3 seconds.
- some minor bugs fixed.

Changes of v1.01
================
- added option "ExceptionEXEisFG" - 1 means the exceptional applications list (ExceptionEXE0-9) will be checked against the foreground application only; 0 means the exceptional applications list will be checked not only the foreground application but also the background applications.
- added a charging animation when the device is charging; to disable it, delete the battery1.png under \gfx\.
- added DPAD Up/Down (besides the Volume Up/Down) to mute the incoming ring/vibration.
- if S2P is running, unlock S2U2 will invoke S2P.
- some fine tuning done when interacting with S2P.
- some minor bugs fixed.
- updated the Configuration & FAQs sections of the README.TXT.

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

- Under your PC/MAC/device, extract the content of the downloaded file & copy the CAB file to your device.

- Under your device, run any File Explorer application; go to the folder where the CAB file is copied; run the CAB file.

- After installation, there are 3 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 with a closed message).
 s2u2.lnk - manually start S2U2.
 s2u2 Settings.lnk - change the detail settings of S2U2.

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

- If it's your first time to use S2U2, please start iLock2 first.

- For hi-res devices, d/l the S2U2ClockPack.rar & follow the steps in the ClockReadme.txt. Otherwise the clock will be shown as half-sized.

- For additional clock fonts, d/l the S2U2ClockPack.rar & follow the steps in the ClockReadme.txt.

- For non-English devices, d/l the S2U2LanguagePack.rar; extract your language's ini file; rename it to lang.ini; copy to the S2U2 installed folder; restart iLock2.

Configuration: 
==============
- Use the "s2u2 Settings.exe" to change the settings.

- Through the lang.ini, the default values of DateFormat, TimeFormat, AppointmentTimeFormat, PhoneNoFormat, Wallpaper (Protrait & Landscape) & ClockPath can be customised. They are s_DefaultDateFormat, s_DefaultTimeFormat, s_DefaultAptTimeFormat, s_DefaultPhoneNoFormat, s_DefaultWallpaper(L) & s_DefaultClockPath.

- For advanced users, you can edit the registry (\HKEY_CURRENT_USER\Software\A_C\S2U2) directly. Please remember to RESTART iLock2 after any registry settings changed, otherwise it won't work. The default values are added on the first run of iLock2: 
 Autostart=1 (start S2U2 when the device is woke up; 0 to disable)
 IdleStart=0 (start S2U2 when the device's backlight is turned off; 0 to disable)
 OffLCD=17 (x seconds after the backlight is off, device will be turned off; minimum is 5 seconds; 0 to disable)
 BlankScreen=0 (when OffLCD is executed, 1 means do not turn off the device but only turn off the LCD)
 BlankOnTalk=0 (blank the LCD when the device is making a voice call; 0 to disable)
 ACIdleStart=0 (same as IdleStart but only effective for external power)
 ACOffLCD=0 (same as OffLCD but only effective for external power)
 ACBlankScreen=0 (same as BlankScreen but only effective for external power)
 ACBlankOnTalk=0 (same as BlankOnTalk but only effective for external power)
 DateFormat=dddd', 'd MMMM (the format of the displayed date)
 TimeFormat=H':'mm (the format of the displayed time)
 ClockPath=clock\ (the path stored the clock graphics file under \gfx\)
 ShowAlarm=1 (show the next system alarm time; 0 to disable)
 ShowAppointment=0 (show the next today or tomorrow's appointment information; 0 to disable)
 ShowTask=1 (show the total no of active tasks; 0 to disable)
 ShowWeather=0 (show weather information from: 1 - Spb Weather; 2 - Weather Panel, 3 - Pocket Weather, 4 - HTC Weather; 5 - User-defined Weather; 0 to disable; more details at FAQ)
 AppointmentTimeFormat=h':'mmt (the format of the appointment time)
 CallerID=0 (the CallerID; 1 - full screen mode; 2 - thumbnail mode; 0 to disable)
 Slide2Answer=0 (the "Slide to Answer"; 0 to disable; more details at FAQ)
 S2AAnsKey=0 (when Slide2Answer is enable, disable ANSWER key to answer a call; 1 to enable)
 S2AEndKey=1 (when Slide2Answer is enable, allow END key to decline a call; 0 to disable)
 PhoneNoFormat= (the format of the incoming phone no.)
 Wallpaper= (the path of the wallpaper or folder of wallpapers in portrait mode)
 WallpaperL= (the path of the wallpaper or folder of wallpapers in landscape mode)
 GifSpeed=5 (the display speed of the GIF wallpaper; 1 is the slowest; 10 is the fastest; 0 to use the GIF's origianl speed)
 WallpaperChangeTime=0 (the no. of minutes to change the wallpaper automatically; 0 to disable)
 WallpaperRandom=0 (change the wallpaper randomly; 0 to disable)
 DpadOn=0 (enable the DPAD Right key to unlock & enable the DPAD Up/Down key to mute incoming ring/vibration; 0 to disable)
 NoSoftKey=0 (display the bottom soft unlock key; 1 to hide)
 TopCurtain=1 (display the top curtain behind the clock & date; 0 to hide)
 NoPowerSuspend=0 (suspend the power by S2U2; 1 to disable; more details at FAQ)
 SafeMode=0 (run in safe mode; 0 to disable; more details at FAQ)
 DirectDraw=1 (run in DirectDraw mode; 0 in Raw Back Buffer mode)
 KoreanSMSpatch=0 (the Korean SMS patch; 0 to disable)
 ExceptionEXE0=iexplore.exe (disable S2U2's auto lock when ie is running)
 ExceptionEXE1=VoiceCommander.exe (disable S2U2's auto lock when Voice Commander is running)
 ExceptionEXE2=AlarmPopup.exe (disable S2U2's auto lock when Spb's Alarm is running)
 ExceptionEXE3=SDDialer.exe (disable S2U2's auto lock when HTC's voice dialer is running)
 ExceptionEXE4=
 ExceptionEXE5=
 ExceptionEXE6=
 ExceptionEXE7=
 ExceptionEXE8=
 ExceptionEXE9=
 ExceptionEXEisFG=1 (exception is checked against foreground application; 0 is checked against both foreground & background application)
 S2UText=slide to unlock (customization)
 S2AText=slide to answer (customization)
 UnlockSound= (play a .WAV file (must in full path) after unlock)
 LockSound= (play a .WAV file (must in full path) when manually lock the device)
 UnlockRunEXE= (execute an application (must in full path) after unlock)
 UnlockOnRotate=0 (do not unlock after the screen is rotated. It's useful for device with slide-out keyboard. Set to 1 will unlock it when the keyboard is slided out (assume the screen will be rotated as well))
 WakeupDelayMS=100 (delay (in ms) to start S2U2 when the device is woke up. For SPB Mobile Shell user, a longer delay time is required, e.g. 300ms to let the S2U2 to lock the Now screen)

- All files under \GFX\ can be modified. To keep the transparent effect of some graphics, the top left corner pixel must be the transparent color; or use the ARGB PNG format.

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 reload the registry settings & restart S2U2
 -reset to reset the unread counts of SMS, MMS, email & vmail

Known limitations & FAQs:
=========================

General
=======
Q. Do I have to install the old version before using this version?
A. No.

Q. How to use the .CAB file?
A. http://www.google.com/search?q=install+cab

Q. My device shows a blank/black screen when run S2U2 or "s2u2 Settings"?
A. It's not compatible with S2U2. It's a h/w problem. Try to turn ON or OFF the DirectDraw option:
1. stop iLock2
2. edit the registry, under \HKEY_CURRENT_USER\Software\A_C\S2U2, find the key DirectDraw
3. set it to 0 or 1 (depending on which mode it doesn't work, set an opposite value)
4. start iLock2 & S2U2

Q. How to hide the Date or the Time?
A. Set the DateFormat or TimeFormat to blank; restart iLock2.

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

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

Q. S2U2 always run unexpectedly?
A. Try to disable the IdleStart.

Q. S2U2 suddenly does not start automatically?
A. Check if there is any applications which are included in the ExceptionEXE list are running in the foreground.
A. If you have installed Battery Status, disable the "show Today Screen after wake up".
A. if you have installed Ultimate Launcher, disable "activate plugin on start up".

Q. S2U2 consumes a lot of power?!
A. Make sure there is no music player running in the background.

Q. If "Password/Pin Lock" or "Owner Information" are enabled to display at wake up, the screen may go ALL BLACK?!
A. Tap the screen to refresh the screen.

Q. When system notifications come in (e.g. SMS, email or alarm...), S2U2 will be unlocked with a black background?!
A. Yes, otherwise you will not be notified. But S2U2 will reappear after these notifications are dismissed.

Q. S2U2 shows the wrong no. of unread SMS/MMS/email/vmail?!
A. It's a device specific problem. You may reset these counts by:
1. stop iLock2
2. run iLock2 -reset
3. start iLock2
A. You may use the ResetUnreadCount.cab to reset these unread counts.

Q. My device's special Keys are not blocked by S2U2?! (e.g. the camera key on P525 & P535...)
A. This is a device specific problem that cannot be resolved.
A. Please check if you have installed any key mapping s/w that will break S2U2.

Q. I can still activate "Touch Flo" even S2U2 is locked?!
A. Exclude S2U2.exe in the "Touch Flo" setting either by edit the \Windows\Touch Flo\FTouchFloConfig.txt
or edit the registry: go to HKLM\Software\HTC\Biotouch\Disable4SpecificApp; add new key called "S2U2"; in the folder for this Key, add new string value "ClassName" = "S2U2"; softreset the device.

Q. Some of my device's background jobs (like email sync or bluetooth connection) stopped unexpectedly when S2U2 is running?
A. Try to enable NoPowerSuspend.

Q. What is NoPowerSuspend?
A. There is a few options in S2U2 to set when to suspend your device's power. If NoPowerSuspend is set to 1, these options will all be disabled.

Q. What is SafeMode?
A. S2U2 runs in special mode called "unattended mode" so that everytime the power button is pressed, it'll start in the background. If SafeMode is set to 1, S2U2 will not run in "unattended mode".

Q. Some of my scheduled tasks did not run as schedule, but it'll start when manually turn on the device?
A. Try to set OffLCD longer (17 seconds or more) or add it to the ExceptionEXE list as below.

Q. How to configure S2U2 not to start when some applications are running?
A. Edit the Registry, under \HKEY_CURRENT_USER\Software\A_C\S2U2, add key ExceptionEXE0 (STRING) with the name of the application (e.g. iexplore.exe). A total of 10 (0-9) ExceptionEXE can be added. Set ExceptionEXEisFG to 1 for checking it's running in foreground only; while set to 0 for checking it's running in foreground or background. Then restart iLock2.

Q. The ShowAppointment does not show all my today's appointments?
A. Yes, only ONE appointment (the closet) & ONE day event will be shown.

CallerID
========
Q. Does the CallerID support Video Call?
A. No.

Q. The CallerID function does not work on my device?!
A. Since there are a lot variables between different devices/environment, it's possible that the CallerID does not work. So if it's the case, disable the CallerID. Otherwise you may don't know who is calling you.

Q. The quality of the CallerID pic is so bad even the original photo is in high resolution?!
A. DO NOT use the system contact to add photo to a contact. Use S2V (Slide 2 View) or PocketCM to do so.

Q. How to mute an incoming ring/vibration when CallerID is enable?
A. Press the Volume Up/Down or DPAD Up/Down keys.

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

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

Q. "Slide to Answer" does not work?
A. Firstly, the CallerID must be enable & it works on your device. Secondly, the "Slide to Answer" screen will only appear when your device is locked already by S2U2. Otherwise it only shows a normal CallerID screen.

Wallpaper
=========
Q. How to change wallpaper? 
A. 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.

Q. My GIF wallpaper does not shown?
A. Currently, there seems to be a limitation to the size of the GIF file. Sometimes, even your device has enough free RAM, it still cannot be shown. Recommended to reduce the dimension (not the file size) & the no. of frames of the GIF, then try again.

Q. The GIF animation stopped after a certain period?
A. Turn on the GifEndless option.

Q. I've set up a folder of GIF files & set the Wallpaper point to that folder, but S2U2 shows nothing?
A. Wallpaper(L) folder only supports JPG files.

Q. When the wallpaper is set to GIF file, even a small one, the memory usage is very high?
A. Yes, all the frames need to be cached in memory. So the more frames the GIF has, the more memory will be used.

Weather
=======
Q. My XXX weather application cannot be shown on S2U2?
A. S2U2 only supports Spb Weather (not Traveler; not Shell), Weather Panel, Pocket Weather, HTC Weather & User-defined Weather.

Q. When ShowWeather set to HTC Weather, it does not show any icon?
A. You're probably running a custom-made HTC Home plugin. Try to figure out where the plugin is installed (e.g. \HTCHome\), then copy all HH_Weather_XXsmall.png files to \Windows\. Restart iLock2.

Q. There is no registry key called UserWeather in my device?
A. Create it (as STRING) by yourself.

Q. How to make use of UserWeather?
A. You have to manually update the registry key UserWeather (STRING) under \HKEY_CURRENT_USER\Software\A_C\S2U2. The format is "icon|index|high temp|low temp" where icon is S, P or W (Spb Weather, Pocket Weather or Weather Panel).
Or "icon|index|string" where "icon" is C (custom), "index" is the weather icon & "string" will be the message displayed underneath the weather icon. e.g. "C|50|Rainning" means the \gfx\weather\50.png icon & "Rainning" will be displayed on screen.
Schettj has created a MortScript to update it through Yahoo's weather, details at http://forum.xda-developers.com/showthread.php?t=358952

Q. Why there is no current weather info shown?
A. Because S2U2 only shows TODAY's FORECAST info from other weather applications.

Q. When getting temperature (in Celsius) from HTC, there is always 1 degree discrepancy?
A. That's the bug of HTC when converting the readings from Fahrenheit to Celsius.

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

Enjoy!
A_C