It used to be that I used SPB’s PocketPlus and PhoneSuite products on my HTC TyTN to provide some useful functionality. Most of that – including finger/kinetic scrolling – is provided native in the WinMo 6.5 build I have running on the Touch Pro. Which is one reason why I went with WinMo 6.5.
But some features of those programs were sorely missed. Namely, timed profiles in PhoneSuite (the ability for the phone to automatically switch back to the Normal profile from, say, Silent or Vibrate after some time). PocketPlus gave me an enhanced File dialog.
For whatever reason SPB is dragging their feet on supporting 6.5 in these two apps. So screw it.
While I still don’t have an enhanced File dialog, I now have timed profiles. I’m running code that I designed, but it works.
Quickly then – I’ve got a C program that watches certain registry entries waiting for them to change. One of those entries – HKCU/ControlPanel/ShellOverrides/Mode – reliably indicates whether the phone ringer is Normal, Silent or Vibrate. So the C program sits on a notification waiting for this key to change. When it does, the program fires a Mortscript which does Interesting Things(tm) based on the registry key value – and by extension, the ringer mode we’re in.
If the mode is != Normal, the script sets up a notification queue entry to run x minutes later which will put the mode back to Normal. We rely on a 3rd-party free application to do the actual mode switching.
Currently the script is hard-coded for 5 minutes, but it’ll be trivial to put a dialog in there so that I can select how long I want the delay to be.
That’s one.
Two… using the same C program, we watch ANOTHER key to see the state of the Bluetooth radio. I do this for two reasons.
In the early days of owning this Touch Pro, Bluetooth stayed on when I told it stay on and never turned off unless I told it to turn off. So I could reasonably expect that I when I got into my car, the phone would pair with the car and Life would be Good.
Lately, for whatever reason, Bluetooth is being naughty and turning itself off for no reason.
So I figured, let’s watch the registry to see when the Bluetooth state changes. If it turns off, we’ll turn it back on. Concept is simple: C program watches the key, fires a Mortscript when the key changes, Mortscript looks at the key and calls a 3rd-party freeware program to flick Bluetooth back on if required.
But hear this… one thing I like from Shelly’s phone (and most phones in fact) that mine is missing is the ability to turn Bluetooth to “Discoverable” mode and have it automatically switch back to normal (“Connectable”) mode after some time. The idea here is that you don’t want to walk around with your phone in Discoverable mode if you’re not pairing any new devices. So using the same approach as above with the ringer, the script also looks for Discoverable mode and will setup a notification queue entry to kill that mode after 2 minutes.
Done and done.