Related
[UPDATE 2/15/2009]
OK, after weeks of failure, I gave up on uploading to the forums (kept saying my security token was missing), and put the files on 4Share. This may be slower, but at least it works. Anyway, just download the zip file, unzip, copy to your device and install. The Opera skin will now automatically install (unless you are using L26's 7.4 ROM, which has Opera installed differently than other ROMs), no need to copy separately. There are two versions for each color, one that shows the Youtube link on the internet tab, and one that does not.
I also attach a (fixed) "Black & red" ".tsk" theme file that you can unzip, copy to your windows folder and select through settings--> personal--> today, if you wish...
Enjoy!
Blue No Youtube: http://www.4shared.com/file/87796135/28436720/TransRed_No_Youtubecab.html
Blue with Youtube: http://www.4shared.com/file/87796147/890c90cb/TransBlue_Youtubecab.html
Red No Youtube: http://www.4shared.com/file/87796165/55349365/TransBlue_No_Youtubecab.html
Red with Youtube: http://www.4shared.com/file/87796190/a2c67b25/TransRed_Youtubecab.html
I have not prepared .theme versions, as this theme does not lend itself well to that method (due to registry changes affecting colors), but please let me know if it's wanted.
Non-hideously-ugly green version (like the dialer buttons in the red version) to come soon...
--------------------------
Hi all. This is my first theme on the forums. It basically removes all of the (hideous) green items in Manila. It does not change any icons, wallpapers, sliders, etc, so you can use whatever you like and it looks good, IMHO, with all types of wallpapers, clocks, etc.
The focus items have been changed to a very subtle "translucent" light gray. Kind of like Lexxirae's ultimate gray for the Diamond, but more transparent and lighter. The start menu and task manager highlights have been changed to gray, and all radio buttons, checkboxes, green phone buttons, progress/volume, etc. have been changed to blue or red, depending on the version. I have also included an Opera skin with gray menu selection items and a blue or red progress bar. Please see screenshots, below.
I left the stocks tab's green parts as is, since this is the way stock charts traditionally look. Also, I can't seem to change the Album or Camera menu focus. If anyone knows how, please let me know.
That's it. I hope some of you enjoy the theme, and please let me know of any suggestions to improve it.
As always, use at your own risk and backup first
TO INSTALL THE OPERA SKIN---> copy the standard_skin.zip file to windows\opera\skin.
Click to expand...
Click to collapse
Mine is \windows\opera9\skin
Otherwise perfect, thank you.
Kangburra said:
Mine is \windows\opera9\skin
Otherwise perfect, thank you.
Click to expand...
Click to collapse
You are right! Thanks for pointing out my typo...
sk806,
could you help a brother out with a link/post of your topbar icons?
the one I found has the 'windows' start button, plus I much prefer your blue
"E"dge icon...
thanx!
Sure...
gwbard said:
sk806,
could you help a brother out with a link/post of your topbar icons?
the one I found has the 'windows' start button, plus I much prefer your blue
"E"dge icon...
thanx!
Click to expand...
Click to collapse
This is Darklord 69's task bar v2 for the Diamond, here: http://forum.xda-developers.com/showpost.php?p=2858589&postcount=324
looks great, thank you!!
Excellent, goes well with my overall theme.... Now, if somone could tell Me how to make the task and status bars a nice dark blue colour...... I'd be a completely happy bunny
great, i'll try this theme
Volume Control problem
Hi,
I Installed this theme and it's really great.
I only have one problem : I only can see "Silent" and "Vibrate" in the volume control screen. The ranks are grey, and so is the background...
Could you fix this please?
Thanx!
Gien
gien29 said:
Hi,
I Installed this theme and it's really great.
I only have one problem : I only can see "Silent" and "Vibrate" in the volume control screen. The ranks are grey, and so is the background...
Could you fix this please?
Thanx!
Gien
Click to expand...
Click to collapse
Hmmm...Let me take a look. I didn't think I had done anything to the volume overlay, as it was not green by default. Will keep you posted.
There is error in file 27c65cbd_manila:
<?xml version="1.0" encoding="utf-16"?>
<InternetPortal>
<IncludeUserFavorites>True</IncludeUserFavorites>
<Banner
DefaultImagePath="\Windows\HTC\Assets\Images\InternetPortal\banner.qtc"
SelectedImagePath="\Windows\globe_selected.png"
Text="Launch Browser"
Width="480"
Height="215" />
<OOperatorLinks>
<Link
Text="YouTube"
Executable="\windows\youtube.exe"
ImagePath="\Windows\HTC\Assets\Images\InternetPortal\youtube.qtc" />
</OOperatorLinks>
</InternetPortal>
NO OOperatorLinks but OperatorLinks
Ciao
fotone said:
There is error in file 27c65cbd_manila:
<?xml version="1.0" encoding="utf-16"?>
<InternetPortal>
<IncludeUserFavorites>True</IncludeUserFavorites>
<Banner
DefaultImagePath="\Windows\HTC\Assets\Images\InternetPortal\banner.qtc"
SelectedImagePath="\Windows\globe_selected.png"
Text="Launch Browser"
Width="480"
Height="215" />
<OOperatorLinks>
<Link
Text="YouTube"
Executable="\windows\youtube.exe"
ImagePath="\Windows\HTC\Assets\Images\InternetPortal\youtube.qtc" />
</OOperatorLinks>
</InternetPortal>
NO OOperatorLinks but OperatorLinks
Ciao
Click to expand...
Click to collapse
I actually did that on purpose to get rid of the You Tube link, as in the screenshot. Should I add it back? Two versions?
gien29 said:
Hi,
I Installed this theme and it's really great.
I only have one problem : I only can see "Silent" and "Vibrate" in the volume control screen. The ranks are grey, and so is the background...
Could you fix this please?
Thanx!
Gien
Click to expand...
Click to collapse
I looked through the files I changed, and I am certain that I did not alter the volume overlay. In addition, I do not seem to have this problem, and have tried the theme on several ROMs. Do you have anything else installed that might be doing this? Could you post a screenshot, so I can see what is happening?
Does any one else have this problem?
I will do my best to fix this for you, but I need to see what is going on. Thanks!
sk806 said:
I actually did that on purpose to get rid of the You Tube link, as in the screenshot. Should I add it back? Two versions?
Click to expand...
Click to collapse
Yes!!!!
Two version please and the wallpapers of Home all black and not blue.
Grazie
sk806 said:
I looked through the files I changed, and I am certain that I did not alter the volume overlay. In addition, I do not seem to have this problem. Do you have anything else installed that might be doing this? Could you post a screenshot, so I can see what is happening? Does any one else have this problem.
I will do my best to fix this for you, but I need to see what is going on. Thanks!
Click to expand...
Click to collapse
I don't have this problem either.
fotone said:
Yes!!!!
Two version please and the wallpapers of Home all black and not blue.
Grazie
Click to expand...
Click to collapse
OK. Will do. You mean the default home wallpaper for the Black & Blue.tsk, correct?
EDIT: Testing changed files now. May take a while, as I just flashed Dutty's new ROM
sk806 said:
OK. Will do. You mean the default home wallpaper for the Black & Blue.tsk, correct?
Click to expand...
Click to collapse
Yes.
Grazie
Ciao from Italy
The theme is excellent, thanks Does anyone know how to change all the highlights in the menus, messaging etc from green to another colour?
ageorgiou1984 said:
The theme is excellent, thanks Does anyone know how to change all the highlights in the menus, messaging etc from green to another colour?
Click to expand...
Click to collapse
You can apply the "Black & Blue.tsk" theme in settings---> personal--> today. This will make those items blue. I think there are some other themes based on the default HTC Black theme kicking around, too, if you search. I also think there is a thread over in the Diamond forums about changing these colors straight from the registry.
EDIT: Here is the link to the Diamond forum thread discussing editing .tsk colors via the registry: http://forum.xda-developers.com/showthread.php?t=442286
sk806 said:
You can apply the "Black & Blue.tsk" theme in settings---> personal--> today. This will make those items blue. I think there are some other themes based on the default HTC Black theme kicking around, too, if you search. I also think there is a thread over in the Diamond forums about changing these colors straight from the registry.
EDIT: Here is the link to the Diamond forum thread discussing editing .tsk colors via the registry: http://forum.xda-developers.com/showthread.php?t=442286
Click to expand...
Click to collapse
Excellent, that's exactly what I was after, thanks a lot
This is my beloved black/green original HTC Manila theme and maybe a "reference" for others manila skinner.
Black default HTC theme for graphics & default green highlights for all colored components (checkbox, buttons and so on)
no screen needed as we all known default htc black theme
developed and tested with itje's latest build, currently T-mobile one from 6.1 2.604 kitchen. Feel free to try on other roms, it should work, but keep in mind that results may be different.
why 2 cab? to separate "static" graphic elements form indicators, selectors and so on. It's a huge work, done once for all (I hope ).
guap Manila Default Black.cab contains only "static" graphics (tabs, bars...)
guap Manila Green Hilights.cab contains only "skinnable" items (selectors, checkbox, buttons) to keep simple for others to change colors on their own without having to search all of them.
If you want i.e. to make a "red" theme, just edit files in Highlights.cab and you're ready
Or if you want to have black back on your t-mobile manila but keeping the blue/gray selectors and indicators, you can install only Default Black
How to install: disable manila, install cab (always to device if asked!!!), then re-enable manila. Soft reset shouldn't be required, but has to be the first option in case of weird behaviours
All cabs are unistallable and shold be an harmless process, but ALWAYS MAKE A BACKUP with something like sprite backup or spb backup.
Other goodies
guap Green Fingermenu.cab for default green fingermenu
guap Green UsbToPC.cab for default green UsbToPC popup
guap Manila Green EnlargeStartMenu.cab for green EnlargeStartMenu
guap Manila Blue T-Mobile EnlargeStartMenu.cab for restore t-mobile colors on EnlageStartMenu (as this requires registry entries, isn't sufficient to uninstall the green one)
guap Manila Green Taskmanager.cab for green TaskManager (tnx to itje)
guap Manila Blue T-Mobile Taskmanager.cab for restore t-mobile colors on TaskManager (as this requires registry entries, isn't sufficient to uninstall the green one)
Default Indicators.zip once for all, some files MUST to stay green, i.e. the stock chart indicators: they are these files, if you get fuzzy stock indicators installing a custom theme, drop this in \windows and should be fix
Fix
guap Manila raindrop fix.cab t-mobile manila has ugly rains, probably messed up during blu-colorizing process: this will fix ugly raindrop on weather tab
Sorry about rapid, but this manila doesn't support cfc, these 2 are too big for the board:
guap Manila Default Black.cab -> http://rapidshare.com/files/216177011/guap_Manila_Default_Black.cab
guap Manila Green Hilights.cab -> http://rapidshare.com/files/216177012/guap_Manila_Default_Green_highlight.cab
...reserved...
Nice! Are different colors coming in the futue?
guap said:
Known bugs: taskmanager still has blue... can't find where these pics are stored, help whould be appreciated
Click to expand...
Click to collapse
Code:
<characteristic type="HKCU\Software\HTC\TaskManager" translation="filesystem">
<parm name="ManilaCustomHlUp" datatype="integer" value="4666152"/>
<parm name="ManilaCustomHlDown" datatype="integer" value="4666152"/>
</characteristic>
@BobAndrews: not from me at the moment. I released separate cab to encourage other users to make their own skin starting from standard green package
with a script (even in photoshop afaik) should be simple to change saturation to all files at same time
itje said:
Code:
<characteristic type="HKCU\Software\HTC\TaskManager" translation="filesystem">
<parm name="ManilaCustomHlUp" datatype="integer" value="4666152"/>
<parm name="ManilaCustomHlDown" datatype="integer" value="4666152"/>
</characteristic>
Click to expand...
Click to collapse
thank you! Stupid me, i was looking in HKLM near the enlargemenu... -_-'
Realized that this is still missing the new modifications to the dialer..
but those have to be done in the registry, which is a lot of work.
Dont blame ya if you dont want to do it
Nice one, Is there anyway to get the clock white ?
dr3minem said:
Realized that this is still missing the new modifications to the dialer..
but those have to be done in the registry, which is a lot of work.
Dont blame ya if you dont want to do it
Click to expand...
Click to collapse
wich modification? This is related to manila only, manila isn't supposed to have a dialpad
can you post a screen?
@tomzibad: of course, open package with m9editor, extract clock png (they are clearly recognized ) and make your own color
Is there anyway to change to selection colour for the notification manager?
When I click it, it's still the same colour that I got rid of everywhere else. I still have a weird blue/grey/purple colour. And I would like the green in the notifications manager.
uhm maybe I missed it. Take a look in the latest kitchen, components are sort by directory, should be simple to find the misssed bmp for notification manager
guap said:
uhm maybe I missed it. Take a look in the latest kitchen, components are sort by directory, should be simple to find the misssed bmp for notification manager
Click to expand...
Click to collapse
Which kitchen should I use to find this? Anyone in particular. Thanks for the tip ^^
thanks guap for your cabs, very useful.
I installed them to remove t-mob customizations in the rom i use. I wanted to rollback to default HTC classic scheme.
But after applying the cabs, the UI remains the same, strange to me, even the flip-clock (I don't like t-mob white-on-black clock). Your cab contains both square backgrounds, as well as digits, suppose the digits are white and the background is black in your cab file?
Pls advice, howto revert to black-on-white flip-clock?
Odeon said:
thanks guap for your cabs, very useful.
I installed them to remove t-mob customizations in the rom i use. I wanted to rollback to default HTC classic scheme.
But after applying the cabs, the UI remains the same, strange to me, even the flip-clock (I don't like t-mob white-on-black clock). Your cab contains both square backgrounds, as well as digits, suppose the digits are white and the background is black in your cab file?
Pls advice, howto revert to black-on-white flip-clock?
Click to expand...
Click to collapse
install attached cab..
brings back black tf3d and flip clock..
knaplullig said:
install attached cab..
brings back black tf3d and flip clock..
Click to expand...
Click to collapse
Wow! Looks nice! And it adds transparent tabs and wallpaper to all manilla pages!
Thanks!
Hi. I have problem with distorted graphics on the email tab (email account select). Any1 has experience with this problem? I am using green buttons, selectors etc. and Itjes 7+ final or Smabergs 6.2 ROMs
Dear knaplullig, guap
I noticed a problem, after installing Plain HD TF3D.cab,
my start menu stopped working (before when tapping on 'start', I had programs menu, not the classic start menu).
Which .manila file is to blame?
Dear All,
anyone, who uses this Plain TF3D tweak, do your start menu work ok?
Mine (I had programms when tapping 'start' -- before installing Plain TF3D cab) just stopped responding to taps. Winkey on Hw keyboard works (old-style start menu).
Anybody has suggestion, what has to be corrected in order to have responding startmenu back again?
FOUND!
I've found the file which froze startmenu.
It's 5c9aa261_manila. Can it be fixed somehow?
Odeon said:
FOUND!
I've found the file which froze startmenu.
It's 5c9aa261_manila. Can it be fixed somehow?
Click to expand...
Click to collapse
Did you find a way to fix this? I tried installing it and had the same problem. It won't remove either so I may have to reflash
not to reflash you just have to re-instal and then remove the program.
also you can try this threads solutions.
I have created a way to control the icons in TF3D.
Using my tips below you can choose to show or hide each individual icon state.
The icon states are:
"icon_normal" (_Off) - This is the icon in the bottom curtain in TF3D when not selected by the slider
"icon_selected" (_On) - This is the icon in the bottom curtain in TF3D when selected by the slider
"icon_preview" (_Preview) - This is the icon in the middle of the screen in TF3D when tab selected by the slider
Installation instructions:
1. Turn TouchFLO 3D off (Settings/Today/Items)
2. Copy all 4 *_manila files from "Nocky TF3D Icon Control.zip" file to a temp location on your device such as Storage Card or My Documents
3. Use a file manager program like Resco Explorer or Total Commander to move the files from your temp location to the
device Windows folder (These are all extra _manila files, so NO ORIGINAL _MANILA FILES WILL BE OVERWRITTEN)
4. Edit tab entry’s in 26948339_manila (it can be found in \windows\ dir and edited with any text editor):
Below is an example of the original entry for the Email Tab:
<Page Order="3" Name="email.page" PackageName="HTC" Title="Email">
<ComponentReference Name="page" Mode9Path="HTC\email.mode9" Component="GizmoRoot" SmartComponent="true" />
<ComponentReference Name="icon_normal" Mode9Path="HTC\icons.mode9" Component="Email_Off" />
<ComponentReference Name="icon_selected" Mode9Path="HTC\icons.mode9" Component="Email_On" />
<ComponentReference Name="icon_preview" Mode9Path="HTC\icons.mode9" Component="Email_Preview" />
</Page>
Below I have set all icons to be hidden (Why you would do this I don't know!!):
<Page Order="3" Name="email.page" PackageName="HTC" Title="Email">
<ComponentReference Name="page" Mode9Path="HTC\email.mode9" Component="GizmoRoot" SmartComponent="true" />
<ComponentReference Name="icon_normal" Mode9Path="HTC\nockyicon.mode9" Component="Nocky_Off" />
<ComponentReference Name="icon_selected" Mode9Path="HTC\nockyicon.mode9" Component="Nocky_On" />
<ComponentReference Name="icon_preview" Mode9Path="HTC\nockyicon.mode9" Component="Nocky_Preview" />
</Page>
You can mix and match whatever combination you like.... In the below example I have only hidden the icon for selected:
<Page Order="3" Name="email.page" PackageName="HTC" Title="Email">
<ComponentReference Name="page" Mode9Path="HTC\email.mode9" Component="GizmoRoot" SmartComponent="true" />
<ComponentReference Name="icon_normal" Mode9Path="HTC\icons.mode9" Component="Email_Off" />
<ComponentReference Name="icon_selected" Mode9Path="HTC\nockyicon.mode9" Component="Nocky_On" />
<ComponentReference Name="icon_preview" Mode9Path="HTC\icons.mode9" Component="Email_Preview" />
If you want to hide an icon on any tab, just change the Mode9Path= to "HTC\nockyicon.mode9" and Component= to one of the following:
"icon_normal" (_Off) - "Nocky_Off"
"icon_selected" (_On) - "Nocky_On"
"icon_preview" (_Preview) - "Nocky_Preview"
5. Turn TouchFlo 3D back on
6. Enjoy
I have attached some screen shots as examples....
Pic 1 shows all icons on....
Pic 2 shows all "selected" icons off (a cleaner look)
Pic 3 shows all "normal" icons off (a very clean look.... you can still tap where the icon would be to directly select a tab.... takes a while to get used to but I like the clean look this gives)
I have not bothered with a picture showing the preview icons off as the text still comes up on the screen and it looks strange without the icon....
ADVANTAGE - The advantage of controlling icons this way is that when more tabs get developed, you don't have to keep replacing the new tab icons with clear ones to hide them (mainly to stop overlap when using a clear slider).... Just edit the manila entry for the new tab (as shown above) to hide the icons you don't want to see....
Cheers....
Nocky
nocky said:
I have created a way to control the icons in TF3D.
...
Cheers....
Nocky
Click to expand...
Click to collapse
This sounds interesting - but I'm not sure I completely understand what your explaining... Could you upload a screen shot hiding the unselected icons? Is there just empty space then?
MAMeingast - I have edited the original post to attach some more pics, and clarify some of the instructions....
Cheers....
Nocky....
Hi Nocky, sorry I can't tell from this; does this functionality allow you to change what the bottom tabs are mapped to? That is a function that I am looking for.
Can you tell me how do you know what name give to your new file _manila? Thanks.
nocky said:
MAMeingast - I have edited the original post to attach some more pics, and clarify some of the instructions....
Cheers....
Nocky....
Click to expand...
Click to collapse
Looks very nice - especially the third version looks sleek! But probably takes some getting used to as you have already mentioned...
Am I right assuming this probably won't work on Dutty's V3 with the new manila for the same reasons we're still figuring out for your other manila mod (http://forum.xda-developers.com/showthread.php?t=506852)?
You know what they say when we "assume" something.... It makes an a$$ out of us all!!....
So long as 26948339_manila is still the xml that controls basic manila tab functions, then you will be fine as the rest of the files in my zip are additional custom manila files created by me (sounds more exciting than it actually is!!).
Try it for yourself.... It is a bit of work to make the changes in 26948339_manila to point to nockyicon.mode9 and Nocky_Off but I think the look is worth it....
You could allways just change the first few tabs and try it to make sure it works....
Be careful to get everything right in 26948339_manila otherwise you will get the dreaded Starting TouchFlo.... Tap Here To Start Touch Flo.... Starting Touch Flo.... Tap Here.... etc
Cheers....
Chris....
P.S. I wish I had more time.... I could probably play with this stuff 24hrs a day.... (much to my wifes disgust!!)....
JimLin & lucarp78 - I will reply to you both in detail by the end of the weekend.... Been a long week and I need rest!!
Cheers....
Nocky....
nocky said:
JimLin & lucarp78 - I will reply to you both in detail by the end of the weekend.... Been a long week and I need rest!!
Cheers....
Nocky....
Click to expand...
Click to collapse
Hi, News about?
lucarp78 said:
Hi, News about?
Click to expand...
Click to collapse
I guess he's pretty busy right now... I was helping him with his other mod (http://forum.xda-developers.com/showthread.php?t=506852) to make it work with the new manila and I haven't heard from him for a few days... I guess we're gonna have to be patient!
News???????????
Well i made this skin for my self , but some people asked for it , so,here it is
Big thanks first of all to ookba (He is the one that make this possible)
Stylez and Dermann for testing and help
Some screenshots
i think i edited all the panels, if i forgot something, just let me know
backup your original .cpr (don't knows if this overwrite the original one)
sorry the bad english
looks good man, i made a .xml for this in my application data\home so i can switch between this one and my two others. keep up the good work.
great man, post it here, i wanna do the same thing
it's easy, just take one of the sliding panel media.xml's from Application Data\home and rename this in the blue that's at the top and the bottom of the .xml and rename the .xml itself. rename your .cpr and put back.
Code:
<title lang="0x0409">[b][color=blue]Titanium Panel Media[/color][/b]</title>
Code:
CPRFileName="[b][color=blue]Titanium[/color][/b]" />
it's very nice but can it use W6.1?
pvmd said:
it's very nice but can it use W6.1?
Click to expand...
Click to collapse
no, it's a 6.5 stuff ,
anyway i can get the my favorites panel?
fliparsenal said:
anyway i can get the my favorites panel?
Click to expand...
Click to collapse
i have nothing in that panel , i enabled it from cconf, but does't appear in my homescreen, tell me what do you have in that panel? it can't even be edited
i'll see what i can do
edit: try this cab, and let me know
install in device memory
so i tried it and all it did was enlarge the icons and hide the panels
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