HomeScreen PlusPlus UI - User Interface - formerly BatteryStatus Advanced
A battery plugin for the ToDay-Screen
Manual Advanced Version
| Table of Contents - Manual Adv. Edition whats here and where to go |
- 1. Main Page
- 2. Manual Free Edition (How To)
- 3. Manual Advanced Edition (How To)
- 3.1. Initial
- 3.2. HowTo
- 3.3. Customization
- 3.4. Reference - Class Specification
- 3.5. FAQ (Frequently Asked Questions)
- 4. Download
- 5. History
- 6. Feedback - Discussion
- 7. Further
| 3.1. Initial introduction |
HomeScreen PlusPlus UI (User Interface Edition) is a Today-Plugin/HomeScreen-Plugin based on HomeScreen PlusPlus (Basic Edition) for XDA Neo (HTC Prophet - Windows Mobile 5 Phone Edition). Anything of HomeScreen PlusPlus (Basic Edition) is part of HomeScreen PlusPlus UI Edition and in addition to that there are some more helpful features.
You can build your own Touch/Stylus User Interface for PDAs and PDA-Phones (Windows Mobile based phones) and combine actions (click/tap/tap’n'hold/..) with external applications. By means of the windows-registry and the inbuild “registry_tracker” you can keep states and show them with different images on the homescreen.
Note: HomeScreen PlusPlus works only on devices with Tochscreens!!! Don’t ask my why it is not working with cheap smartphones!!
HomeScreen PlusPlus UI Edition is currently in development state, but you can take part in beta-program, download the recent beta-version and report bugs or concerns either into the support-forum or
at forum.xda-developers.com.

| 3.2. HowTo ok where to start .. |
This version is based on the normal version, that is it contains any functions of the normal version.
TO BE DONE !!!
Some Registy-Values for HomeScreen PlusPlus:
| Name | Type | Description |
|---|---|---|
| BatterySkipCache | DWORD | 0 (default) = Used cached values of batterydriver for battery, power, temperature.
1 = Request the latest values always |
| Context-Menu fast and quick access |
You can open the contextmenu by tap-and-hold on the left- and topmost icon of the Today-Plugin as shown in the following screenshot.

You can also tap on the TaskBar-Reading (if enabled) to open the contextmenu. It enables a quick access to the most important settings and functions. Actually some functions like TaskBar Indicator or Reload Theme are only accessible by contextmenu.

| Calltimes additional counters |
In addition to the counter of free version, there is a datacounter for monitoring GPRS/UMTS/Data traffic. Beside of that you can customize a callplan (when to count) the phone-calls.
By means of the CountPlan-Button you can open the CountPlan-Tab:

You can add time-durations (described by a pattern) to the list with the Add-Button and delete an item with the Del-Button. For counting calltimes you can choose between counting all times and exlucde the times listed or count only the times listed.
If you want to add a time-duration, then ensure that the pattern-textbox is empty and push the “…”-Button. This will open the Pattern-Tab:

| DataCounter monitor gprs/umts traffic |
HomeScreen PlusPlus UI Edition is able to monitor data-connections too (also known as gprs-traffic), that is sent/received bytes (monthly/daily), time-duration of all connections (month), number of established connections a month and remaining inclusive traffic of a month.

For configuring this there is a Data-Tab, where you need to select the GPRS connections to monitor at first. The list contains all connections on your device, which can be monitored.

The value for “Round up Traffic” is used to round gprs traffic of each connection, that is if the value is set to 1kB, then the amount of data of each session will be round up to 1kB. e.g. a connection with 1.4kB will be count as 2kB.
A zero value (0 kB) disables this function.
The value for “incl. Traffic” is used for calculating the remaining traffic of a month.
By means of the Phone-TrayIcon you can connect or disconnect your desired connection too or “disconnect them all”
| CpuLoad-Indicator indicator .. |
The CpuLoad-Indicator shows the current cpuload in percent (%) and is placed to the second view of third row (which contains dynamic-values to poll for).

You can toggle between first view (no polling, but notification triggered) and second view (polling interval) by tap on the first memory-indicator of the third row as redmarked in the following screenshot.


The time of period for measuring the cpuload can be adjusted from 250ms to 5000ms. A value of 0ms deactivates the cpuload-indicator. Set this value in the General-Tab of options with “Cpu-Utilization Refresh”.
Note: If you are using other apps to measure cpuload, then measuring of HomeScreen PlusPlus could conflict with that and thus be inappropriate.
| WiFi-Rows about wifi |
To do…

| TaskManager close programs and show active programs |
The TaskManager shows active programs and allows to close programs by Tap/Tap and Hold on [X]. You can also extend the tap-area of close-button to get a more finger-friendly usage of close-button, see. registry-values for TaskManager.
WARNING: Dont use the taskmanager if you are using other taskbar-related applications! It will conflict mutually an lead to an unstable system!
You can also map a hardware-button to TaskList (TaskManager) which will open the TaskList. This enables a very comfortable one-hand-navigation.

The TaskBar-Indicator can be activated (and deactivated) by means of the contextmenu or with checkboxes in the Tools-Tab of options.

With Enable TaskManager you can enable the TaskManager which shows a small arrow left of the [X]-Button. In order to open the TaskList, you have to click/tap on the white arrow left of the [X]-Button. The TaskList contains all active programs which can be closed either by click on the [X] right of the programname. You can also select the program and push the right-button of d-pad.
In case a program hangs or is not responsive, the latter method asks you to force a termination of the process, which should stop that program.
The TaskManager Settings-button opens a new page for configuring the TaskManager in detail. As you can see, you can close programs by Tapping on [X] or by Tapping and Hold on [X]. If you have only one of then checked, then the other option hides the programwindow.

There is also a way to add programs to a list. This list contains programs to exclude from close by the upper options. The programs can be close by the TaskList though.
The Del-button deletes an entry from the list and the Add-button opens a new page with the current active programs, which can be added to the list. Select one of the programs and push OK to add it to the list.
If you know the path to the programs executable, then push the …-button which opens a fileselector allowing you to do your job.
You can customize some behaviour by creating one or more of the following registry-values under HomeScreen PlusPlus-Key:
HKLM\\SOFTWARE\\Microsoft\\Today\\Items\\HomeScreen PlusPlus
| Name | Type | Description |
|---|---|---|
| RotateRightHand | DWORD | 0 = LeftHand, 1 = RightHand |
| CloseButtonWidth | DWORD | e.g. 60, spans the tap-area of close-button to 60 pixels starting from the right. |
| TaskBar-Indicator indicator |
The TaskBar-Indicator shows the current cpuspeed and cpuload on the TaskBar on top of the screen. The cpuload depends on the cpuload-indicator of today-sreeen and will be shown only if cpuload-incidator on today-screen is enabeld and visible.
WARNING: Dont use the TaskBar-Indicator if you are using other taskbar-related applications! It will conflict mutually an lead to an unstable system!

The TaskBar-Indicator can be activated (and deactivated) by means of the contextmenu.
You can customize the position / font / color and background-painting-method by creating one or more of the following registry-values under HomeScreen PlusPlus-Key:
HKLM\\SOFTWARE\\Microsoft\\Today\\Items\\HomeScreen PlusPlus
| Name | Type | Description |
|---|---|---|
| TaskBarLeft | DWORD | distance in pixel from left –> LeftAlign of reading |
| TaskBarRight | DWORD | distance in pixel from/to right –> RightAlign of reading |
| TaskBarTop | DWORD | top position of the indicator |
| TaskBarFont | DWORD | 2 means increase fontsize by 2 points |
| TaskBarFontColor | DWORD | Color of TaskBar-Reading ( 0×00bbggrr ) |
| TaskBarBattery | DWORD | 0 = Show CpuSpeed, 1 = Show Remaining Battery |
Note: TaskBarLeft has higher prio in case both DWORDs are there.
| TrayIcons quick launch apps |
The TrayIcons are located in the bottom-tray and provide following inbuild functions:
| Name | Description |
|---|---|
| Phone | start settings, toggle the state (on/off) |
| WiFi | start settings, toggle the state (on/off) |
| BlueTooth | start settings, toggle the state (on/off), pair device settings |
| DeviceLock | start DeviceLock of WM5 |
| Display off | turn off display |
In addition to the inbuild functions, you can add more programs to the tray by adding their paths to the list.
Sample path to backlight.exe
\\Windows\\Backlight.exe
If you want to submit arguments to the application, then seperate appname and arguments by “::”.
Sample call app with arguments
\\Programs\\OmapClock.exe ::-260
\\Programs\\MyApp.exe ::-setbacklight 10

The TrayIcons can be activated (and deactivated) by means of the contextmenu.
| CpuScaler adopt cpuspeed automatically |
CpuScaler can adjust the cpuspeed within a given interval of cpuspeeds (min. cpuspeed and overclocked/boost cpuspeed) depending on the utilization of cpu.
One component of CpuScaler is a very simple and basic algorithm (fsm - finite state machine) for which you can set some parameters as you can see in the following screenshots, but all you need is to set min (Min. Speed) and max (Set CpuSpeed to:).
An API for scaling-engines is inwork, which allow you to program your own behaviour (fsm) by using a dll. This may be available in future…

CpuScaler will be disabled if the following condition does not match:
Min. Speed < Original CpuSpeed <= Set CpuSpeed to (Max.) < Boost
Usually you dont need to adjust more values. Do this only if you dont like the default behaviour!
With “Step Width” you can determine the max. width of an interval (in MHz) between Min. Speed .. Boost.
Note for attack/decay:
Imagine an adsr-envelope (attack, decay, sustain, release) used in early fm-synthies (Look at wikipedia for details).
With “attack” you can set a quantitative value for the time to wait before increasing cpuspeed (if the High-Threshold for cpu-utilization exceeded).
With “decay” you can set a quantitative value for the time to wait before decreasing cpuspeed (if utilization of cpu fall below Low-Threshold).
You can set attack/decay for min…max and for boost independently.
Note that attack/decay is not exactly a time in seconds but a quantitative value, because the time-intervall for measure of cpu-utilization is adjusted dynamically (in order to get more accurate values if there is a need for and to get less values if there is no need for).
CpuScaler works only if the device is not connected to usb/pc. One of the reason is that there is actually no need for. If the device is powersupplied, then what is the benefit of scaling?…
| Application based overclocking app -> cpuspeed |
Particularly the camera in prophet could work incorrectly while the device is overclocked, but works correctly when revert the cpuspeed to original. For this situation you can have this done automatically with the “Omap Apps”-Tab.

This tab allows you to set a specific cpuspeed to an application if it is on foreground. To make use of this tab, you need to use at least one overclocking-function of omap-tab. The recommended way to add an application is as follows:
- Check “Application Based Overclocking” in “Omap Apps” of options
- Leave the options
- Start the application e.g. camera (press the camera button)
- Close the app ( shut down the camera-app )
- Open the contextmenu
- There are submenus with the last two started applications
- Select the camera-submenu in contextmenu
- Enter the options and goto “Omap Apps” of options
- Tap on the camera-entry in the list
- Select the cpuspeed e.g. 195MHz
- Push the add/update-button
- Leave the options (click on ok)
In case you know the window-title or window-class, you can also push the New-Button, then Add/Del-Button and select from a list of all active windows with their classes.
| Command-Queue of HomeScreen PlusPlus UI use functions of this Plugin from other programs |
HomeScreen PlusPlus UI Edition provides a queue for commands used by other processes. In order to supply a command you have set a registry value with the numerical-command listed below.
Registry-Key: HKLM\SOFTWARE\Microsoft\Today\Items\HomeScreen PlusPlus\Command
| Command | Description |
|---|---|
| 0 | Quit HomeScreen PlusPlus |
| 1 | Reload Theme |
| 2 | Tap on Windows OK-Button |
| 3 | Close Active Program |
| 4 | Close All Active Programs |
| 10 | Toggle A2DP |
| 100 m n | Switch to View where m=Row and n=View e.g. 100 2 1 - switch to View 1 of Row 2 |
| 101 m n | Set Row-Visibility where m=Row and n=State e.g. 101 2 1 - Show Row 2 101 2 0 - Hide Row 2 |
| 102 m | Toggle Visibility of Row where m=Row e.g. 102 2 - Toggle Row 2 |
| 103 m n o | Set Height of View where m=Row n=View o=Height e.g. 103 1 0 20 - Set Height of View 0 (Row 1) to 20pixel |
| Disable Proxy for WiFi no proxy for wifi |
If you want the proxy-settings to be disabled when using WiFi and having proxy-settings enabled when using GPRS, then check the option “Disable Proxy, if Wifi is enabled” in Tools-Tab.

If you want a different/custom handling for proxy-usage for WiFi, then you can start a program each time wifi is toggled by creating the following registry-values under HomeScreen PlusPlus-Registrykey:
HKLM\\SOFTWARE\\Microsoft\\Today\\Items\\HomeScreen PlusPlus
| Name | Type | Description |
|---|---|---|
| WiFiToggleExe | String | path to an executable to invoke if wifi status changes (ikWiFiHelper.zip is a sample for the interface to this function) |
1 Comment so far
[...] Data counter App. Never mind, I just looked at the website some more and found the answer here: BatteryStatus Advanced | Homepage of Chi-Tai I guess the enhanced version is free while in beta stages, so for now the data can be tracked for [...]