[Windows Mobile Development and Hacking General] MichelDiamond:
#3 Weatherbackground-Skins with Screenhots

Good - now it totally easy - but I want to explain, how every Skinner can use the Library - and now we are at JMLSpecial - the developer interface (look at Post #1)

There is a strict name convention!

But it's easy to know:

After "Updating" (Context Menu - I think with 5.3 will come the automatic update-possibility) - there CAN be called the JMLSpecial-Script.

But it's only called, when it exists - in my example, the .plg (the Skin) has the name "JMLToday_weatherback.plg"

And the corresponding JMLSpecial-File must have following Name: JMLSpecial_<Skin-Name>.mscr

And so the Name of the Calling-Script must be "JMLSpecial_JMLToday_weatherback.mscr"

Do you check the trick? If you want to add something to your Skin or if you want to use the JMLLibrary, you need this JMLSpecial_<the name, how you baptized your Skin>.mscr

So if you want the Background-Changer for your Script... you only have to rename the JMLSpecial_... of this example - nothing else.

Ok - here is the code - the same as above in #2 - there's no need to change something above the ###################, if you want to do something with another Library-Item - the Rest is easy:

# Made by MichelDiamond
# Here: Static - only to set the Path-Variables - nothing to change.

# JMLTodayPath
instPath = SystemPath( "ScriptPath" )

# Path, where Library is to find
LibraryPath = RegRead ("HKLM", "Software\Microsoft\CHome\JMLToday","JMLLibraryPath")

# Path where the common graphics are stored
CommonGraphicPath = RegRead ("HKLM", "Software\Microsoft\CHome\JMLToday","CommonGraphicPath")

########################### Call in Library JMLLib_weatherbackgroundchanger_VGA.mscr

libspecial = LibraryPath&"\JMLLib_weatherbackgroundchanger.mscr"
if (FileExists(libspecial))
CallScript(libspecial)
endif

### Refresh Tianium to show new Pic
Sleep(500)
RunWait(instPath&"\CHomeRefresh.exe","")

Exit

What's the result? - here the screenshots (pay attention to the weathericon and the Titanium-Wallpaer):

JMLToday_weatherback.plg (VGA,QVGA,WVGA,WQVGA) (I didn't changed my double-size-Style - in a "normal" Titanium the panel will have no empty space in the lower half) :

-Update Weather->

Download: *klick*

JMLToday_WM7_Analog_vga_weatherback.plg (VGA,Titanium7-Project) :

-Update Weather->

Download: *klick*

If make here only a .zip and no .cab for the skin... why? Because there's almost no need for a .cab - each Skin has only 2 Files (The .plg and the corresponding JMLSpecial_...mscr) - and not very much people knows how to .cab it international. And to copy the files in a directory - I think it's easier for some people than installing a .cab :)

A .cab is more important for a skin, which uses own Graphics for Weather, Battery,Clocks,... but that will be anoher example.

If you have questions or imrovement proposals for the Library or the JMLSpecials - please answer here in this example-Thread!

And give Feedback how you like it or not :)

If you makeyour own Library-AddOn - make a new Thread or post it in the Skin-Thread - then I will update the Library-Cab (of course with mentioning and praising your name :) )

Very important for all users, who only wants this Backgroundchanger:

You don't need to understand anything above this :)

Only install the JMLLibrary-Cab from Post #2 and take here the Skin, you want and copy the content of the .zip-File into /<Program Files>/JMLToday

Here's the Skins - enjoy your changing Background (and change your Background-Picures in /<Program Files>/JMLLibrary/Graphics/common/weatherbackground how you like it - only the filenames must remain the same. I took for here only some arbitrary pictures, which I found somewhere in xda-devs as wallpaper.

Hope it was good to understand, that you can make your own AddOns

Have Fun!