Customizing the Sliding Panel Homescreen

Hi, my name is Jorge Peraza; I am a Developer on the Windows Mobile team that was responsible for the new “Sliding Panel” home screen in Windows Mobile 6.1.

When we were working on the visual style and functionality of the home screen we tried to make something that looked both professional and appealing while still showcasing all the information the user is going to need to know what’s important and requires attention. While I think the default design looks really cool, we added some customization features to enable users to make it their own.

Customizing the layout:

 

The home screen layout can be modified using the same home.xml file from previous versions of WM, the schema of the file was extended to allow the customization of many of its elements, this includes the art assets that are used for most of the plug-ins.

When you open the SlidingPanel.home.xml file (inside \ApplicationData\Home) you will find the plug-in element that corresponds to the sliding panel home screen (its CLSID is {E9267CAB-02EE-4f37-8216-6BF6A8FF5A71}). All the child elements inside it are designed to tweak and customize the way the home screen will look.

The top level element is the plugins tag, this has one attribute called “Order” and it’s used to list the plug-ins that will be shown and the order they are going to be laid out on the screen.

The built in plug-in names are:

1) CClock – The big clock

2) CAppointments - The calendar plugin

3) CHome – The notifications plugin

4) CMyPhotos – The photos plugin

5) CMessage – The message center (this is off by default on all sliding panel built in layouts.

6) CMusic – The music plugin

7) Settings – The settings plug-in

8) Custom Plugins – Users can specify custom plug-ins with static content that can be displayed on the home screen.

 

For example, the XML snippet bellow moves the photos plug-in to the first position and enables the message center (which is turned off by default on both "Sliding Panel" and "Sliding Panel Media")

 

<plugin clsid=" {E9267CAB-02EE-4f37-8216-6BF6A8FF5A71} " name="Bronze" height="266">

<Plugins Order="CMyPhotos;CClock;CMessage" />

</plugin>

 

 

There are many other ways of customizing the home screen using the plug-in settings like overriding the default images or even adding your own custom plug-ins that display static content, I'll post and updated entry latter on on how to do this in detail but for now, you can use the provided home.xml files to start experimenting with this.

 

The notifications plug-in and message center

In the sliding panel home screen, the notifications plug-in by default serves as a dual-purpose notifications/gateway to all you phone/message accounts where every page represents one account (so, if you have multiple notifications in one category they will be shown as one summary page).

There is however an alternative behavior where individual notifications are added as independent pages (Similar to what the T-Mobile shadow home screen does) and the plug-in only shows accounts that have new notifications in them. One cool feature of this alternate behavior is that each individual notification can be dismissed without having to leave the home screen.

You can enable this alternative behavior by setting the following registry key to a value other than 2 (The actual value indicates how many pages of each notification type will be added to the home screen before collapsing them into a summary page. We have tested 2 and 5 but feel free to experiment with other values)

[HKLM\Software\Microsoft\Chome\Chome]

PageCollapseThreshold: DWORD

Note that this prevents you from being able to access the email/phone account data if there are no notifications for it. If you still want to be able to do that you can always re-enable the message center as described in the previous section as a separate plug-in.

There is one more behavioral change you can make that allows you to “dock” the condensed view of the first plug-in to the top of the screen when it is not active, we added this for people like me that want to have the clock always visible. To enable just set the following registry key to “1”

[HKLM\Software\Microsoft\Chome]

DockOperatorBar: DWORD

Advanced layout modification:

There are even more advanced things you can do to further tweak the look of the home screen but it is unsupported by Microsoft at this moment so you’ll have to experiment on your own

J (Hint, look at the following files \windows\CHome_240x320.cpr and \windows\CHome_320x240.cpr).

Important update, please read:

Although we're excited to see developers interested in taking advantage of the new home screen, any code samples in this blog post apply only to Windows Mobile 6.1 Standard devices. We do not expect this code to work on previous or future versions of Windows Mobile. Please keep this in mind if you decide to develop plugins for Sliding Panel today.