add day of week to current home screen - HTC Excalibur

I use the t-mobile default blue home screen. I like it plain and simple except i really want it to show the day of the week, ie monday or tuesday. Is there plugin for that?

*******Note: these are instructions for placing the day of week if you are using WM 6.1 and are using the CHome sliding panels only!!****
although you may also be able to try and place this code in your.xml home file that you are actively using which is located in your /application data/home/ directory if you are not using the sliding panels theme
a line that you can put in your CHome320X240.cpr file.
you'll need to place this line somewhere under <!-- HomeHome==Clock layout templates -->
Code:
<!--Date -->
<Text ID="Day of Week" Left="22" Top="41" Width="110" Height="19"
FontFamily="Segoe Condensed"
FontSize="9" FontStyle="Regular" Wrap="False" HorizontalAlignment="Center"
Trimming="EllipsisCharacter"></Text>
you will want to fiddle with the font sizes, the position aka the left & top numbers. the width, the height, the font family, size and font style to suit your needs. Unless you have an emulator on your PC to test out this code you will just have to make a backup of your CHome_320X240.cpr file located in your windows directory. then take the original and use something like notepad on your PC or phone to type in this code. then save it (making sure that it didnt put a .txt extention on the end of the filename.) and re insert it into your phone. If you don't have CHome refresh, then you will need to reboot your phone to see the changes take effect. after you do this, you may have to go back to the drawing board to make some more changes in your positioning and font size to get it in the correct loaction you want to.

Attached CHomeRefresh place anywhere on phone and run after you have replaced your .cpr on phone will refresh homescreen and stop you having to soft-reset phone all the time.

Thanks, guys. Really appreciate it.

Related

[Solutions] HTC Homeplug problems

The new HTC Homeplug looks really good, but there are several issues with it, which I propose to discuss in this thread.
[size=+1]Adding new weather sources[/size]
1. Go to http://wwwa.accuweather.com/world-city-list2.asp (update: try also http://htc.accuweather.com for those having trouble getting their cities to work) and enter your city under "Find an International Location by Name" (the top box) and click Go.
2. Click on the city you want in the results
3. Copy the zipcode query string from the URL, e.g. Coventry, UK is "EUR|UK|UK001|COVENTRY" (don't copy the last pipe).
4. Open both HH_0409_WeatherCities.xml and _HH_0409_WeatherCities.xml from the \Windows folder and copy one of the other lines, replacing the data with the city name and the code from part (3).
It should look something like this:
Code:
<city name="Coventry, UK" locationcode="EUR|UK|UK001|COVENTRY"/>
5. Save the file back to the \Windows directory
6. Select your newly acquired city from the list!
This doesn't seem to work for everyone as it appears to be restricted to certain cities, no one is particularly sure why yet. If after following these steps you get an error downloading data then it probably does not support the city code you entered. To find your city look here: http://htc.accuweather.com
[size=+1]Weather not updating[/size]
No solution yet
[size=+1]Photocontacts in the applications[/size]
See Vijay's solution here: http://forum.xda-developers.com/showpost.php?p=1312528&postcount=59
(See screenshot atatched to this post)
You can also use the same approach to use VJSMS and VJEmail to open SMS and emails to your contacts.
[size=+1]Making it smaller[/size]
The biggest issue (pun intended) for me is the size of it - there isn't room for much else on the today screen. I know the idea is that it is thumb friendly, and it is, but I would like to make it a little smaller. I've looked through the reg and can't find anything to do this, nor any options anywhere. Probably requires decompilation / impossible.
If you have any ideas / solutions to these problems, or more problems of your own, post them below. I will try and keep the first thread updated, if you have a solution PM me so that I don't miss it.
Thanks
With the Today plugin there's no need to use the "No unread messages" plugin, since they pretty much defeat each other, so there's one thing that can be removed to make more room. I'd like to see an MMS shortcut?
I've removed the messaging plugin too.
With regards to the MMS counter, I think that because the SMS/MMS inboxes are now combined, it might count the cumulative total in the Unread SMS counter? I haven't tested it yet. I also want to find out what happens when I sync my texts to Outlook with Jeyo Mobile Extender, and how it treats MMS.
ronfin44 said:
With the Today plugin there's no need to use the "No unread messages" plugin, since they pretty much defeat each other, so there's one thing that can be removed to make more room. I'd like to see an MMS shortcut?
Click to expand...
Click to collapse
Yes, that is right. It is double things showing on the Today.
Oliy said:
The new HTC Homeplug looks really good, but there are several issues with it, which I propose to discuss in this thread.
Adding new weather sources
1. Go to http://wwwa.accuweather.com/world-city-list2.asp and enter your city under "Find an International Location by Name" (the top box) and click Go.
2. Click on the city you want in the results
3. Copy the zipcode query string from the URL, e.g. Coventry, UK is "EUR|UK|UK001|COVENTRY" (don't copy the last pipe).
4. Open both HH_0409_WeatherCities.xml and _HH_0409_WeatherCities.xml from the \Windows folder and copy one of the other lines, replacing the data with the city name and the code from part (3).
It should look something like this:
Code:
<city name="Coventry, UK" locationcode="EUR|UK|UK001|COVENTRY"/>
5. Save the file back to the \Windows directory
6. Select your newly acquired city from the list!
Thanks
Click to expand...
Click to collapse
Hi thanks for the twaek...
But this seams dont work...
Do they not show up in the list? Try a soft reset.
Make sure you update both xml files (one has a _ infront of the name) and make sure the _ file is read only after you save it, works for me
I have managed to put photocontacts in the Applications tab, see first post for details. Not particularly elegant but it works!
Question about icon(s): What are the dimensions? 32x32, or any size and it'll resize it automatically?
The original icon size in VJDialer.exe is 32x32 and 8 bit depth. I managed to replace it with 64x64 pixels and 24 bit colour depth with Resource Hacker so you can have good quality photos. They show up a fixed size on the app tab though.
I'm pretty sure you can use whatever size icon you want, but 64x64 was noticeably better quality than 32x32.
1. Create icons (*.ico) for all the photo contacts you want using GConvert or similar icon creator.
2. Extract VJDialer.exe from VJPhonetools and open it with Resource Hacker.
3. Open the Icon > 1 folder and right click on 2057, which is the icon
4. Select "Replace resource" and replace it with one of the icons you made earlier
5. Save the .exe with a new filename, e.g. contactName.exe
6. Repeat steps 2-5 for each icon you have created.
7. You should now have a set of exes which each have your contacts' photo. Copy these to your phone, for example "\Program Files\Phonetools".
8. Create shortcuts to each of these exes and place them somewhere in \Windows\Start Menu. I use \Windows\Start Menu\Programs\Speed dial".
9. Go to the HTC Homeplug and add new button. Select your photo contacts!
Can you simplify these? For some reason it didn't work. I was able to add the shortcut, but wasn't the same. Didn't show an icon I made and showed me an error
Oliy said:
The original icon size in VJDialer.exe is 32x32 and 8 bit depth. I managed to replace it with 64x64 pixels and 24 bit colour depth with Resource Hacker so you can have good quality photos. They show up a fixed size on the app tab though.
I'm pretty sure you can use whatever size icon you want, but 64x64 was noticeably better quality than 32x32.
Click to expand...
Click to collapse
Sorry to be a pest. Just not grasping using the Resource Hacker. I followed the steps, but I'm missing something. Is there a laymans version or a cheat-cheat for dummies? lol
I didn't explain it very well, here is an alternate explanation:
Create icons for all your contacts out of pictures
1. Use GConvert or similar to open an image file and save it as an icon eg contactName.ico.
2. Do this for each contact you want to display.
You now have an icon file displaying each of your photo contacts
Create a series of VJDialer.exe files each with an icon of your photo contact
1. Use Resource Hacker and open VJDialer.exe from VJ's cab
2. In the pane on the left, click on "Icon" to expand it
3. Click on "1" below "Icon" to expand that
4. The object below "1" is the icon, right click on it and select "Replace resource"
5. Select one of the icon files you created earlier
6. "Save as" a new name, for example contactName.exe
You now have an instance of VJDialer.exe with the photo for an icon for each of your photo contacts
Create links to the exes in the start menu
1. Bring up the context menu on one of the exes and "Create shortcut"
2. Edit the shortcut to include the phone number of that contact as documented on Vijay's website
3. Copy the shortcut to the \Windows\Start Menu directory.
4. Do this for each instance of exe
5. Add all your contacts to HTC Homeplug
ronfin44, just have a play around with it, one or two of my icons didn't work properly the first time I tried, if in doubt try another icon just in case.
Thanks bo. I opened VJ's dialer shortcut in Notepad and did a quick edit of it so it would dial a specific number, but now I'm gonna try your instructions.
my icons etc work fine. ...the only issue is when im recieving a sms through the plam threader the plugin cant reconize that i recieved a sms. Is it because its through the threader emails etc show up but my guess is because im using the plam threader.
I'm stuck on how to edit the exe once I make it, like how do I add the number? Not too clear on VJ's website. It shows the example, but what do I use? When I tried it in Notepad it gives me an error when I try to Launch it:
No recipient found!
Format eg:
VJDialer123
Please Donate! etc etc
Not sure if this is part of the new Touch stuff, but the new battery icon in the top bar (in line with the start button) blocks the time/date from showing where it normally would.
Is there a way to remove this icon so the time and/or date can be displayed there?
hahaha I figured it out! I'm an ass! I kept selecting the wrong icon in the menu, and NOT selecting the shortcut! lol Thanks for all your help guys! -fin
Oh, I make awesome icons if anyone wants some!
even the new weather info wont help
i really need the weather to work, can any one prove to me that it works for CHAMPAIGN ILLINOIS UNITED STATES
http://www.accuweather.com/world-index-forecast.asp?partner=accuweather&locCode=NAM|US|IL|CHAMPAIGN&metric=0
Updating HTC Weather Plug-in with GPRS....
I can update weather via wifi and active sync but i cannot connect and update via gprs. I can surf the web just fine, Windows live mail works fine, just cant update HTC weather plug-in. Used Weatherpanel with Dymond with same gprs setting and it worked as well. Anyone else having these issues.
using Tmobile USA Blackberry Connect plan
Thanks

How To: Customize the Sliding Panels Homescreen

This was from the windows mobile team blog. More to follow but wanted to post it for those who don't read that.
Original link: http://blogs.msdn.com/windowsmobile/archive/2008/06/03/customizing-the-sliding-panel-homescreen.aspx
Customizing the Sliding Panel Homescreen
from Windows Mobile Team Blog by Jorge Peraza
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 Plugin – 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).
----------------------------------------------------------------------------------------------------
Thanks to djNutz for posting this information & OrganicM for his efforts.
I wanted to create a post with info about what the different keys do in the CHome section of the registry. So, I'll start with a brand new one, that I bet nobody knows about....
[HKLM\Software\Microsoft\Chome\Chome]
PageCollapseThreshold: 2 or 5 (DWORD Value)
This will collapse your Notifications panel to only show active notifications. 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. 2 and 5 were tested and work pretty well.
More to come of course....
should this change be made to the security section too, or does that matter? actually, do changes to the security section ever matter, cause they seem to apply even when you only edit the software section.
p.s.
i'm pretty sure people are gonna ask, so maybe i'll save some trouble instead of looking like an ass by answering preemptively. This DWORD value must be created with your registry editor, it's not already there, at least on ricky v24.
2 = default or normal (i assume cause it looks the same as before) and 5 = condensed.
But for the rest of us who don't have the time to be on every WM blog and forum at once here's my favorite:
To “dock” the condensed view of the first plug-in to the top of the screen when it is not active, set the following registry key to “1”
[HKLM\Software\Microsoft\Chome]
DockOperatorBar: DWORD
This is so you can have the clock always visible, no matter which panel you're on. You could also set it so that CHome Weather's compact view is always on top. Whatever plugin is first on the list.
More info from MS coming down the pipe:
We can get the day of the week on the clock plugin at the top of CHome by doing this:
Replace this portion...
<!-- Date --> <Text ID="Date" Left="180" Top="83" Width="110" Height="19" FontFamily="Segoe Condensed" FontSize="9" FontStyle="Bold" Wrap="False" HorizontalAlignment="Left" Trimming="EllipsisCharacter"></Text>
With this!
<!-- Date -->
<Text ID="Date" Left="180" Top="83" Width="110" Height="19" FontFamily="Segoe Condensed" FontSize="9" FontStyle="Bold" Wrap="False" HorizontalAlignment="Left" Trimming="EllipsisCharacter"></Text>
<Text ID="Day of Week" Left="65" Top="83" Width="110" Height="19" FontFamily="Segoe Condensed" FontSize="9" FontStyle="Bold" Wrap="False" HorizontalAlignment="Right" Trimming="EllipsisCharacter"></Text>
I will incorporate this in Chome Weather fore sure!
Here you go, the first is my Home
2nd is Scroll Down once
3rd is Scroll Down twice
4th is Scroll Down Thrice
heh
Edit: Tried Month in cpr, no luck.
will keep trying
I'm glad people are finally getting this information out. It makes customization that much easier. I'm adding the tips to the wiki as well, as they come out.
How to Reload the Homescreen
I have two questions:
1. After editing my CHome cpr file, how do I reload the homescreen without having to reboot the device?
2. How can I show any text on the clock panel? Regular text is defined by Text ID = "xxxxx", where xxxxx is something like Time, Network Name, etc. However, suppose I want to have the text "Knowledge Rules", how do I set it up in XML?
I have very little programming and Excalibur experience. So, I apologize if these questions are too naive or have been answered before.
Thanks a lot in advance.
you can use this if you dont use OrganicM Chome Weather
I don't think Microsoft has put out much documentation on the sliding panels plugin yet. Most of the CHome configurations use
Code:
TextID="text 1"
as the delimiter for static text. But that's not to say that the clock plugin will recognize that as a valid section. Could work. Could make your phone useless.
beartard said:
I don't think Microsoft has put out much documentation on the sliding panels plugin yet. Most of the CHome configurations use
Code:
TextID="text 1"
as the delimiter for static text. But that's not to say that the clock plugin will recognize that as a valid section. Could work. Could make your phone useless.
Click to expand...
Click to collapse
I do not understand. How do I make the phone know that:
text 1 = Knowledge Rules?
Typical syntax seems to be Text ID = "xxxx", where xxxx is a variable name, which is recognized by the device. If Text 1 is a valid variable for the device, how do I assign it a value? Am I rambling here?
No, you're not rambling. As far as the information coming from Microsoft and disseminated here on this site goes, it's a best guess right now.
someone at msdn blog asked the same question.
Someone at msdn blog asked the same question. Let's wait to see if we get an answer from there...
From http://blogs.msdn.com/windowsmobile...ustomizing-the-sliding-panel-homescreen.aspx:
"Jorgeba, thanks for taking the time to educate your user. I have some questions.
How do you change the text in the condense clock? The .cpr file has Text ID="Text 1". How is "Text 1" define? I would love to add the date to the condense layout.
The ActionURL and Softkey2 URL in the Appointments plug-in always open calendar in the today view. Is there a way to make one of the button opens calendar in the month view? Setting the default view for calendar does not help."
Easy as pie......
If you know what you are doing.
If you have any xml experience,then you'll know how to adjust x and y values to position things in different places. Yes, you can do that. Just change x=whatever and y=whatever to where you would like them to be. Just know this means that it will start on the left and move x pixels over and y pixels down. If you put in negative values, it will shift them in the opposite direction.
Eg. x=-whatever will move it to the left vs a + value which will move it to the right. Same for y=
Also, you can adjust the valignment and halignment to center, left, or right.
Have fun with these. They apply to everything in your cpr (That's the layout for your homescreen.It's in your \Windows directory on your phone).I mean everything, from where your network displays, right down to your pictures.
That's it. Have fun!
jaymit said:
Hi,
Sorry Im kind of a newbie :s, is it possible to edit home screen panels? I wanted to change the layout and look of the clock plugin.
Thanks!
Click to expand...
Click to collapse
Does anybody know how to change font color for certain panels or certain lines of text in the panel? Is it only possible for the whole homescreen?
As far as I know even as far as old xml coding works, you can only change a font color for a selected word or unselected word. Meaning, if you have the old 6.0 your plugins that are selected could have a different color, but unselected could be another color. This applied to the entire homescreen. I have not seen different colors for different plugins, since each panel style is basically its own plugin (each has its own unique GUID), then I doubt you can change font color for each plugin. You can more than likely only change the active selected panel and inactive panel fonts. I am not sure what their titles are in the cpr, but I know that in the old 6.0, the homecolor was one of the fonts colors and the other was called something else.
Eventhough this is 6.1, it doesn't look like much has changed as far as the fonts color goes. You could, however, always try adding a "fontcolor=" command in the cpr and a hex code and try it, to see if it works.
Hope this helps.
Edit your registry or get CHome Config
Both do the same thing. You want to change the plugin order for CHome. It's located in HKLM\Security\CHome\Default Settings and in HKLM\SOFTWARE\Microsoft\CHome. Edit the order you want your plugins to go. Reboot your phone and the new edits should be reflected in your homescreen layout. If you are having trouble cause this is new. Just search this thread for CHome Configurator. It's stickied at the top of this forum. Download it and it will let you select the order in a much easier way. Make sure you reboot, though, or else your changes won't show. Hope this fixes your problem. Later.
tae-xda said:
How to change the default location for where the CMyPhotos plugin
Click to expand...
Click to collapse
rollingondubs1 said:
I have that already, All my games are under a folder which i cant make it as a action url
Click to expand...
Click to collapse
try this
"ACTIONURL" = "\Windows\Start Menu\Games\xxxxx xxxx.lnk
or this
"ACTIONURL" = "\windows\fexplore.exe; \windows\start menu\games"
Yes you can
One last time, I think I've figured out how to help you.
1. Open Chome Config.
2. Scroll to MyApplication and select it with your center button.
3. Scroll to any page you want to edit. Then scroll down to where it says ActionURL. Press menu.
4. Once in the menu select the "1 Change URL" item.
5. Once you have selected that it will take you to a file explorer. Go to \Windows\Start Menu\Games. This is where your games should be. If not, then wherever you store, your games, navigate yourself to that folder and select the file you want.
I think this should cover it. Hope this solved your problem. HOLLA!!!!
rollingondubs1 said:
I have that already, All my games are under a folder which i cant make it as a action url
Click to expand...
Click to collapse
How to change the location of CMyPhoto to \Storage Card\My Documents\My Picturs

MyFaves icon went red-X

I'm sorry to do this. I'm just burnt out on searching today. The icon on my MyFaves panel (the five circles icon) decided to go AWOL today. All the icons appear to be intact in the Windows directory. What do I have to edit to get rid of the damned red "X"?
Only thing I've done differently was update CHome Configurator and CHome Weather. I'm not blaming them since they really don't deal with the icon. I just can't think of anything else I've done.
Go to HKLM\Software\Microsoft\CHome\MyFaves and edit the iconpaths location to where your pic is. The first pic in iconpaths is when your window is active and the second pic location is when your window is inactive. Your pic is probably in your \Windows directory. Hope this helps
(just in case I wasn't clear, here's a capture)
I gotta get off this thing for the night.
the iconpaths key has the value "4605;4604".
What does that translate to?
beartard said:
the iconpaths key has the value "4605;4604".
What does that translate to?
Click to expand...
Click to collapse
Do you have the My Fav icons in your windows folder?
if yes, then change the link in the iconpaths to the MAIN "my fav" icon in both reg address'
In the brozeres.dll, the picture files for iconpaths are predefined (meaning they are preloaded, so you don't have to do jack to have your screen be complete).
You can change their paths to whatever you want and that image will replace what the bronzeres.dll days that iconpath should be.
So if you want your active icon to be a color image of My faves icon , and your inactive to be a black and white image of the same, then it would look something like this:
iconpaths:
\Windows\youractiveimagename.png;\Windows\yourinactiveimagename.png
Just make sure whatever image you replace IS located in the place you entered in your registry. It's that easy. Takes like 5 minutes, just type in location drop pics in location (if not already there) and reboot or run your weather update and reload homescreen (might have to change layout, not sure about that). That's it.
I owe you a beer.
One day, my friend.
Oh sure he gets the beer but i dont?
Fine next time ill write a page long way of fixing your issue. lol
Hell, get us all together and the first round's on me.
A clue, perhaps?
beartard said:
I'm sorry to do this. I'm just burnt out on searching today. The icon on my MyFaves panel (the five circles icon) decided to go AWOL today. All the icons appear to be intact in the Windows directory. What do I have to edit to get rid of the damned red "X"?
Only thing I've done differently was update CHome Configurator and CHome Weather. I'm not blaming them since they really don't deal with the icon. I just can't think of anything else I've done.
Click to expand...
Click to collapse
Okay, the MyFaves pics on the collapsed panel are now X's on my phone.
The pics/icons in the expanded panel are fine.
I believe I have found a clue:
Thinking it might reset the collapsed MyFaves pics/icons panel, I
thought I would change the home screen to something else, reboot, then
change it back and reboot again.
But the home screen layout wouldn't change! So I scrolled through the
home screen settings and discovered duplicate fields on the settings
page for "Home screen layout" and a couple of other fields.
If I changed the layout in the second occurrence (or both occurrences) of
the "Home screen layout" field then the change would occur, but not if
I changed it only in the first occurrence of the field.
Oddly enough, sometime over the weekend the duplicate fields
disappeared but collapsed My Faves panel still displays the X's
rather than miniature pics/icons MOST of the time. Occasionally a
single mini-pic will appear, not always the same one.
Obviously something about the Home Screen settings has become
corrupted.
Here's where maybe XDA developers can help. I'm thinking that the various
home screen layouts must be templates into which a user's unique
settings are imported.
For example, you and I (and everyone else) have identical templates
for, say, the "T-Mobile default" layout. Our unique settings (My
Faves people and icons/pics, Weather app city, etc) are properties imported into the template before (or as) it is displayed in the panel. If someone could find out what file(s) comprise the "T-Mobile default" template, someone
might be able to either tell us how to fix the corruption or post the uncorrupted template file(s) copied from another Dash phone.
Now, while online with my Dash to Tmo this past weekend through Web2Go
I came across a support screen that listed support for "missing
MyFaves app". Unfortunately that link led nowhere (dead). Now I can't even find the page, but obviously T-mo does recognize a missing MyFaves app as an issue, so it may be possible to restore our missing icons/pics to the collapsed MyFaves panel by reinstalling the MyFaves app.
I'm not sure this is relevant, but this occurred after a couple of aborted attempts to install Opera, then Mini Opera. Eventually I got Mini Opera installed.
Distinguished XDA developers, I know many of you think the MyFaves app is useless but some people like having it, so any help that you can provide is greatly appreciated!
-GoJ

[TUT][10/21/09] CPR File Editing (Catered for the Excalibur)

CPR File Editing​ For the HTC Excalibur/S620/T-Mobile Dash
In this tutorial, you will learn how to safely, and effectively, modify the HomeScreen CPR File on your phone.
This tutorial will be based off of the Windows Mobile 6.5 Titanium_320x240.CPR file (found in Ookba's 3VO 2.8 ROM)
First off, make a backup of your current .CPR file (located in /Windows) to a separate folder, or duplicate it. This is in case something goes wrong. (Do the same for the .home.xml file located in /Application Data/Home)
[Pre-Tutorial] - A Couple of Handy Apps
(This is updated as recommendations come by)
1)Free XML Editor - Here - hewhoisnotasothers
2)Notepad++ - Here - Me
[Tutorial Part 1] - Intro to the CPR file.
The Windows Mobile CPR file is located in the /Windows folder on your phone. This file controls the positioning, sizing, and some effects applied to text and image objects present on the Today Screen. While its extension is CPR, it can be opened by any text editor, and edited like any XML. After editing the CPR (and placing it in the /Windows folder) you must run a program (included in Ookba's ROM's and which can be found by searching) called TitaniumRefresh which reloads the Today Screen. This tutorial assumes you know the basics of the XML language, so if you do not, it is recommended you visit this link.
[Tutorial Part 2] - A First Look: Opening and Analyzing
To open the CPR file, I use Notepad++ (which can be found here). Alternatively, you can use Notepad or any other text editor. After opening the file, we see it starts with <form>, like any XML will. Scroll down a couple lines, and look at the first chunk of code.<Image ID="Background" Opacity="1.0" Top="-54" Width="320" Height="240" Source="ConfettiPlus::WallpaperBitmap"/>
<Layer ID="StaticHomeArea" Visible="False" />
​Let us break this down. First off, I colored Image and Layer RED. For the rest of the tutorial, I will refer to these RED colored texts as "tags" (as they are referred to in XML). The Image tag, much like HTML, will create an image on the Today Screen. The Layer tag will tell the Today Screen to move UP a layer and start putting newly inserted objects ABOVE all previously created objects. In this case, anything declared after this snippet of code will be put over the "Background" Image.
The text in DARK BLUE will be referred to as "ID's" (coming straight from their name). ID's will be covered later on, but basically they interact with either the Registry or the files used to create a panel. These are essential to any CPR file.
The text in LIGHT BLUE will be referred to as "parameters" (because they define specific details about the tags). Look at the Image tag. The use of the parameter is to tell the Today Screen exactly what to do. Without the Width or Height parameters, how would your phone know how big to make the image? Most parameters are self-explanatory because of their names, but as I see that some may become confusing, I will point them out. For instance, "Top". The function of Top, in any case, is to define how far from the top of the defined layer the object should be placed.
[Tutorial Part 3] - The .home.xml file
Before getting any deeper into the CPR file, lets see some background on it. How does the Today Screen know which panels to place where, and what the Background is? After all, the image tag for background had some gibberish about Confetti!
Now then, go to /Application Data/Home/ and pick out any .home.xml file with the name Titanium. (I will be using my own slightly modified Horizon.home.xml file from my Horizon Skin). Just like the CPR file, open this up with a text editor. Notice the first couple of lines just talk about who made the theme, and where it is located. We can ignore that for now, as it is not essential. Look now at this snippet of code:
<default target-width="240" target-height="320" font-face="Segoe Condensed" font-size="19" font-weight="bold" padding-left="5" padding-right="5" bgcolor="transparent" fgcolor="COLOR_HOMETEXT" padding-top="3" b-border-color="COLOR_HOMERULE" b-border-width="0">
<format state="selected" fgcolor="COLOR_HOMEHIGHLIGHTTEXT" />
</default>
​The default tag is describing to the Today Screen what the default screen orientation is. It is telling it to have a width of 240 pixels and a height of 320 pixels. It is telling it to set the default font to Segoe Condensed, size to 19, weight/style to bold. It is also telling it to leave some space on the top/bottom and sides of the screen (5 pixels) so that you don't get objects cut off by the edge of the screen. It is telling it to have no background color and the Foreground color is defined later on by a variable COLOR_HOMETEXT. Same principles go for the format tag.
Move on to the next snippet of code:<background bgimage="\Program Files\Horizon\BGIMG.jpg" bgimage-rotated="\Program Files\Horizon\BGIMG.jpg" valign="bottom" bgcolor="COLOR_TRAYGRADLEFT" />
​Just from the tag, you can see how this is related to the background tag in the CPR file. So all that confetti jargon is really just telling it to look here (for the initial setup that is. The value in the registry is changed when the background is changed). So this tag is telling the Today Screen to set the image at "\Program Files\Horizon\BGIMG.jpg" as the default background. Since there is currently no way (as far as I know) to change the screen orientation, the bgimage-rotated is the same as the bgimage. "valign", which should sound familiar, is set to the bottom, and bgcolor is set to the variable COLOR_TRAYGRADLEFT.
So what are these variables exactly? Lets see:<scheme>
<color name="COLOR_TRAYGRADLEFT" value="#000000" />
<color name="COLOR_HOMEHIGHLIGHT" value="#4683af" />
<color name="COLOR_HOMEHIGHLIGHTTEXT" value="#C0C0C0" />
<color name="COLOR_HOMETEXT" value="#FFFFFF" />
<color name="COLOR_HOMERULE" value="#4683af" />
<color name="COLOR_HIGHLIGHT" value="#4683af" />
</scheme>
​Scheme, which is not an evil plot in this case, refers to the color presets for the phone's theme. Those variables I mentioned earlier are defined here. The value (which is the color value) is written in HEX-HTML code. It goes from 00 - FF, where F is the greatest, 0 the least, and is written in 2's. so COLOR_TRAYGRADLEFT has 00, which is 0 RED, 00, which is 0 GREEN, and 00, which is 0 BLUE. These aren't too important unless you are doing a whole theme makeover for your phone.
Below that you may have a plugin tag with the "name" parameter equal to iconbar. You won't deal with that much. So look at the next plugin tag, which is titled "name = Bronze". Lets look at that:<plugin clsid="{E9267CAB-02EE-4f37-8216-6BF6A8FF5A71}" name="Bronze" height="266">
<Plugins Order="CMyPhotos;CMusic;CLinks;CLauncher;CComm;Settings;TitaniumWeather;CClock;CHome;CAppointments;CPhone;CText;CMessage;CEmail;CVoicemail;CWindowsLive" CPRFileName="Horizon" />
</plugin>
​This is the big one. Here you can see, from the plugin tag, that the Plugins (or more commonly called Panels) are given 266 pixels of space on the homescreen. Below that is the Plugins tag, which very nicely tells us what the order, from top to bottom, is for the Panels. This is how the Today Screen knows how to put what where! Notice that the parameter "CPRFileName = "Horizon"" in the example. This changes depending on the CPR being used. This gives users the choice to run either their own theme or the default theme provided without having to delete any other CPR files.
[[CONTINUED IN NEXT POST]]​
Tutorial Continued
[Tutorial Part 4] - Venturing On: Digging Deeper into the CPR File
[Tutorial Part 4.1] - Looking at more of the essentials
Go back to the CPR file you had opened for [Tutorial Part 2]. Let us start off by looking at a snippet of code below what we analyzed earlier. This is what I refer to :<TitaniumListView ID="HomeNav" Width="320" Height="185" Columns="1" Rows="5" ItemWidth="320" ItemHeight="34">
<Layer ID="Focus" Width="320" Height="67" Clip="False">
<Image ID="Image Default" Left="0" Top="-6" Width="320" Height="82" ScalingAlgorithm="TriLinear" Opacity="1.0" />
<ControlSequence ID="Action Sequence" FramesPerSecond="30" Loop="False">
<Image ID="Image" Left="0" Top="0" Width="320" Height="67" ScalingAlgorithm = "TriLinear" Opacity="1.0" />
</ControlSequence>
</Layer>
<Layer ID="ListItem" Visible="False" />
<Layer ID="No Items" Opacity="0">
<Text ID="Text" Width="100" Height="19" FontFamily="Segoe Condensed" FontSize="8" FontStyle="Bold" Wrap="False" Trimming="EllipsisCharacter">No Items</Text>
</Layer>
</TitaniumListView>​This is quite a large snippet, and may look confusing, but in reality it does just the very basic functions of setting up the Today Screen. To start off, a new tag is called "TitaniumListView." In older roms, this is named "BronzeListView." The Titanium part makes it so that the middle panel (CClock on default set-ups) is centered on the screen in default position. So in this CPR, the Today Screen Panels are given 320 pixels across (the full screen width) and only 185 pixels top-to-bottom to fit into. These values can be changed, but be warned that they will change most everything. The effect of changing the screen size will be discussed in greater detail later on when I go over specific object positioning.
The first tag under "TitaniumListView" is "Layer", which, as mentioned earlier, is creating a new layer for objects ontop of everything prior. This layer is titled "Focus" and it is a vague name, but think of the Today Screen. You have the main panel and the semi-hidden panels, so the MAIN one must be the FOCUSED one. Now that that is understood, let us see what it is saying. It is defining the DEFAULT width and height for a Focused panel. The parameter "Clip = False" is just saying that 'if an image/text goes out of the boundaries assigned, do not omit it from rendering, render it on top of layers before it anyway'. So usually that is a good thing, since nobody wants half an image or part of their text to be cut off randomly.
Next up, it is describing an image that is being loaded to be rendered onto the screen. The location of this image is found in the registry, which will be discussed with greater detail later on.
This is obviously clean code, since everything opens and closes correctly. It isn't recommended to tinker with these values too much unless you have a backup and are willing to get some funky results.
Moving on...
Below this snippet, you see comments about NPI and MPI. What the heck is a NPI? Well, the NPI is actually the arrows you see when on a multi-page panel. Feel free to reposition them to your liking. As far as the MPI, I will be honest, I do not entirely know what it is. I have changed its values and have yet to have results, but fear not, I am venturing!
Moving on...
Below this snippet, you may see a Branding Comment. This is just a Text tag which writes to the screen at the given coordinates a "branding" message to show people who made the CPR or ROM. For the sake of being nice and not stealing, leave this alone (unless you make a custom CPR).
Moving on...
[Tutorial Part 4.2] - Looking at the CClock Panel
Finally! You get to see the code behind the most well-known panel out there, the CClock Panel! So lets take it slow and savor the joy:<Layer ID="ClockExpanded" Visible="False" Width="320" Height="82" Clip="False">
<Layer ID="Page" Clip="False">​In just these two lines of code, the Today Screen is instructed to do many things. It is told to make a new Panel called "ClockExpanded" (which goes back to Focus) with a width of 320 and a height of 82, and to be nice, clip is set to false. But wait, How does it know where to put the panel?!?! Well remember about the TitaniumListView VS BronzeListView ... well in Titanium it is centerbased, in Bronze it is top based! (Ohhhh!)
But wait! It says Visible is false? How do I see it?! Well, as far as I know from the tinkering I have done, that is like a Switch. The default is set to false for every panel to avoid issues, however when the Today Screen is shifting panels, it will flip these switches. So I wouldn't concern myself with this too much.
Next up, it is creating a Layer , within a Layer. This is just to make sure that objects created from then on are put to the "top" of the screen, visible to everyone.
Moving on...<Image ID="ImageFixed" Source="\Program Files\TitaniumWeather\condicons\CurrentIcon.png" Left="205" Top="-30" Width="120" Height="100" />​Okay, this looks simple enough... For starters, the CPR file is telling the Today Screen to create an image called ImageFixed at (205, -30) ... wait ... -30? Well look closer. The parameter says "Top="-30"", and I mentioned earlier that Top refers to position from the top of the layer. And since this layer is located in the middle of the screen and is only 80~ pixels tall, without clipping, we can place images anywhere! Have fun, try changing this value and see what happens! Continuing on, the image is given the size of 120 x 100.
You now know how the Image on the 'top' right of the CClock panel got there!<Image ID="ImageFixed" Source="\Windows\carrier.png" Left="-3" Top="3" Width="30" Height="15" ScaleStyle="Fit"/>
<Text ID="Network Name" Left="22" Top="3" Width="100" Height="18" FontFamily="Segoe Condensed" FontSize="7" FontStyle="Regular" Wrap="False" VerticalAlignment="Top" Trimming="EllipsisCharacter" HorizontalAlignment="Left">
<TextStage TextOffsetType="TextOffsetDropBottomRight" Color="#00000000" TextOffset="1" BlurFactor="3" Alpha="1.0"/>
<TextStage TextOffsetType="TextOffsetNone" Color="#FFFFFFFF"/>
</Text>​Let us analyze! This snippet starts off with creating another Image called ImageFixed whose source is a carrier.png. Luckily, the creator of this CPR was nice and made things easy to comprehend. Obviously this is making the little "bars" and Operator text on the panel. Now that we know what it is, lets see how it comes to be. (Which takes up to the next part of the tutorial.)
[Tutorial Part 4.2.1] - The ID 'parameter' and How it is Helpful!
Looking at the Text tag, one thing comes to mind...I know what the result is, but where on earth is it getting this data from! Well I have been mentioning the registry a lot and saying I will explain later, well...I am not going to fully explain now since this is just the basics!, but I will do a brief fill-in on the topic. In the registry is a Key set up to let this panel operate. Inside of it are values that tell the Today Screen what to make the SoftKeys do, what the text should be, image sources, etc. But how does it all get accessed? Well the ID is also like a variable! The ID (in many cases) is compared to the Registry Key for the panel, and the resulting output is what is located in the registry under that ID name (for that reason, making two ID's the same name is dangerous!).
[[CONTINUED IN NEXT POST]]
Tutorial Continued
[Tutorial Part 4.2.1.1] - A Good Example of ID usage!
Let us look at my custom 'Horizon' Skin. A nice feature I added in was a CComm (Communications) Panel that allowed you to see ALL the connection status's at the same time. In order to do this I had to edit a file related to the CComm panel and tell it to add more registry entries when doing what it needed to do. Even though any of you could install my custom theme (hint hint), I will just put the code here.<Image ID="icon1" Left="40" Top="25" Width="90" Height="115" ScaleStyle="Stretch" />
<Image ID="icon2" Left="260" Top="5" Width="40" Height="56" ScaleStyle="Stretch" />
<Image ID="icon3" Left="260" Top="58" Width="40" Height="56" ScaleStyle="Stretch" />
<Image ID="icon4" Left="260" Top="105" Width="40" Height="56" ScaleStyle="Stretch" />
​While it may strike some as odd, that entire feature is right here in these 4 lines of code! See, the reason I refer to ID's as Variables is because they change as pages change! In this case, the CComm panel (like most, if not all, others) does not tell you every single page in its code! So by adding lines to the file associated with CComm (as i metioned earlier) i was able to load pointers to images into the variables icon1 - 4 and place them in the corresponding folders in the registry. [If you want to learn more into how I did that, PM me or check it out by installing and investigating]
[Tutorial Part 5] - Interactions with the Registry
Like many programs on a windows OS, there are registry keys and values related to the executable (or similar). The Today Screen is no exception to this rule. In this section I will inform you on how the Today Screen 'interacts' with the registry and how you can make your own interactions.
[Tutorial Part 5.1] - How it works!
I have been mentioning a lot about how the Today Screen (consisting of multiple DLL's and XML files) interacts with the registry, when that is actually not true! In order to interact, it must be able to write and read. To the extent of my knowledge the Today Screen CANNOT write to the registry.
"WAIT WHAT!!! So how is it that when I click on that awesome CComm set-up you have stuff happens!?!"
Well...It is magic! ... The magic of PROGRAMMING! There is no actual command for the Today Screen to write something. It can only read. So amazing people figured out how to gain this access.
Like I explained, the ID's act like variables, reading certain entries in the Registry. So let's get a bit more in depth with that by an example. Below is the code for my CComm Panel layout ... I reviewed this earlier, but will use this as a prime example.
<Image ID="icon1" Left="40" Top="25" Width="90" Height="115" ScaleStyle="Stretch" />
<Image ID="icon2" Left="260" Top="5" Width="40" Height="56" ScaleStyle="Stretch" />
<Image ID="icon3" Left="260" Top="58" Width="40" Height="56" ScaleStyle="Stretch" />
<Image ID="icon4" Left="260" Top="105" Width="40" Height="56" ScaleStyle="Stretch" />​Now, let us all grab our phones, go to the start menu, and open up RegEdit or Resco Registry (or any app that you use). I want you to navigate to:
HKEY_LOCAL_MACHINE\Software\Microsoft\CHome\
In there is everything that has to do with the Today Screen (Remember it is also called CHome!) More specifically, for the sake of this tutorial, go into CComm. Remember I mentioned "pages" and layering. Well this is where it matters. Notice there are 6 Keys called Page1 - Page6 (and there are 6 pages on the Today Screen!) Take a walk around, investigate for a moment, the continue reading and see if you got what you thought correct....
...
...
Okay, so the correct assumptions for how all this works would be that what is written in the CPR is exactly what is taken from the Registry. But that brings us to another question...HOW does all this get there? What all-mighty programming goblin is in my phone feeding this information!?!
Simple...that is covered in the next section...
[Tutorial Part 5.2] - Going from Acting to Inter-Acting!
Now it gets a bit more complicated...you, the eager [young] computer programmer wants to make a panel that gives all this information to the user and does a bunch of changes on the phone, but HOW!
The simplest (not the only) way to do this is to use MortScript (in my opinion). MortScript is a scripting language that is very basic when you get the hang of it. It will do everything you need it to do, in most cases, as long as it doesn't involve things it can't do (duhh).
I strongly advise people interested in the Today Screen to learn MortScript because it will make a bunch of things a whole lot easier!
[Tutorial Part 5.2.1] - My First Registry Interaction!
Let us say you want to make a panel that shows you the Phone Owner's name, email, and a random note. To start off, open up NotePad ++ (or whichever text editor you want to use) and make a program. Done. Haha, just kidding! Let us take this step by step.
Let us assume the panel has a registry entry already and is called MyFirstPanel (located at HKML\Software\Microsoft\CHome\MyFirstPanel) There is one page, so we go to the Page1 Key.
We can do this one of two ways. We can make it Device Specific and pre-define all that data, or we can make it device independent and use MortScript to fill in the blanks. I will opt for number 2, but for those who do decide to do the first, make some Strings with your data, then in the CPR, add those ID's (correctly with the correct tags, which I will go over in a later tutorial).
Taking the second method, go back to your text editor. Let us see what we need to do. We need to find the user information, assuming there is any, and access it. The problem with the Registry interactions and the Today Screen is that the Today Screen is LIMITED to the Chome\PANELNAME key. That is where MortScript comes in handy...
I will tell you this time that the Owner Information (which can be entered in settings) is located at HKCU\ControlPanel\Owner\ . So let us make a script that will copy this data.
Code:
//Reads the Registry Entry for the NAME
name = RegRead("HKCU", "\ControlPanel\Owner", "Name")
//Reads the Registry Entry for the Telephone Number
phone = RegRead("HKCU", "\ControlPanel\Owner", "Telephone")
//Reads the Registry Entry for the E-Mail
email = RegRead("HKCU", "\ControlPanel\Owner", "E-mail")
//Reads the Registry for an extra note
note = RegRead("HKCU", "\ControlPanel\Owner", "Notes")
//Writes the NAME to OUR PANEL for later use.
//Assigns the ID to be used to name1 (I use numbers as a precautionary)
RegWriteString("HKLM", "\Software\Microsoft\CHome\MyFirstPanel\Page1", "name1", name)
//Writes the PHONE NUMBER to OUR PANEL
RegWriteString("HKLM", "\Software\Microsoft\CHome\MyFirstPanel\Page1", "phone1", phone)
//Writes the EMAIL to OUR PANEL
RegWriteString("HKLM", "\Software\Microsoft\CHome\MyFirstPanel\Page1", "email1", email)
//Writes the NOTE to OUR PANEL
RegWriteString("HKLM", "\Software\Microsoft\CHome\MyFirstPanel\Page1", "note1", note)
That is it! Assuming you have learned enough of this language, this should act as a great backbone when it comes to registry interactions.
So now that you know the very basics of the CPR file, and how some things work, you can rest assured that I will continue this tutorial when more time becomes available! It pains me to say it but:
TUTORIAL TO BE CONTINUED!!!
saved
Saved for future reference
Sweeeeeet added to sticky
great tutorial, thanx , really , good job.
Wonderful job Cyclone..!!!! keep it up
this free program is very useful in editing both cpr and home.xml files....it will color code and proof the tags for you..
hewhoisnotasothers said:
this free program is very useful in editing both cpr and home.xml files....it will color code and proof the tags for you..
Click to expand...
Click to collapse
Thanks for the link. I'm going to make a post/section specifically for software. Will be sure to add this.
I believe MPI is the arrows for the Media Player. They are arrows, that's for sure. Just which arrows, I don't know to be certain. I would think Media Player as "M". Media Page Indicator? or Media Player Indicator? NPI=Next/Previous Indicator?
waiting...
Have been checking this thread in the hope that the tutorial continues.
Please
I have lots of questions that might be solved by the next part of the tutorial.
Hey,
Sorry for not updating sooner. I am still in school and this past week I had intense Marching Band rehearsals to lead up to our competition on sunday. Its all over now, so I have distinctly more time get back to my projects. Expect an update soon.
Cyclonezehpyrxz7
I did a minor update. I am sort of out of ideas. I did the unthinkable and left this alone for too long and lost my train of thought. So now I call upon you, the eager readers! What is it that I need still incorporate?
Don't mention the following because i already plan on implementing them:
-Interactions with the Registry (a bit more in depth with examples).
-Simple guide to making a basic panel (that doesn't do much)
-Go over more specifics about different TAG types.
Thats it...my mind is dry (oddly and unfortunately enough). So please, anything you would like to know more indepth (or at all) just post it here and I will fill as many requests as possible!
CPR - Registry interaction
Most of my 100000000's questions are Registry related so for that part I'll wait until your Tut covers it.
In the meantime, do you know what this does?
<ControlSequence ID="Action Sequence" FramesPerSecond="30" Loop="False">
YesHoney said:
Most of my 100000000's questions are Registry related so for that part I'll wait until your Tut covers it.
In the meantime, do you know what this does?
<ControlSequence ID="Action Sequence" FramesPerSecond="30" Loop="False">
Click to expand...
Click to collapse
The ControlSequence tag is, in our case, useless. As Drkfngthdrgnlrd explained it to me a while ago, that controls animations that go on on-screen. It works for making buttons, etc. but since our phone's not a touch-screen, buttons really cannot exist. I believe that it is in there because this is a "stock" CPR, and realize that there is no OFFICIAL 6.5 for our smartphone, what the master chefs here have done is take megapacks (i believe that is what they are called) from official 6.5 ROM's for other phones and sort of splice them together to emulate a 6.5 environment.
Thank you
Why do I think you will come up with some rom made by you?
Thanks for the tutorial!
Regards
ControlSequence ID="Action Sequence"
According to what you explained, I deleted
<ControlSequence ID="Action Sequence" FramesPerSecond="30" Loop="False">
<Image ID="Image" Left="0" Top="0" Width="320" Height="67" ScalingAlgorithm = "TriLinear" Opacity="1.0"/>
</ControlSequence>
from the CPR and absolutely nothing changed in the behaviour of the home screen.
Which is expected. Like I said, it is a "stock" CPR...that is designed for button's, etc. Much like the cmhome.dll (which contains the atual code for the CPR), it is all pretty stock and based for touchscreens because M$ knows that if they dare change anything, they could mess it all up (haha *sigh*).
Now that you mention cmhome... could you please see http://forum.xda-developers.com/showthread.php?t=573863
Plspls

[TUT] A mini-tutorial on rearranging the Manila Home Screen

Rearranging the Manila Home Screen​
What do I need to know?
Manila uses few types of files: qtc, xml, mode9 and lua. First one is for graphics, second usually for different languages (although not only) and the two last ones are the ones we are interested in. Mode9 files contain information on position, visibility and other properties of almost every element on Manila tabs. Lua files contain different functions, used for animations, updating info and so on.
For editing the Home Screen we need the mode9 file - 1c684cd8_manila and the lua script - 25d04412_manila. You can find these files (from each Manila, starting from 1.0 and ending on 2.5) on this forum.
What tools do I need?
Editing mode9 files is quiet easy. You just have to run m9editor, open the file, make the changes you want and save it. Changing stuff in lua scripts is a bit more complicated, as you have to decompile it. Shorter scripts are easily decompilated by luadec, but some longer ones require us to correct errors. Fortunately, the lua script we have to change is easily decompilated (though there can be a problem with the if condition). To do this follow these points:
- copy luadec.exe and luac.exe to the folder you where you have the lua script (let's say it's c:\compacthome\mod\)
- press Windows Logo + R (or Start > Run) and type cmd
- go to the folder containing the lua script (in this case it's cd \compacthome\mod\)
- type luadec script_name > script_name.txt - where script_name is the script you want to decompile (for example 25d04412_manila) and script_name.txt is the name of the output file, which we will edit
- in case of errors you have to correct them (look for the lua decompiling tutorial by sztupy)
- once you have the script decompiled you don't need to do it again.
- open the output file and change whatever you want
- to compile the file just type luac -o script_name script_name.txt, where script_name is the file we want to have the script_name.txt compiled
What can I change?
When you open the mode9 file we want to edit, expand the tree and you'll see many sections called 'Object'. Below them there are few lines called 'Property'. What you can easily change is:
- Position - just change the value of X and Y (center position (X=0, Y=0) and axis are different for most of the objects - you have to test this)
- Visibility - True or False (sometimes you may have to change the size of a image to 0x0, so that it won't show never)
- Font
- Font Size
- Color of text in RGB format - if Property is not available, add it
In the 25d04412_manila script you can change positions of many objects in both portrait and landscape mode.
- TabsLeft - left part of the clock (animated)
- TabsRight - right part of the clock (animated)
- clock_tabs - background of the clock (pile of tabs)
- alarm_clock - alarm info and date
- NotifiCamera3D - notifications & appointments
- NotificationShiftY - shifting of appointments when changing to small clock
To change the position just modify the first two parameters of Vector3(X, Y, Z) - both CameraPosition.value and LookAtPosition.value.
How to save and test the changes in a fast way?
Open a cab creator (for example WinCE Cab Manager) and add the files you changed to /Windows. Save the cab, copy it to your device, install and reboot Manila. You can also copy manually the file, but I prefer the first way, because in case of any problems you can easily uninstall the cab and get the default Home Screen.
How to get the Home Screen working with Background4AllTabs?
Just open the 1c684cd8_manila file by m9editor, look for 'HomeBackground' and delete the whole paragraph which contains it (from <Object>Type="Group" to the next <Object>Type="Group").
- - -​
If you have any suggestions, propositions or ideas, please write them in this thread, I'll try to complete this tutorial, so it will be useful for everyone. Thanks!
i cannot come up with suggestions, but that tutorial is very nice on your side!
Although not actually about the home screen arrangement. I do think we need the information on how to patch the EXE for weather and especially non-HTC devices to be made public. The few people that know how to do it don't seem to want to SHARE that knowledge, which is damned frustrating!
Kamill, what an excellent idea. I'm looking forward to your tutorial. I wonder will it be for Manila 2.0?
Here are some ideas:
Change touch flo colour
Appointments for at least one week
Linking big clock with another application (similar to Ssmaho)
Changing soft keys names/applications
Changing font sizes/types
Changing date formats on appointments
I hope this doesn't make it too difficult (I think the second one is though for some Manila versions!)
UPDATE in first post - an early version of the mini-tutorial.
FloatingFatMan, unfortunately I don't know how to do it...
mitsi, thanks, I'll work on that.
Kamill, My question is what needs to be changed to get appointments in dates after tomorrow to appear? Do I need to edit both the mode9 and the lua script? Or is it just one of those? I'm willing to get my hands dirty to fix it.
The easiest way is to get the files from hallatore's mod for Manila 2.0 and compare them to the original. There are mainly 3 differences, you'll find them for sure. AFAIR all you have to change is in one script, you have to add an option to display the date, change the place from where appointments are being taken (poomappointments(TAB_Calendar) instead of poomappointments(TAB_Home)) and change the number of appointments in the for loop.
Hmm. Well I changed the TAB_Calendar and added the option to to display date. Those were easy. Finding the loop is harder. I forced A loop to go 5 times and I got 5 calendar events, but the ones past tomorrow were the default ones in the mode9 ("Review design comp (Dan's office)"). I did it in the InitializeFullAnimation function just below this if statement:
Code:
if l_15_15 > 5 then
l_15_15 = 5
end
So those items are not being updated from the calendar. Any ideas? Am I looking in the wrong loop?
Anyway you can post hallatore's mod de-compiled? I think I have the original, but when I use m9editor the lua has a lot of decompiled errors.
Here you go. Are you doing this on the Manila 2.1? I tried so many things to get this working, but with no success
how to change home tab
Hi, I have read all the posts here and in some other threads related, and I'm still confused
I did try to install the cabs posted, and it totally messed my home tab, so I had to hard reset every time (because uninstalling didn't fix it up).
All I want to have is this:
1. move the alarm notification on the upper-right corner (to cover or remove the ATT logo)
2. make the Call History to auto-hide if there is no missed call (or to delete it, if it is easier)
3. have more appointments visible (2-3) with the big clock, and to be able to flip the clock upwards in order to have even more appointments visible
4. when I click on the appointment, to open the Calendar (this is already possible, and I'd like to remain this way)
I apologize if this is a silly question: is this possible to be done only by editing some manila files, and if so, which ones and what should I modify?
I opened some manila files (e.g. 1c684cd8_manila) using notepad and m9editor.exe, and, honestly, I had no clue as to what should I do
I am sure that you guys know this stuff already, and it is very easy for you. If it's not complicated to explain it to me, please help me!
thank you very much
Kamill said:
Here you go. Are you doing this on the Manila 2.1? I tried so many things to get this working, but with no success
Click to expand...
Click to collapse
Thanks. I am trying for Manila 2.1. There's gotta be a way.
tatarasi said:
Hi, I have read all the posts here and in some other threads related, and I'm still confused
I did try to install the cabs posted, and it totally messed my home tab, so I had to hard reset every time (because uninstalling didn't fix it up).
All I want to have is this:
1. move the alarm notification on the upper-right corner (to cover or remove the ATT logo)
2. make the Call History to auto-hide if there is no missed call (or to delete it, if it is easier)
3. have more appointments visible (2-3) with the big clock, and to be able to flip the clock upwards in order to have even more appointments visible
4. when I click on the appointment, to open the Calendar (this is already possible, and I'd like to remain this way)
I apologize if this is a silly question: is this possible to be done only by editing some manila files, and if so, which ones and what should I modify?
I opened some manila files (e.g. 1c684cd8_manila) using notepad and m9editor.exe, and, honestly, I had no clue as to what should I do
I am sure that you guys know this stuff already, and it is very easy for you. If it's not complicated to explain it to me, please help me!
thank you very much
Click to expand...
Click to collapse
Here is the solution to all 4 requests, but it is for Manila 2.0, so be careful. Back-up first just in case. Your screen will then look similar to the one shown.
Been trying...
I've been trying for some time now to get more than today's and tomorrow's appointment's displayed in manila 2.1. I added in the code that Hallatore added (can be found in stupy's lua thread) but there seems to be something limiting the amount of days shown ahead (I hope is not limited by the manila.exe, but I think not).
As additional info, the lua file that use to be embedded in the Home.mode9 isn't any more and is named 53cc1e4f_manila for 2.1 manila and 652ae0f4_manila for 2.5 manila,
12
mitsi said:
Here is the solution to all 4 requests, but it is for Manila 2.0, so be careful. Back-up first just in case. Your screen will then look similar to the one shown.
Click to expand...
Click to collapse
This is exactly what I'm after.
Unfortunately, I tried that alternative and, again, it totally messes my TFLO, and I had to hard reset again.
What do you mean by Manila 2.0, is this the TFLO version (in Settings, I see that I have ver. 3.0 build 29946)?
thank you
Change Home tab display
Hi, thank you very much for your interest and trying to give me solutions for my request. It is amazing how people from different corners of the world are connecting and helping each other.
I presume that the file to work with is 1c684cd8_manila.
I opened that with m9editor 3.3.0.1. It's a lot of info there
Could you guys be so kind and give some clues as to what should I look for in order to change:
- the alarm notification - to move it on the upper-right corner
- the carrier logo - to delete it
- the Call History - to delete it
- the Appointments - to have at least 2-3 shown
Also, important clues as to what NOT to touch, in order to
- continue to be able to flip over the big clock
- continue to be able to open the Calendar when click on the appointment
thank you again
tatarasi said:
- the alarm notification - to move it on the upper-right corner
Click to expand...
Click to collapse
Change the X and Y in the 'Position' Property of these objects: AlarmClockOn, AlarmClockOff, AlarmTime.
tatarasi said:
- the carrier logo - to delete it
Click to expand...
Click to collapse
To the object 'OperatorLogo' add a property called 'Visibility' and change its value to False - if it won't work change it's height to 0 in the 'Size' property.
tatarasi said:
- the Call History - to delete it
Click to expand...
Click to collapse
The same as above, objects: MissedCall_SBar1, MissedCall_SBar2, MissedCallIcon, MissedCallText.
tatarasi said:
- the Appointments - to have at least 2-3 shown
Click to expand...
Click to collapse
You need to decompile the 53cc1e4f_manila script and find l_15_0.MaxShowCount and change the value of it to the desired one.
Kamill said:
You need to decompile the 53cc1e4f_manila script and find l_15_0.MaxShowCount and change the value of it to the desired one.
Click to expand...
Click to collapse
If only it was that easy... I've been trying all kinds stuff including what you suggest above. I have decompiled the 53cc1e4f_manila I'll attach it here (it's the one from yozgatg's r1.5),
12
I mean you CAN change the number of appointments, but in a range of 0 to 6 (5 with big clock). I've tried to get more appointments shown, but I failed...
Kamill said:
Change the X and Y in the 'Position' Property of these objects: AlarmClockOn, AlarmClockOff, AlarmTime.
To the object 'OperatorLogo' add a property called 'Visibility' and change its value to False - if it won't work change it's height to 0 in the 'Size' property.
The same as above, objects: MissedCall_SBar1, MissedCall_SBar2, MissedCallIcon, MissedCallText.
You need to decompile the 53cc1e4f_manila script and find l_15_0.MaxShowCount and change the value of it to the desired one.
Click to expand...
Click to collapse
Hi, Kamill,
Apologize for double posting, I am growing impatient feeling that I am so close to a solution
Regarding the Manila, I checked where you told me to, and I found out that I have TFLO 3D 1.2.37896.1_1813.6. Thank you.
Thank you for your advices, I already tried to remove the logo
- first, I added the <Property> Name=Visibility Value="False" - did not work
- then, I changed the Height=0 - still ATT was there
- lastly, I deleted the entire Object GLESSprite2D (which was above the "OperatorLogo" property - still no result
What do you think I am doing wrong?
Speaking of the number of appointments, I amazingly discovered that I do not have 53cc1e4f_manila file. What do you think that means?
thank you very much, again
Manila 1 is a bit different from 2.0 or 2.1, the 53cc1e4f_manila script is embedded in the 1c684cd8_manila mode9 file (one of those at the beginning).
AFAIK you can replace the logo file with a blank one (don't ask me which file is it, I don't know ). Or you can try to add a 'Position' property and move it out of the sight (but it may come back in some situations) - though I do not guarantee it'll work.
I hope you'll success in modifying the Manila 1 homescreen, I guess there is still a couple of people who use that version of TF3D.

Categories

Resources