[HowTo]JMLPanex (example with new JMLLibrary and JMLToday)[for all JMLToday-Versions] - Windows Mobile Development and Hacking General

Hi 2 All,
here like promised the Example how to use JMLPanex for your Plugin - and at the same time an Explanation of some Titanium-Fuctions, you perhaps don't know - and a new JMLToday-Skin... and a new JMLLibrary from me later on.
So something which could also make JMLToday-Skinner gives the Infos to make powerful Skins... because I only explain the Basics... you will see, there's much more possibilities then (especially with JMLToday 5.4 together with JMLLibrary 0.3)
Everything I will explain - is based upon
JMLPanex 0.98...2.10 and above ( http://forum.xda-developers.com/showthread.php?t=552373 )
JMLToday: *klick here*
JMLLibrary: *klick here*
You can have each Titanium-Plugin with workable Buttons!!! And that's easy! Also as User - but easpecially the Plugin-Makers will recognize the use of this revolutionary Extension for our Titaniums!
The most of my Explanations will run already - for some things you must wait for the cab for JMLLibrary 0.3 (still testing it) und JMLToday 5.4 (beause of the notifications) - but it's good to have a future glimpse
The main reason is the integration of JMLPanex - which is important for all Plugins and JMLToday at the same time.
Will begin in Post #2 - here only some remarks - like FAQs to JMLs:
- The workable Buttons must be (0.98) inside the slider! Outside of it a tab wouldn't be recognized - indifferent if it's defined in .pnx or not
- It works with all Skins which uses TitaniumListView - it won't work with BronzeresListView!!! To know, if you have the correct format (TitaniumListView) and not the old one, which was originally made for Smartphones - ony look inside your .cpr - you will see it in the first 10 lines.
Or look on your Screen - if you have Space above your Top-Panel - it's TitaniumListView - if your Slider is not centered on all plugins - you have BronzeListView
- JMLPanex is Beta - and please report in JMLPanex-Thread any Bugs - not here!!! Also Integration in your ROM - it would be better in the JML-PanexThread than here - I could add some things later as HowTo. Here's the description and you can discuss about Styling Tipps / Skinning and so on
- It's written in C++ - and it doesn't need an additional process on your device! So no Battery Drainage or slowing down system like a running process! (and especially of course no 24/7-Mortscript which has side effects on your Titanium, and much more Battery Drainage and Performance-Loss than other processes)
So you can use JMLPanex in your ROM, too
Go on in Post #2
Micha

Let's start - and don't forget - i use JMLToday and JMLLibrary only as example - if you are making your own Plugin - it will work exact the same - and I would wish I would have each Plugin on my Handy with workable Buttons:
Let's have a look on our example - I made a new Skin for JMLToday:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
All quite the same you know?
No - everything on the Slider are Buttons!
With a tab on SMS you go into Messages, tap on phone to Phone History, tap on Wifi will toggle it on and off, tab#1 onBluetooth will switch it on, tap#2 will make it visible, tab#3 will switch it off again !
You can put EACH executeable File into JMLPanex and associate it with each Graphic- or Text-Item on your Slider! On each Plugin, you have installed
Let's have a look how it works - you know it from CHome-Editor - but we look direct in the Skin-File - it's in Titanium something with suffix ".plg" - mostlyb"default.plg" - in JMLToday it's <name of the skin>.plg
a little part of it:
Code:
<Layer ID="Page" Clip="False">
<!-- JMLToday : meteo Page1 -->
<Image ID="BGA" Left="64" Top="-170" Width="150" Height="150" ScaleStyle="Fit" Opacity="0.9"/>
<Image ID="HA" Left="64" Top="-170" Width="150" Height="150" ScaleStyle="Fit" Opacity="1.0"/>
<Image ID="MA" Left="64" Top="-170" Width="150" Height="150" ScaleStyle="Fit" Opacity="1.0"/>
<Image ID="BGAO" Left="274" Top="-170" Width="150" Height="150" ScaleStyle="Fit" Opacity="0.9"/>
<Image ID="HAO" Left="274" Top="-170" Width="150" Height="150" ScaleStyle="Fit" Opacity="1.0"/>
<Image ID="MAO" Left="274" Top="-170" Width="150" Height="150" ScaleStyle="Fit" Opacity="1.0"/>
<Image ID="CalPNG" Left="44" Top="-25" Width="390" Height="35" VerticalAlignment="Top" ScaleStyle="Stretch" Opacity="0.5" />
<Image ID="BattPNG" Left="10" Top="-185" Width="48" Height="52" ScaleStyle="Fit" />
<Image ID="[B]SmsPNG[/B]" Left="392" Top="30" Width="84" Height="72" ScaleStyle="Fit" Opacity="0.8" />
<Image ID="[B]TelPNG[/B]" Left="19" Top="24" Width="84" Height="72" ScaleStyle="Fit" Opacity="0.8" />
<Image ID="Icon" Left="152" Top="-70" Width="190" Height="190" ScaleStyle="Fit" />
<Image ID="AlarmPNG" Left="12" Top="112" Width="26" Height="26" Opacity="0.8"/>
<Image ID="AlarmPNG" Left="12" Top="112" Width="26" Height="26" Opacity="0.8"/>
<Text ID="Alarm" Left="42" Top="115" Width="340" Height="80" FontFamily="Tahoma" FontSize="6" FontStyle="Regular" Wrap="True" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Image ID="[B]WiFiPNG[/B]" Left="105" Top="45" Width="60" Height="60" Opacity="1.0"/>
<Image ID="[B]BlueToothPNG[/B]" Left="325" Top="45" Width="55" Height="55" Opacity="1.0"/>
<Image ID="EmailPNG" Left="212" Top="40" Width="80" Height="72" Opacity="1.0"/>
<Text ID="OperatorName" Left="152" Top="92" Width="120" Height="40" FontFamily="Tahoma" FontSize="7" FontStyle="Regular" Wrap="False" HorizontalAlignment="Right" VerticalAlignment="Middle">
<TextStage TextOffsetType="TextOffsetDropBottomRight" Color="#00000000" TextOffset="0" BlurFactor="0" Alpha="1.0"/>
<TextStage TextOffsetType="TextOffsetNone" Color="#FFFFFFFF"/>
</Text>
Some of them I marked bold. The .plg-File will be added to your .cpr-File of Titanium.
That's the Names of the Text or Graphic-Items - you can use. If you look into CHome-Editor on Page1 - you will find exactly this Names. With a path to the Graphic-File or a text entry.
And now - we look into the .pnx-File for JMLToday - so it's JMLToday.pnx and is to find in JMLPanex-Path:
Code:
[Page1]
default=%PROGRAMFILES%\JMLToday\JMLAction.exe
AlarmPNG=%WINDOWS%\ctlpnl.exe;cplmain.cpl,16,1
BG=%WINDOWS%\ctlpnl.exe;cplmain.cpl,16,0
BGA=%WINDOWS%\ctlpnl.exe;cplmain.cpl,16,0
EmailPNG=%WINDOWS%\tmail.exe;-service "ActiveSync"
SmsPNG=%WINDOWS%\tmail.exe;-service "SMS"
TelPNG=%PROGRAMFILES%\JMLToday\CallHistory.exe
BattPNG=%WINDOWS%\ctlpnl.exe;cplmain.cpl,3
WiFiPNG=%PROGRAMFILES%\JMLLibrary\JMLLib_toggleWIFI.mscr
BlueToothPNG=%PROGRAMFILES%\JMLLibrary\JMLLib_toggleBluetooth.mscr
Alarm=%PROGRAMFILES%\ageeye\G-Alarm\GAlarm.exe
OperatorName=%PROGRAMFILES%\JMLLibrary\JMLLib_restartRadio.mscr
You see all the Names - but linked with an application.
And that's all, what you have to do - look into your .cpr-File andyou know each Name of the Graphics - and your device will know this as Buttons - if ou actived JMLPanex.
The Activation is a simple Start of a Mortscript in JMLPanex-Installation-Path:
JMLPanexForPlugin.mscr
Start it - choose the Plugin, which you want - e.g. "FavoritePeople" - choose "All Pages" - and if you have made a FavoritePeople.pnx - then each Item will be associated with your personal wish, what you want to call!
Go on in #3

The way youcall, with or without Parameters - everything is already explained in JMLPanex-Thread:
It's explained in http://forum.xda-developers.com/showthread.php?t=552373 - Post #1 and #2 - so I mustn't repeat it.
I will only show you now some possibilities which you can do now - for this examples with JMLToday you will need the JMLLibrary 0.3 - because it's heavily expaned to use the Butons. In JMLToday the external calls to use from the Skinners are as Standard to make it easier in JMLLibrary.
Some of you will know the Weatherbackgroundchanger (http://forum.xda-developers.com/showthread.php?t=541434) from the Library, which changes your backgroundaccording to the current weather, or "isNight" which makes the Skinner easily able to make a day or night clock or so.
But in 0.3 there will be all to switch on Wifi,BT,GPRS,Phone-Toggle,... and also some more nice things.
It uses some free little apps - 2 credits I want to give at this place (in JMLLibrary-Download-Post for 0.3 then bigger ) :
- vj555 for VJVolublis and
- APBilbo for his little free standalone Tools from ThrottleLauncher
Thank you!
and of course some things are written mostly by me, JMHL or other members: *Wishlist for JMLToday/Library
Here's a possibility:
Hmm - you don't see something special?
The right picture shows the same PAge after pressing on one of the forecast-Icons - so you have easily a weather panel - which later on perhaps with the long version of weather - on one Page! Buttons make it possible
Only added some JMLLibrary-Functions in .pnx:
Code:
[Page2]
default=%PROGRAMFILES%\JMLToday\JMLMeteo.mscr
Icon1=%PROGRAMFILES%\JMLLibrary\JMLLib_forecastGlimpseDay1.mscr
Icon2=%PROGRAMFILES%\JMLLibrary\JMLLib_forecastGlimpseDay2.mscr
Icon3=%PROGRAMFILES%\JMLLibrary\JMLLib_forecastGlimpseDay3.mscr
Icon4=%PROGRAMFILES%\JMLLibrary\JMLLib_forecastGlimpseDay4.mscr
In 0.98 it's not ossible to all Mortscripts with Parameters - because Mortscript has a little strange way to be called - but we will see in next Verisons perhaps. But duplicating Mortscripts is the same as Parameters.
The Library only changes for 5 Seconds the Registry-Values of "IconA","TextA"... with "Icon1","Text1",...
Here's the main code for Switch for Day 2
Code:
# Made by MichelDiamond, 26.08.09
# Version 1.0
# Description:
# If you press a Forecast-Icon on Page2 - it will put the informations for 5 Seconds in the Main-Area - then switch it back
# Buttons must be correct linked with JMLPanex:
# following pathes are still the same - no need to change it if you make your own Library-Script - each script in /<Program-Path</JMLLibrary
LibraryPath = SystemPath( "ScriptPath" )
CommonGraphicPath = RegRead("HKLM", "Software\Microsoft\CHome\JMLToday","CommonGraphicPath")
EssentialGraphicPath = LibraryPath&"\Graphics\essential"
RegWriteDword("HKLM","Software\Microsoft\CHome\JMLToday","Updated","0")
glimpseday=2
# save entries for switching back
mainIconA=RegRead ("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","IconA")
mainTempA=RegRead ("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","TempA")
mainTextA=RegRead ("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","TextA")
mainDate2=RegRead ("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Date2")
# and switch
rein=RegRead("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Icon"&glimpseday)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","IconA", rein)
rein=RegRead("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Temp"&glimpseday)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","TempA", rein)
rein=RegRead("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Text"&glimpseday)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","TextA", rein)
rein=RegRead("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Jour"&glimpseday)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Date2", rein)
RegWriteDword("HKLM","Software\Microsoft\CHome\JMLToday","Updated","1")
Sleep(5000)
RegWriteDword("HKLM","Software\Microsoft\CHome\JMLToday","Updated","0")
# and back again
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","IconA", mainIconA)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","TempA", mainTempA)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","TextA", mainTextA)
RegWriteString("HKLM", "Software\Microsoft\CHome\JMLToday\Page2","Date2", mainDate2)
RegWriteDword("HKLM","Software\Microsoft\CHome\JMLToday","Updated","1")
exit
Simple, ey?
But let's go to #4

only one more example - very interesting also for the JMLToday-Users and Skinners.
Sorry I only had less time to make the new Library and the Example (busied with TitaniumRSS - had to break Beta-Finalisation for 3 days) and so I want to apologize for the Button-Graphics... 'm sure that some Skinners will make them much nicer than a developer
Here's a JMLLibrary 0.3-Function which wil add Page3 to JMLToday... SMS as Example :
If somebody knows, where the contact pictures are to find in device - please tell me - I don't had time to search.
And some nicer Buttons, too
You have counted?
Right!
That's more than 20 Images in this JMLToday-Skin - the Titanium-Limit.
(at this place at first thanks to
drkfngthdragnlrd and our conversation and his great findings.
In TitaniumRSS I will use some more great things... be surprised perhaps... but now - how to overcome this 20-ITem-Limit?
A .plg (Skin-File) has nothing which describes the Page- it's indifferent for it - the more top an item is listed, the more below it's in display level... but PAges? No. Now have a look into CHome-Editor:
Left you see the Value "tempA" of Page2 - on the Right the Value "tempA" of Page3
In .plg - they are both the same! Compare Screenshots from Page2 (Weather) with (SMS-)Page3 - do you see it?
Each Icons are on the same place - but they have completely different Values.
so only add to .pnx:
Code:
[Page3]
default=%PROGRAMFILES%\JMLLibrary\JMLLib_SMS_Exit.mscr
Icon1=%PROGRAMFILES%\JMLLibrary\JMLLib_SMS_Next_Page3.mscr
Icon2=%PROGRAMFILES%\JMLLibrary\JMLLib_SMS_Previous_Page3.mscr
Icon3=%PROGRAMFILES%\JMLLibrary\JMLLib_SMS_Reply.mscr
Icon4=%PROGRAMFILES%\JMLLibrary\JMLLib_SMS_Refresh_Page3.mscr
And The Titanium-Limit with 20 Text and 20 Image-Items is because of the .plg. But not in Page... In Page4 Email , in Page5 System-Info? No Problem - if you use the same Positions and the Icons of the plg (I could also use the items you have seen in Page1 and Page2 all together ) - so if you are creative (and Skinners are creative ) - you can make extraordinary Skins - and the Pages3,4,5,... are supplied by JMLLibrary-Functions, which you can choose - or make a new one and I will add it...
And then there's no need to change system-variables of Titanium, making crazy cab-Files.. and as Skinner - no need to know how Programs work - only call it
In JMLToday 5.4. each notification like SMS,Bluetooth, Phone, Wifi, Time,Weather, ... will have an interface to a Script, which a USer (or Skinner) can choose. Here - the JMLLIbr_SMS_Refresh.mscr in JMLLibrary wil be called from a new SMS-notifcation and will update automatically.
But in 5.3 you can already use it - but with manual refresh.
And back to JMLPanex - each Page can have it own Buttons... and this is Page3 - same Names, but different Page - and therefore JMLPanex is a real Killerapp! drkfngdrglrd and me had almost the same idea (*here*), but it's essential to be done - and JMHL made it in a very special and easy way - with no system performance loss or additional battery drain.
Thanx JMHL!!!
I hope some people find this HowTo helpful
Micha

ok-finished for the first time

OH - I've forgotten to say,that all from this example is uploaded in JMLLibrary - also with the sample .pnx and the JMLToday-Skin:
*click here*
And Thank you for saying Thank you for this HowTo and developing the Example
Micha

Thanks Micha! Just been a bit occupied and forgot to comment. This is a very useful guide, I am hoping to experiment more with the new functions when I get a chance, but thanks again, this is a big help to all developers/skinners.

You guys rock! Thanx I've got to see if I can get it working
10 mins later ...... it is awesome!

Looking good, will hopefully have time soon to update NeoTitanium & add JMLPanex & JMLToday includes some libraries. My question is though, it looks as though the button has to reside within the Focus Rectangle from what I understand for the ActionURL to be launched on tap. Am I correct with this? If so, maybe there's a way to add a OnAction to the <Layer ID="Page" tag of the expanded layout to "bind the whole layer to the Focus ActionURL. Since that is a value built it defined action, maybe we can bind it there. Then, we make the <Layer ID="Page" cover the entire Plugin if it falls outside the Focus.
Example (Based on my NeoTitanium);
Code:
<Layer ID="Page" [COLOR="Blue"]Left="45" Top="-114" Width="195" Height="268"[/COLOR] Clip="False" OnAction="[COLOR="Red"][B](Binding:HomeNav,FocusAction)?!?!?[/B][/COLOR]" >
In NeoTitanium the HavNav & Focus is only the left 45 pixels of the screen. My thought is something like this "might" give the rest of the screen the Focus action & therefore launching ActionURL outside of the Focus area. Will need to play with the OnAction Code to see if it will work & what is the correct code to use.

I hope you don't have overseen it: http://forum.xda-developers.com/showpost.php?p=4465671&postcount=47
@sleepyxda, jumba: Thank you
And what's good to know:You mustn't use Titanium_....cpr - - works with each other cpr, too. Tested it a little bit with Panex+Library

MichelDiamond said:
I hope you don't have overseen it: http://forum.xda-developers.com/showpost.php?p=4465671&postcount=47
@sleepyxda, jumba: Thank you
And what's good to know:You mustn't use Titanium_....cpr - - works with each other cpr, too. Tested it a little bit with Panex+Library
Click to expand...
Click to collapse
I saw, still trying, just a matter of figuring out what the process is called. It is a deffined action so should be possible.

Only remark for JMLToday V5.5. - it still works in the same way to skin Appointments and SMS (Post #4)
Cheers
Micha

Related

Manila2D - Modifying

Please insert here all things for modifying ....
HTCHomeSettings.xml -> there you can enable disable the tabs + ordering ...
Code:
<Tabs>
<HomeWidget enable="1" tab_bg_icon="7,8" tab_icon="69,70" big_icon="29,30" />
<MessagingWidget enable="1" tab_bg_icon="15,16" tab_icon="115,165" big_icon="37,38" />
<EmailWidget enable="1" tab_bg_icon="11,12" tab_icon="111,112" big_icon="33,34" />
<PeopleWidget enable="1" tab_bg_icon="19,20" tab_icon="168,169" big_icon="59,60" />
<WeatherWidget enable="1" tab_bg_icon="27,28" tab_icon="176,177" big_icon="67,68" />
<LauncherWidget enable="1" tab_bg_icon="23,24" tab_icon="172,173" big_icon="63,64" />
<MusicWidget enable="1" tab_bg_icon="17,18" tab_icon="166,167" big_icon="39,58" />
<PhotoWidget enable="1" tab_bg_icon="21,22" tab_icon="170,171" big_icon="61,62" />
<InternetWidget enable="1" tab_bg_icon="9,10" tab_icon="71,110" big_icon="31,32" />
<OperatorWidget enable="0" tab_bg_icon="120,129" tab_icon="145,147" big_icon="200,218" />
<MyFavesWidget enable="0" tab_bg_icon="219,220" tab_icon="221,222" big_icon="223,224" />
<LocationWidget enable="1" tab_bg_icon="13,14" tab_icon="113,114" big_icon="35,36" />
<SettingsWidget enable="1" tab_bg_icon="25,26" tab_icon="174,175" big_icon="65,66" />
</Tabs>
Skins: http://forum.xda-developers.com/showthread.php?t=425974
Sick! Thanks!
Enabled the operator widget to see what it was. I was hoping for some "LEET HAX AT&T FOR GREAT JUSTICE"
It's not... but I think it will learn me a little.
so where is this xml file?
ANSWER: somewhere in \Windows
The file is already under \Windows\
Do NOT use the quoted lines as your xml file. There is a lot more not contained in that block of text.
Why did you open another thread for this? It has already been covered in the main thread and the skinning thread.
what ARE the operator and MyFaves widgets?
Because we need to figure out how to get other things on the home screen (if possible) and how to increase the count of next appointments! Then we can take over the world!
More cowbell!
i tried to enable the myfaves and operator tabs and my touchflo just didnt even start anymore, anyone have any luck with those?
blazingwolf said:
Why did you open another thread for this? It has already been covered in the main thread and the skinning thread.
Click to expand...
Click to collapse
probably because the other thread moves too damn fast and its too much info at one time.. This Thread is a good Idea because it singles out one aspect of modifying manilla2d
? bout modifiing tabs
Has anyone figured out how to keep mods after softreset. I think in the skin thread they mentioned no being able to.
Damn this is awesome. reminds me when kinetic scrolling and touch cube were introduced. I cant wait to see what the week brings.
Add more Items on Internet Page
Want to add a program like Internet Explorer under the Youtube Icon on the Internet Page?
Goto settings\today and unselect Touchflo, then with your fav regeditor...
HKLM\Software\HTC\Manila2d\InternetWidget\Customized
The Key 0 holds the info for the Youtube Program, change it if you want or...
1. Change CustomizedCount to 2. (Keep incrementing for each item you place on the page.)
2. Add a new key "1" (2,3, etc for each item you add)
3. In Key 1,
.... add string "CustomizedIcon" value=\windows\Earth.bmp ( I used HH_INTERNET_EARTH.bmp and resized it to 22*23 pixels and named it Earth.bmp)
.... add string "CustomizedTitle" value= "Internet Explorer"
.... add string "CustomizedURL" value= \Windows\iexplore.exe
.... add DWORD "NoDescription" value= 1 (dec)
Exit regeditor and then go to settings and reselect Touchflo
The String "CustomizedDescription" with text for the value doesn't seem to work. I imagined it would show a popup of sorts when the icon was held but nothing.
Enjoy...
Anyone figured out how the YouTube-Broadcast Yourself link got on the Internet page? Thought it might be from my favorites in Opera but when deleted from favorites it's still there.
Change Internet Link on Internet Page
You've probably already realized it but just in case you haven't
HKLM\Software\HTC\Manila2d\InternetWidget\Customized
"BannerURL" change value to your favorite start page, properly formated
"BannerURLText" change value to, well you get it
Any idea how to adjust the weather icon position
and also why is the audio manager keep starting even we never trun it on
how to stop it from running till we want it to be run
thanks for the info about the tab
Artanis said:
Has anyone figured out how to keep mods after softreset. I think in the skin thread they mentioned no being able to.
Damn this is awesome. reminds me when kinetic scrolling and touch cube were introduced. I cant wait to see what the week brings.
Click to expand...
Click to collapse
I know, it's f'in awesome to see everyone getting together, creating new things, ripping TF2D for other HTC devices, modifying and bettering it. It just adds to what makes owning a WM device so great. *tear* lol
i just need a place to add some additional today plugins. is that possible?
when i click on browser never opens, what browser do i need to install or link it to and how ?... im still reading the other thread...
manila2d works fast on my wing and i dont have it overclocked... Might have to use this for a while and test it out
kwill said:
i just need a place to add some additional today plugins. is that possible?
Click to expand...
Click to collapse
Yes adding thumbcal or other calendar as a tab would be great!
I played with the HTCHomeSettings.xml file changed this line to move the weather picture down
<Property name="IDWEWG_WEATHER_POS" id="17" value="58,35,165,45" />
in value,
first digit(58) is the X place of picture
second (35) is the Y place of picture
what the other two number mean i dont know..
And also i moved by pixels some up and down arrows in weather and in messages tab but again there is the X & Y place and there are additional number i didnt know what they mean
So who knows what each number meaning please post explanation
I agree, without additional plugins Manila2D isn't that useful - I cannot live without SPB Phone Suite and MVBKLight...
Guys,
Keep heads up as Herg saying.
This app has just two days and it's beta. So don't except really much now guys. It's good to post suggestions anyway.
I'm using this app as normal today plugin It's great for me, and I'm waiting for improvments too. For example:
I think its the first step to make TF3D ,
Plugins as Tab would be usefull...
Landscape mode for Kaiser?
There is still many things to do. But its great app.

Please explain how to make first letter a 'Capital' on titanium home

What programs do you need, and how do you do it?
I've got a basic understanding of the methods (mui stuff) and I DO understand the technical bits. I don't really want to dismantle a ROM just to change some letters, and you'd think there would be a variable in there somewhere with those text strings.
Right now I've got capitals and non capitals on my home screen and its kinda unsightly..
Thanks all!
Found an answer somewhere else....
Use Total Commander, go to your windows folder, scroll till you get to Titanium, use Total commander edit function to open the cpr file for edit.
Look for the items that show up in our today screen, they come as "Expanded" and "Condensed". The condensed is your focus here.
So let's take "favorites" for our example:_ scroll to FavoritesCondensed,
4th line there reads like this:
<Text ID="PluginLabel" Left="10" Top="4" Width="300" Height="34"> FontFamily="Tahoma" FontSize="18" FontStyle="Regular" Wrap="False" VerticalAlignment="Top" Trimming="EllipsisCharacter" InnerTextType="Resource" Text="chomeres.dll,1025">
Okay so the [InnerTextType="Resource"] has to be deleted, then edit Text as Text="Favorites" but hey, that gives you the internet explorer so you can as well write Internet there. So your edited line look like this:
<Text ID="PluginLabel" Left="10" Top="4" Width="300" Height="34"> FontFamily="Tahoma" FontSize="18" FontStyle="Regular" Wrap="False" VerticalAlignment="Top" Trimming="EllipsisCharacter" Text="InternetExplorer">
So you do likewise with the remaining items and you can give them whatever name you want.
If you are going to use this info then pls hit the Thanks button hard. I dont know why but it makes me do more.
Click to expand...
Click to collapse
use chome editor
carcomp said:
What programs do you need, and how do you do it?
I've got a basic understanding of the methods (mui stuff) and I DO understand the technical bits. I don't really want to dismantle a ROM just to change some letters, and you'd think there would be a variable in there somewhere with those text strings.
Right now I've got capitals and non capitals on my home screen and its kinda unsightly..
Thanks all!
Click to expand...
Click to collapse
To have Capitals for the Titanium's default plugins you need to replace the cmhomeres.dll.0409.mui with the patched one I'm attaching in this post. Copy it to Windows folder on your device and restart Titanium.
FInixNOver said:
To have Capitals for the Titanium's default plugins you need to replace the cmhomeres.dll.0409.mui with the patched one I'm attaching in this post. Copy it to Windows folder on your device and restart Titanium.
Click to expand...
Click to collapse
Anyone confirm this is working???

How to Add Buttons Binded to Apps/Etc to Titanium aka CHome (Beta 1) WORKING!!!

First & foremost, THANK to TWOLF for help with the scripts.
Please read all posts on first 4-5 pages as they contain a lot of the development process as well. I'll update This Post @ a later date with a more thorough Walkthrough & any corrections if needed.
Hello, what I am doing here is trying to add a click-able button that when pressed will lauch a function (App/Contact Shortcuts, Next/Play/Stop/Previous for players, etc.).
Here's a basic Walkthrough. Hope all understand me lol.
The Button code goes between
Code:
<Layer ID="CMultiClockExpanded" Visible="False" Width="240" Height="104" Clip="False">
&
Code:
<Layer ID="Page" Clip="False">
.
You shouldn't be deleting any existing code. Just add the button between those lines. All images/text in the Button Code HAVE to be source=""/text="". Otherwise they won't show. You can put the icon and text in the
Code:
<Layer ID="Page" Clip="False">
</Layer>
section and just line it up with your buttons. This is the best way to do multiple pages. The Buttons will be static across all pages but the text & icons for them will be Dynamic through the registry as normal. For the links to be dynamic across dif. pages, you'll need a special color code in the script & page for each page as well as each button. In which case the button code will look like this,
Code:
<Button ID="12H25HDisplay" Width="52" Height="38" Top="35" Left="186" Clip="False" >
<ControlSequence ID="ButtonDownSequence" FramesPerSecond="15" Loop="True" LoopCount="4" Clip="False">
<Image ID="ButtonDown" Top="-4" Left="-4" Width="60" Height="46" Opacity="1.0" ScalingAlgorithm="TriLinear" Source="(IMAGEURL)" />
</ControlSequence>
<Layer ID="ButtonUpLayer" Clip="False">
<Image ID="ButtonUp" Width="52" Height="38" Visible="True" Opacity="1.0" ScalingAlgorithm="TriLinear" Source="(IMAGEURL)"/>
</Layer>
My multi button script with 1 page color pixel is attached. In the script color_code0 is the plugin/page activation, & color_code1 is for the buttons.
Screenshot,
NOTE:RED dots turn GREEN to activate button, BLUE dots (only need one & it should be a seperate color for each page) activate the code for the Plugin/Page this way it does run 24/7 & increases performance.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hope this helps....
Donators to Date:
Code:
[COLOR="Blue"]generalmills $200 CAD[/COLOR]
Here's a video of what I got so far.
Youtube
I don't under stand
I'm trying but when I push the buttom nothings happened
any where I do wrong?
Code:
<Layer ID="GProgramsExpanded" Width="240" Height="84" Visible="False" Clip="False">
<Button ID="AppLaunch1" Width="61" Height="71" Top="2" Left="110" OnInitComplete="Binding:URL,\ProgramFiles\CHomeEditor\CHomeEditor.exe" >
<ControlSequence ID="ButtonDownSequence" FramesPerSecond="4" Loop="False" >
<Image ID="ButtonDown" Top="0" Width="61" Height="71" Opacity="1.0" ScalingAlgorithm = "TriLinear" Source="\windows\LS_KeyPadButton_Dwn.png" />
</ControlSequence>
<Layer ID="ButtonUpLayer">
<Image ID="ButtonUp" Width="61" Height="71" Visible="True" Opacity="1.0" ScalingAlgorithm = "TriLinear" Source="\windows\LS_KeypadButton.png"/>
</Layer>
<Image Left="10" Top="5" Width="41" Height="41" Visible="True" Opacity="1.0" ScalingAlgorithm = "TriLinear" Source="\Neo\Neo_Settings_Settings.png"/>
<Text ID="AppText" Left="5" Top="46" Width="51" Height="20" FontFamily="Control Freak" FontStyle="Regular" FontSize="8" Wrap="True" HorizontalAlignment="Center" Trimming="EllipsisCharacter" Text="CHome Editor"></Text>
</Button>
<Image ID="AppIcon" Left="2" Top="2" Width="41" Height="41" ScaleStyle="Stretch" Source="\Neo\Neo_Clock.png"/>
<Layer ID="Page" Clip="False">
<Image ID="Icon" Left="9" Top="-37" Width="43" Height="57" />
<Image ID="PICTURES" Left="187" Top="20" Width="43" Height="40" ScaleStyle="Fit">
<Layer ID="Border2" Left="-1" Top="-1" Width="45" Height="45" Visible="True" Color="#FFFFFFFF" />
</Image>
<Text ID="TEXT1" Left="-73" Top="23" Width="250" Height="42" FontFamily="Tahoma" FontSize="12" FontStyle="Bold" Wrap="False" Trimming="EllipsisCharacter" VerticalAlignment="Top" HorizontalAlignment="Right">
<TextStage TextOffsetType="TextOffsetDropBottomRight" Color="#00000000" TextOffset="1" BlurFactor="3" />
<TextStage TextOffsetType="TextOffsetNone" Color="#FFFFFFFF" />
</Text>
<Text ID="TEXT2" Left="-73" Top="43" Width="250" Height="15" FontFamily="Tahoma" FontSize="9" FontStyle="Regular" Wrap="False" Trimming="EllipsisCharacter" VerticalAlignment="Top" HorizontalAlignment="Right">
<TextStage TextOffsetType="TextOffsetDropBottomRight" Color="#00000000" TextOffset="1" BlurFactor="3" />
<TextStage TextOffsetType="TextOffsetNone" Color="#FFFFFFFF" />
</Text>
</Layer>
</Layer>
kane159 said:
I don't under stand
I'm trying but when I push the buttom nothings happened
any where I do wrong?
Click to expand...
Click to collapse
Nope, that's why it's "Under Developement". Still need to break the code that binds the button. Been trying, my latest though is maybe using Mortscript to recognize the button press and launch the app.
ummmm.....I mean nothings happened is button didn't changes to show it's pressed....that work right? or that is "Under Developement" too
Oh ok, from what I see the code is correct. The button "should" animate. It does so for me. Check my video above. Try pressing it harder, I've notice light short press won't register. You have to "really" press the button for at least 1 full second.
EDIT: This can be used as is to make the "Focus Selection Panel" animate on finger press when switching between panels or activating ACTIONURL. Here's an exple of my Navbar Code. (NOTE: You need to make the images linked in the button code).
Code:
<TitaniumListView ID="HomeNav" Width="45" Height="268" Columns="1" Rows="100" ItemWidth="45" ItemHeight="39" Clip="False" >
<Layer ID="Focus" Width="240" Height="45" Clip="False">
<Image ID="Image Default" Left="0" Top="-7" Width="65" Height="65" ScalingAlgorithm = "TriLinear" Opacity="0.0" />
<ControlSequence ID="ActionSequence" FramesPerSecond="30" Loop="False" Visible="False" >
<Image ID="Image1" Left="0" Top="-7" Width="55" Height="65" ScalingAlgorithm = "TriLinear" Opacity="1.0" Source="\Neo\Neo_FocusPanel_Action_Portrait.png" />
</ControlSequence>
[COLOR="Blue"] <Button ID="SelectorPanel" Width="65" Height="65" Top="0" Left="0" Clip="False">
<ControlSequence ID="ButtonDownSequence" FramesPerSecond="30" Loop="True" LoopCount="10" Clip="False">
<Image ID="Sequence00" Top="-7" Width="65" Height="65" Opacity="1.0" ScalingAlgorithm = "TriLinear" Source="\Neo\Neo_FocusPanel_Action_Portrait.png" />
</ControlSequence>
<Layer ID="ButtonUpLayer">
<Image ID="ImageImage" Source="\Neo\Neo_Focus_Panel_Portrait.png" Left="0" Top="-7" Width="65" Height="65" ScalingAlgorithm="TriLinear" Opacity="1.0" />
</Layer>
</Button>[/COLOR]
</Layer>
<Layer ID="ListItem" Visible="False" />
<Layer ID="No Items" Opacity="0">
<Text ID="Text" Width="100" Height="19" FontFamily="Control Freak" FontSize="9" FontStyle="Bold" Wrap="False" Trimming="EllipsisCharacter" Clip="False" >No Items</Text>
</Layer>
</TitaniumListView>
I puss it over 20 sec and still not things happened
am I put the code the wrong place??
I put it before <Layer ID="Page" Clip="False">
kane159 said:
I puss it over 20 sec and still not things happened
am I put the code the wrong place??
I put it before <Layer ID="Page" Clip="False">
Click to expand...
Click to collapse
Nope, I've placed in before & after the "Page" code and have it work although after makes multiple buttons not display correctly. Maybe it's because you're using default Titanium and the ActionURL/Navbar space covers your button & may have higher priority than the button laying under it.
EDIT: Check the about post for a sample of how to make all panels have a animated Selection Panel.
can you give me your \Neo\Neo_Focus_Panel_Portrait.png and \Neo\Neo_FocusPanel_Action_Portrait.png let me test??
this is how it looks like when I push it
kane159 said:
can you give me your \Neo\Neo_Focus_Panel_Portrait.png and \Neo\Neo_FocusPanel_Action_Portrait.png let me test??
this is how it looks like when I push it
Click to expand...
Click to collapse
Copy the following Code & Install CAB.
Portrait Code:
Code:
<Layer ID="Focus" Width="240" Height="65" Clip="False">
<Image ID="Image Default" Left="0" Top="0" Width="240" Height="65" ScalingAlgorithm = "TriLinear" Opacity="0.0" />
<ControlSequence ID="ActionSequence" FramesPerSecond="30" Loop="False" Visible="False" >
<Image ID="Image1" Left="0" Top="0" Width="240" Height="65" ScalingAlgorithm = "TriLinear" Opacity="1.0" Source="\Neo\Neo_FocusPanel_Action_Portrait.png" />
</ControlSequence>
<Button ID="SelectorPanel" Width="240" Height="65" Top="0" Left="0" Clip="False">
<ControlSequence ID="ButtonDownSequence" FramesPerSecond="30" Loop="True" LoopCount="10" Clip="False">
<Image ID="Sequence00" Top="0" Width="240" Height="65" Opacity="1.0" ScalingAlgorithm = "TriLinear" Source="\Neo\Neo_FocusPanel_Action_Portrait.png" />
</ControlSequence>
<Layer ID="ButtonUpLayer">
<Image ID="ImageImage" Source="\Neo\Neo_Focus_Panel_Portrait.png" Left="0" Top="0" Width="240" Height="65" ScalingAlgorithm="TriLinear" Opacity="1.0" />
</Layer>
</Button>
</Layer>
Landscape Code:
Code:
<Layer ID="Focus" Width="240" Height="65" Clip="False">
<Image ID="Image Default" Left="0" Top="0" Width="320" Height="65" ScalingAlgorithm = "TriLinear" Opacity="0.0" />
<ControlSequence ID="ActionSequence" FramesPerSecond="30" Loop="False" Visible="False" >
<Image ID="Image1" Left="0" Top="0" Width="320" Height="65" ScalingAlgorithm = "TriLinear" Opacity="1.0" Source="\Neo\Neo_FocusPanel_Action_Portrait.png" />
</ControlSequence>
<Button ID="SelectorPanel" Width="320" Height="65" Top="0" Left="0" Clip="False">
<ControlSequence ID="ButtonDownSequence" FramesPerSecond="30" Loop="True" LoopCount="10" Clip="False">
<Image ID="Sequence00" Top="0" Width="320" Height="65" Opacity="1.0" ScalingAlgorithm = "TriLinear" Source="\Neo\Neo_FocusPanel_Action_Portrait.png" />
</ControlSequence>
<Layer ID="ButtonUpLayer">
<Image ID="ImageImage" Source="\Neo\Neo_Focus_Panel_Portrait.png" Left="0" Top="0" Width="320" Height="65" ScalingAlgorithm="TriLinear" Opacity="1.0" />
</Layer>
</Button>
</Layer>
@ twolf
ok, here's the screen shot. The Yellow Pixel is on the unpressed button & Green is on the pressed button for testing purposes. My device is QVGA. Both Pixels are on the same X/Y position for simplicity.
Also, on finished product, I can add a Virtual LED to the button that doubles for the purpose of the Script & Camouflaging.
EDIT: In order for a button to be "Press-ible", The HomeNav can't cover it. In my example below you see the width is only 45 Pixels. This means only the left most 45 pixels are used for changing panels/pages. The rest of the screen is free for buttons than.
Code:
<TitaniumListView ID="HomeNav" Width="45" Height="268" Columns="1" Rows="100" ItemWidth="45" ItemHeight="39" Clip="False" >
Just made Contact/App Shortcut Button Images btw.
The Images;
Example of Finished Icon Button;
Sorry, only had time to look at this now.
You didnt mentioned if you have a QVGA, based on your screenshots, I'm assuming you do.
Will make the script now.
OK, heres what I did, these are the scripts, the printscreens were in JPG format, so the location was hard to get, but I believe these are right.
To test:
----------
- Extract the files anywhere on your PPC.
- Run check_color.mscr
- One script starts and other stops (kills) the test.
- For now its only trying to read the first button press and starts MS WORD on pressed.
- All this is changeable on the MSCR file.
Its already fixed for QVGA and VGA (not tested) but I couldnt get a correct color reading on the image, again because of the JPG compression, so I changed it to the default bright green #00FF00 :
Bear in mind that Mortscript doesnt read the color in hexadecimal format, so I added a commented message on the test, to see what is the color number.
To use the test simply remove the # in front of the MESSAGE and change the seconds loop to 5000 (5 seconds) instead of 500 (half a second), so that you dont get flooded with messages.
twolf said:
OK, heres what I did, these are the scripts, the printscreens were in JPG format, so the location was hard to get, but I believe these are right.
To test:
----------
- Extract the files anywhere on your PPC.
- Run check_color.mscr
- One script starts and other stops (kills) the test.
- For now its only trying to read the first button press and starts MS WORD on pressed.
- All this is changeable on the MSCR file.
Its already fixed for QVGA and VGA (not tested) but I couldnt get a correct color reading on the image, again because of the JPG compression, so I changed it to the default bright green #00FF00 :
Bear in mind that Mortscript doesnt read the color in hexadecimal format, so I added a commented message on the test, to see what is the color number.
To use the test simply remove the # in front of the MESSAGE and change the seconds loop to 5000 (5 seconds) instead of 500 (half a second), so that you dont get flooded with messages.
Click to expand...
Click to collapse
Actually I did state my device is QVGA lol, but any who.
Ok, made a few changes to the script. First made it read a registry key to easily change the program url. Also, got the color codes, Yellow = 3273727 & Green = 4360704. Also had to change the program launched as my ROM doesn't have Office installed. here's the new script & a video showing that IT WORKS!!!
YouTube Video
EDIT: Made a couple changes due to bugs. Reduced the loop count of the button animation from 5 to 2 as this was causing the script to to reload the shortcut when you went back to titanium and the Animation was still active. Also, reduced the "sleep" in the script from 500 to 100 as the shorter animation wouldn't always be caught.
Cool.
Now that its working for sure we have to:
- Create a "hidden" pixel much like the color codes I did for my plugin pages, so that the script only kicks in when your plugin is selected.
- Make sure the RUN command is only runned once, giving it a couple of seconds before accept the same link.
- Create a design with the final layout so that we can get all the correct x/y values for each button.
- Add those values into a much simpler script with a dynamic array, so that we dont have to duplicate the code as many times as there are buttons.
- Create the X/Y database for different screen sizes (this is direcly connected to the PLG).
- When the "hidden" pixel is not present (when the user is in another plugin), the script is silently killed, so that it doesnt hog the RAM.
Also, an ideia... I know this defeats the purpose of the buttons, but a extra menu, like WM5 NEW MENU or kvvQuickMenu, can be very usefull for specific buttons with extra uses, like "NEW SMS" and "OPEN INBOX", for example...
twolf said:
Cool.
Now that its working for sure we have to:
- Create a "hidden" pixel much like the color codes I did for my plugin pages, so that the script only kicks in when your plugin is selected.
- Make sure the RUN command is only runned once, giving it a couple of seconds before accept the same link.
- Create a design with the final layout so that we can get all the correct x/y values for each button.
- Add those values into a much simpler script with a dynamic array, so that we dont have to duplicate the code as many times as there are buttons.
- Create the X/Y database for different screen sizes (this is direcly connected to the PLG).
- When the "hidden" pixel is not present (when the user is in another plugin), the script is silently killed, so that it doesnt hog the RAM.
Also, an ideia... I know this defeats the purpose of the buttons, but a extra menu, like WM5 NEW MENU or kvvQuickMenu, can be very usefull for specific buttons with extra uses, like "NEW SMS" and "OPEN INBOX", for example...
Click to expand...
Click to collapse
Another thought I had last night is, having 1 pixel for page as well. The Button may show on all pages but if we tell it what panel & what page through pixels. Then, you can have multiple pages. The Shortcut ICON & Text can be dynamic across pages while the buttons are static. the script launches the attached shortcut according to the panel/page pixel color codes.
EDIT: Also with your idea of menus. The possiblilities are endless. We can make Titanium act more like M2D or TF3D. For example, a contact launcher, when you click on the contact button. It opens a menu with "Call", "SMS", "MMS", & "Edit" Options.
hmmmm... That can be done, yes, but if you really create severall pages on the plugin registry, you can add side buttons where a script simulates the left/right keystrokes to make the plugin's pages turn.
and... the default button list can be dynamic...
Mortscript can auto-create a list of the start menu items, apply its links to a small database, use the names of the links as the text for each one (without the ".lnk"), and maybe even (not sure about this one) use the icon of a dll for the icon image on the registry.
Then to update, users would have a mortscript menu (or flash, hehehe) to change the link, name and image of the button, the default text of the link would be the shortcut name.
I only dont recommend flash for this because I still dont have a working BROWSE button for it...
twolf said:
hmmmm... That can be done, yes, but if you really create severall pages on the plugin registry, you can add side buttons where a script simulates the left/right keystrokes to make the plugin's pages turn.
and... the default button list can be dynamic...
Mortscript can auto-create a list of the start menu items, apply its links to a small database, use the names of the links as the text for each one (without the ".lnk"), and maybe even (not sure about this one) use the icon of a dll for the icon image on the registry.
Then to update, users would have a mortscript menu (or flash, hehehe) to change the link, name and image of the button, the default text of the link would be the shortcut name.
I only dont recommend flash for this because I still dont have a working BROWSE button for it...
Click to expand...
Click to collapse
Yeah, thought about the page buttons last night as well. One thing I've noticed with NeoTitanium is that changing page via gestures is tricky. So having buttons for changing pages is much better for users without a D-Pad or who at least don't use it.
Also, check my last post "Edit".
Oh, yes, menus for contacts is a great idea, tomorrow ill start working on the dynamic arrays for mutiple buttons.
The script has to:
-------------------
- check every 1 second (?) if the user is on your plugin.
- If it is, check every 1 (?) second on what page it is.
- and check every 1 second if any button is pressed (green).
- If it is green, read and open X button link of the X page.
- Save that click link and only open it again if its been 3 seconds (for slowers button clicks on 200mhz machines).
twolf said:
Oh, yes, menus for contacts is a great idea, tomorrow ill start working on the dynamic arrays for mutiple buttons.
The script has to:
-------------------
- check every 1 second (?) if the user is on your plugin.
- If it is, check every 1 (?) second on what page it is.
- and check every 1 second if any button is pressed (green).
- If it is green, read and open X button link of the X page.
- Save that click link and only open it again if its been 3 seconds (for slowers button clicks on 200mhz machines).
Click to expand...
Click to collapse
Sounds good, right now I have it set to 1/10th of a second on my Kaiser and it works flawlessly with a 2 loopcount of the animation. With that idea I can increase the loopcount to 5 again and reduce the sleep time and not have to worry about the script opening the same shortcut. The only catch is that the animation only finishes when Titanium is onscreen. So the 3 second wait may not work if they have the app opened longer than 3 second.

[CHome aka Titanium Hack] Adding TalkURL Hotkey to Plugins

I just found out that if you add a TalkURL Registry String with a link to an app shortcut to any CHome Directory with ACTIONURL/SK2URL in it. It will launch the linked value when pressing the Green Send Button aka the "Call Button" instead of opening the Phone App.
Example:
Code:
HKLM:Software\Microsoft\CHome\TitaniumWeather\Page1
String
TalkURL = \Windows\Powerexe.exe
NOTE: CHome must be Refreshed after adding/editing this value.
EDIT: Added the Text file I made from extracting all the text out of the cmhome.dll. This is how I've been able to make buttons & found this hack. This text is the root to hacking CHome.
Donators to Date:
Code:
[COLOR="Blue"]generalmills $200 CAD[/COLOR]
great find! thank you again
grate pound
I can change the tools of my plugin now
Hi drkfngthdragnlrd, I think you are, very good for programming "Titanium" Plugins. We have many progs like SPB Weather or Traveller or whatever with a *.dll plugin for the today screen. Do you think it is possible, to create a Titianium Plugin there we can integrate such a *.dll plugin ?
NEO130 said:
Hi drkfngthdragnlrd, I think you are, very good for programming "Titanium" Plugins. We have many progs like SPB Weather or Traveller or whatever with a *.dll plugin for the today screen. Do you think it is possible, to create a Titianium Plugin there we can integrate such a *.dll plugin ?
Click to expand...
Click to collapse
It could be possible I guess. There is mention of SourceType="DLL" in the CHome DLL.
For example in Images;
Code:
<Image ID="ButtonUp" Width="195" Height="186" Opacity="0.0" ScalingAlgorithm="TriLinear" [COLOR="#0000ff"]SourceType="[COLOR="Red"]ImageSourceType[/COLOR]"[/COLOR] [COLOR="Blue"]Source="[COLOR="#ff0000"]ImageSource[/COLOR]"[/COLOR] />
SourceType = NONE/FILE/BUFFER/BITMAP/ICON/DLL
Source = location of the source. If it's a DLL, it should be followed by a comma and the DLL Resource # (You'd have to open the DLL in question to get the resource number).
NOTE: I believe BITMAP/ICON refers to EXE's/DLL's type BITMAPs/ICONs as some have that in a seperate directory inside the EXE/DLL.
Same goes for Text, but SourceType = InnerTextType & Source = Text
InnerTextType = Resource
Text = "Static Text" or "DLL,(Comma) Resource #)
EDIT/NOTE: The Custom Plugin GUID does not accept HARD CODED layouts in the cpr's with Source="what ever" in the line. It always wants to read a registry value. The only work around I found is if you are only using 1 page. Put the code outside of the <Layer ID="Page"></Layer> part of the expanded & condensed layouts.
Example;
Code:
[COLOR="Red"] <Layer ID="TitaniumWeatherCondensed" Visible="False" Width="45" Height="39">[/COLOR]
<!--Icon Image-->
[COLOR="Blue"] <Image ID="Icon" Left="2" Top="4" Width="31" Height="31" ScaleStyle="Stretch" Source="\Neo\Neo_Weather.png" />[/COLOR]
[COLOR="#ff0000"] <Layer ID="Page">
</Layer>
</Layer>[/COLOR]
??????????????? thanks, but this is the look like for me. What I or we need is a normal Titanium Plugin cab, in this we have a menu that we told them where the *.dll Plugin from the program is. I hope you understand my lazy wish.
This could be interesting for another purpose, drgn.. I should make a little investigation.
Another question - have you ever seen a possibility to change the angle or the opacity of an image by a registry value instead of hardcoded in a .plg?
Micha
MichelDiamond said:
This could be interesting for another purpose, drgn.. I should make a little investigation.
Another question - have you ever seen a possibility to change the angle or the opacity of an image by a registry value instead of hardcoded in a .plg?
Micha
Click to expand...
Click to collapse
I have not figured that out yet. If possible, I'll see if I can figure it out.
Cool - you know what it would mean, if that would be work - in combination with the buttons - I don't think that then anybody would use TouchFlo anymore...

CHome aka Titanium Built in Contact Plugin

Just figured I'd mention there's a Built in Contact Plugin for CHome aka Titanium. How to get it to work, I have no clue. I noticed there were 2 GUID's not being used a while back listed in the cmhome.dll. I also just notice in cmhomeres.dll there's string 1200-1207 for this plugin. The plugin is called CHomeFavPeople. In order to get it to work, we'd need to find out what the Layout is for it & registries it requires, plus which GUID it uses. I am posting this incase anyone wants to work on getting it functioning.
Here's a list of all GUID's
Code:
{3238D733-D47B-4732-9A8F-CD5A8D9A65ED} CHomeFavs (Program Shortcuts)
{52CD6A6E-9404-4e1c-82DB-CD715B884017} CEmail (Email)
{72233649-3771-4770-B02F-129750B7AE6B} CText (SMSMMS)
{A29AD55D-EE3C-4721-9A4C-9A720D70CA33} CVoicemail (Voicemail)
{EBB3B89E-B3E5-46e2-BFAF-F55FBCA98BA1} CPhone (Missed Calls)
{F0A1B246-6E64-40cd-8E15-347D29FF6F18} "Custom Plugins" (Any user made Plugin)
[COLOR="Blue"]{7D91E036-4511-4e59-8392-9A5861BF551E}
{4BBA9132-366E-4F52-B4B0-8BA302195831} [/COLOR]
{3C3EA205-72F9-48a2-A9E5-8277114608CF} CMyFaves (T-Mobile MyFaves App)
{97343B9B-5BB5-474d-98AA-E4CD2DD0A873} CWelcomeCenter (Welcome Center aka Getting Started)
{AB650274-9A5A-458b-893F-6FB601437979} CWindowsLive (Windows Live Messenger app)
{3255042D-AE66-4cf7-AD1D-718C3004DBE9} CTestUIPlugin (Dev Tool)
{892B90CB-9806-427E-8BED-F45C6A9E576B} CClock (Clock)
{D7B35490-A4B2-4ef4-BF8D-332C4979F14E} CAppointments (Calendar aka Appointments)
{06BC7E69-CE13-4028-9454-C27A32F56197} CMusic (WMP)
{E98FBDCC-6664-4c5b-BB62-20932ED37762} CHome (Missed Calls/Voicemail/SMSMMS/Email)
{C5A51777-B837-447d-8947-FAF3FF9D570B} CLinks (Internet Explorer Favorites Shortcuts)
{1DE8DD6B-D74D-4d2e-A8C3-72439F2B8402} Settings (Setting Shortcuts)
{4F612B1A-E470-4b31-9386-AC396AEDAAF9} CMyPhotos (Picture Viewer)
{3FD3C828-753F-48f9-BEA9-6201F64B5F58} CMessage (SMSMMS/Email)
{892B90CB-9806-427e-8BED-F45C6A9E576B} Docked CClock* (Clock when displayed as "Docked Operator Bar". Appears in base CHome directory)
I noted next to the GUID which plugin it is for. You'll notice 2 are not noted. So it must use one of those 2 GUID's.
The Contact plugin also looks for the following Images.
Code:
\CHomeFavPeoplecontactMethodim.png
\CHomeFavPeoplecontactMethodemail.png
\CHomeFavPeoplecontactMethodtxt.png
\CHomeFavPeoplecontactMethodhome.png
\CHomeFavPeoplecontactMethodwork.png
\CHomeFavPeoplecontactMethodmobile.png
You'll need to figure out what the Image Registries are, plus the GUID.
I think this may be the layout as I have no clue where it came from in my CPR's.
Code:
<Layer ID="ContactsExpanded" Width="240" Height="104" Visible="False" Clip="False">
<Image ID="Icon" Left="2" Top="2" Width="41" Height="41" ScaleStyle="Stretch" Source="\Neo\Neo_Favorite.png" />
<Layer ID="Page" Clip="False">
<Image ID="PICTURES" Left="110" Top="-72" Width="70" Height="70" ScaleStyle="Stretch" />
<Text ID="TEXT1" Left="53" Top="79" Width="189" Height="38" FontFamily="Control Freak" FontSize="12" FontStyle="Bold" Wrap="False" Trimming="EllipsisCharacter" VerticalAlignment="Top" Clip="False">
<TextStage TextOffsetType="TextOffsetDropCenterCenter" Color="#00000000" TextOffset="2" BlurFactor="2" />
<TextStage TextOffsetType="TextOffsetOutline" Color="#ffffffff" Alpha="0" />
<TextStage TextOffsetType="TextOffsetNone" Color="#ffffffff" />
</Text>
<Text ID="TEXT2" Left="53" Top="117" Width="189" Height="38" FontFamily="Control Freak" FontSize="12" FontStyle="Regular" Wrap="True" Trimming="EllipsisCharacter" VerticalAlignment="Top" Clip="False">
<TextStage TextOffsetType="TextOffsetDropCenterCenter" Color="#00000000" TextOffset="2" BlurFactor="2" />
<TextStage TextOffsetType="TextOffsetOutline" Color="#ffffffff" Alpha="0" />
<TextStage TextOffsetType="TextOffsetNone" Color="#ffffffff" />
</Text>
</Layer>
</Layer>
<Layer ID="ContactsCondensed" Width="45" Height="39" Visible="False">
<Image ID="Icon" Left="7" Top="7" Width="25" Height="25" ScaleStyle="Stretch" Source="\Neo\Neo_Favorite.png" />
<Layer ID="Page" />
</Layer>
Note: It has been edited for my NeoTitanium skin, but the original should exist if someone still has older Titanium or Sliding Panels cpr's as it's where I got it from.
Hi drkfngthdragnlrd:
I was reading a chome.txt file that you published time ago, and I wondering if maybe this "options" let us run a comand or program when we change pages inside a panel:
CHomePageSwitching
CGestureEventArgs
Or maybe exist other options too.
ryomahino said:
Hi drkfngthdragnlrd:
I was reading a chome.txt file that you published time ago, and I wondering if maybe this "options" let us run a comand or program when we change pages inside a panel:
CHomePageSwitching
CGestureEventArgs
Or maybe exist other options too.
Click to expand...
Click to collapse
I'm not quite sure what you mean, but I can tell you that WMP is NOT Pages. It is a single page plugin. The Arrows used are not the Page Arrows. That's why there are MPI's & NPI's. One set is for Pages, the other is used by WMP.
EDIT: I may be wrong but I think MPI=MultiPageIndicator & NPI=NextPreviousIndicator.
hay man seems you really enjoy studing Titanium
grate work, keep it on, hope I can help,but the new 23037's Titanium is too buggy to use,
so I cook without it
maybe you can also find a fix for 2303X's Titanium too
keep it on , you are my last hope , i tried too many ways to fix but is too tired and the layout is not as beautiful as the original one
I must to say you always do grate work
kane159 said:
hay man seems you really enjoy studing Titanium
grate work, keep it on, hope I can help,but the new 23037's Titanium is too buggy to use,
so I cook without it
maybe you can also find a fix for 2303X's Titanium too
keep it on , you are my last hope , i tried too many ways to fix but is too tired and the layout is not as beautiful as the original one
I must to say you always do grate work
Click to expand...
Click to collapse
I haven't really experienced any problems with Titanium. I have seen it posted a lot & someone posted saying they just replaced the files with the Titanium Files from older builds & fixed the issue. The only thing I've noticed is certain custom plugin such as CMultiClock, the animation bug is worse. I managed to reduce the bug by editing the image codes. I added ScalingAlgorithm="TriLinear" to all Image Lines & removes the Clip="False" from them. Clip="False should only appear in <Layer tags.
ya i had tried your solution, but it's not totoly fix in the original theme
can I put on my cpr file and my reg key?
maybe you are the one only really know Titanium on XDA...
I already call too much ppl to help, but they are unable to help themselves
kane159 said:
ya i had tried your solution, but it's not totoly fix in the original theme
can I put on my cpr file and my reg key?
maybe you are the one only really know Titanium on XDA...
I already call too much ppl to help, but they are unable to help themselves
Click to expand...
Click to collapse
It is not a perfect fix. It just reduces the frequency of the bug appearing. Post your CPR's & I'll look at them. No need for the registries. The CPR controls display.
drkfngthdragnlrd said:
It is not a perfect fix. It just reduces the frequency of the bug appearing. Post your CPR's & I'll look at them. No need for the registries. The CPR controls display.
Click to expand...
Click to collapse
here is my cpr file, thank you my friend you always help me
really really thanks you
kane159 said:
here is my cpr file, thank you my friend you always help me
really really thanks you
Click to expand...
Click to collapse
Ok, what did you change, I can tell from the start that you didn't do what I said at all. Every "<Image" line of code for every Custom Plugin needs to look like this!
Red Values Must Exist! Blue Values can be edited as needed! ScaleStyle can be "Stretch" or "Fit". Scaling Algorithm can be "Fast" or "TriLinear". You can add Source & SourceType if needed. Nothing else is to be added beside those 2 to any <Image line of code. I don't get what's so hard to understand about this. This is what I did, follow my instructions & you won't experience the bug as much. The END!
Code:
[COLOR="Blue"]<[/COLOR][COLOR="DarkRed"]Image[/COLOR] [COLOR="Red"]ID[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]HrBG[/COLOR]" [COLOR="#ff0000"]Left[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]39[/COLOR]" [COLOR="#ff0000"]Top[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]-101[/COLOR]" [COLOR="#ff0000"]Width[/COLOR][COLOR="Blue"]=[/COLOR]"[COLOR="#0000ff"]100[/COLOR]" [COLOR="#ff0000"]Height[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]100[/COLOR]" [COLOR="#ff0000"]ScalingAlgorithm[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]TriLinear[/COLOR]" [COLOR="#ff0000"]ScaleStyle[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]Stretch[/COLOR]" [COLOR="Blue"]/>[/COLOR]
drkfngthdragnlrd said:
Ok, what did you change, I can tell from the start that you didn't do what I said at all. Every "<Image" line of code for every Custom Plugin needs to look like this!
Red Values Must Exist! Blue Values can be edited as needed! ScaleStyle can be "Stretch" or "Fit". Scaling Algorithm can be "Fast" or "TriLinear". You can add Source & SourceType if needed. Nothing else is to be added beside those 2 to any <Image line of code. I don't get what's so hard to understand about this. This is what I did, follow my instructions & you won't experience the bug as much. The END!
Code:
[COLOR="Blue"]<[/COLOR][COLOR="DarkRed"]Image[/COLOR] [COLOR="Red"]ID[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]HrBG[/COLOR]" [COLOR="#ff0000"]Left[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]39[/COLOR]" [COLOR="#ff0000"]Top[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]-101[/COLOR]" [COLOR="#ff0000"]Width[/COLOR][COLOR="Blue"]=[/COLOR]"[COLOR="#0000ff"]100[/COLOR]" [COLOR="#ff0000"]Height[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]100[/COLOR]" [COLOR="#ff0000"]ScalingAlgorithm[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]TriLinear[/COLOR]" [COLOR="#ff0000"]ScaleStyle[/COLOR][COLOR="#0000ff"]=[/COLOR]"[COLOR="#0000ff"]Stretch[/COLOR]" [COLOR="Blue"]/>[/COLOR]
Click to expand...
Click to collapse
no no my friend, this is my original cpr files
you don't tell me whitch should i put on so...
I'll put it later,thanks very much
drkfngthdragnlrd said:
I'm not quite sure what you mean, but I can tell you that WMP is NOT Pages. It is a single page plugin. The Arrows used are not the Page Arrows. That's why there are MPI's & NPI's. One set is for Pages, the other is used by WMP.
EDIT: I may be wrong but I think MPI=MultiPageIndicator & NPI=NextPreviousIndicator.
Click to expand...
Click to collapse
Hi sorry for inconvenience, let me explain you, why I made this question:
I´m trying to perform a better Nitrogen titanium panel; the new version of Nitrogen write in the registry in HKLM\Software\Microsoft\CHome all the info required to Function the panel; and better yet you can run command (like forward, etc) just putting the command after "nitrogen.exe"
Thats why I made that questions: exist any form to perform a command or .lnk when I made lateral swipe inside a panel or maybe pressing this NPI that you mention, to make work this panel like WMP Panel?
Thanks in advance
ryomahino said:
Hi sorry for inconvenience, let me explain you, why I made this question:
I´m trying to perform a better Nitrogen titanium panel; the new version of Nitrogen write in the registry in HKLM\Software\Microsoft\CHome all the info required to Function the panel; and better yet you can run command (like forward, etc) just putting the command after "nitrogen.exe"
Thats why I made that questions: exist any form to perform a command or .lnk when I made lateral swipe inside a panel or maybe pressing this NPI that you mention, to make work this panel like WMP Panel?
Thanks in advance
Click to expand...
Click to collapse
You want to look for my thread on how to add button hotspots to CHome plugins. It's a bit tricky, but is the only way I've managed to do something like what your are talking about, except ot's not swiping, it's press a software button. I believe someone already did this based on Cherish's Plugin. Check in his thread.

Categories

Resources