[Touch Pro, Fuze Themes and Apps] siggie1970:
I really enjoy this forum since it helps me a lot to increase the productivity with my HTC Touch Pro. I found many useful applications. Unfortunately, after installing a large number of them, I run into the infamous 32 processes limit of Windows Mobile. So I decided to write my own app that combines all the features that I find useful. It is implemented as a Pocket PC service, so it does not require an own process.

Here are the features:

- Better vibration for incoming calls. I found the built-in vibration function very annoying as it vibrates permanently during an incoming call. This extensions vibrates in pulses of 300 ms with a pause of one second when a call is incoming

- SIP changer depending on stylus state. If stylus is out, another soft input panel is selected as if stylus is in. Can be changed via the registry keys StylusInSIP and StylusOutSIP.

- Stroke Launcher. If the finger is stroked from one button to another, an application is launched.Four directions are possible: From home button to accept phone call button and vice versa as well as from back button to reject phone call button and vice versa. The applications can be configured via the RightUpApp, RightDownApp, LeftUpApp and LeftDownApp registry keys. The required length of the stroke can be configured via the GestureMinLen registry key. Unfortunately, the program has to poll HTC's NAV sensor directly in order to not disturb the functionality of the wheel sensor. The sleep time between two polls can be configured with the GesturePollingDelay (in ms). If you use very fast strokes and the device does not react, try to decrease this value.

- Key lock if device is face down. The key lock is activated and the device is powered off if it is turned face down. The key locked is acknowledged by two short vibrations. Key lock can be disabled depending on the foreground window or active process list. Exclude list can be specified via the ExcludedProcesses and ExcludedWindows registry keys. The tolerance for the face down detection can be configured via the FacedownTolerance registry key.

The registry settings for Buttler are stored in HKLM\Software\Butler. Each extension described above can be switched of by setting the EnableFeature registry key to 0.

As I have not much time to react on bugs or feature requests, I have also attached the source code. Fell free to modify my Butler but please publish it here so that we all can benefit from it.

The Butler service is started with the program "StartButler.exe" located in the Windows directory. I call it from a MortScript during device boot. It is important that HTC Touch Flo 3D is already loaded. For some reason, the gsensors can not be initialized if Touch Flo 3D is not loaded. Here is the code I use:

# Wait for TouchFlo3D

While(ProcExists("manila.exe")=0)

Sleep(1000)

EndWhile

# Start the butler

Run("\Windows\StartButler.exe")

Have fun!

Siggie

Change log:

V1.0:

- Initial release

V1.1:

- Reading of the NAV sensor completely rewritten. The sensor is now directly polled. This does not interfere with other programs, so the wheel sensor and the camera is working again.

- EnableFeature registry keys added for switching off each extension individually.