[Windows Mobile Apps and Games] JMLToday_Team:
<<< How to create your own Skin for JMLToday v6.00 >>>
​

!!! UNDER CONSTRUCTION !!!​

Intro:

Hello World - You like the funktions of JMLToday, but you would like to chance its appearance?

Then you are at the right Thread! Here you can learn how to change Icons, their function, add some new Funtions, change languages and much more!

JMLToday is concepted to be FULL CUSTOMIZEABLE as far as Windows Titanium allows you ;)

Take some time (you will need to have some) and a lot of Ideas and mix them together with your learnt Basics here out of this thread to create YOUR OWN SKIN!

Feel free to Post your Ideas / Questions / Screenshots / Thanks / and other useful stuff!

So let's start customizing!

Overview:

This Post: Basics about JMLToday

2nd Post: How to change Background / WeatherIcons / TodayIcons / JMLPictures

3rd Post: How to change Positions of Icons

4th Post: How to change the Action of Icons / Buttons / Softkeys

5th Post: Commands / available Attributes / aso. for creating a new skin

6th Post: Creating a brand new skin

Basic Folder Structure of JMLToday:

Here is an explanation of folders and their functions:

JMLToday:

Here you can find all Tools (JML[...].exe) which make JMLToday possible. They all are doing the work (like updating registry / building pictures / aso.) for JMLToday and are running in Backgound.

For more Information about JMLTools you schould read this Post: >>> JMLTools <<<

In this Folder there are also all .mnu and .xmu files stored.

.mnu files are "old styled" Menus if you click a defined Icon of JMLToday

.xmu files are "new Sense styled" Menus if you click a defined Icon of JMLToday

Read more about JMLMenuSense and how to create custom Menus here: >>> JMLMenuSense <<<

The last file of this folder you should heard about is JMLToday.ini

[SIZE="3"]
[RunAt]
enable=1
time=07:00
every=120
endTime=21:00
pgm=%JMLTODAY%\JMLMeteo.exe;-jmltoday

[Email]
account=ActiveSync

[Hook]
Screen=1

[Offsets]
New York=-6:00
Moscou=3:30
[/SIZE]

This .ini file controls: AutoUpdate [RunAt]; defaultEmailAccount ; FullscreenMode [Hook] and Time Offsets [Offsets]

[B][U]lang:[/U][/B]

[IMG]http://img132.imageshack.us/img132/9964/contentlangfolder.png[/IMG]

Here are all language translation files stored. One .ini for each language. You can add one in your language if you want - you only have to translate like this:

[CODE][SIZE="3"]

[...]

Parameters=Parameters

CONTACTS=Translation of "CONTACTS" in your preferred language

TASKS=And the same here for "TASKS"

Program=...

[... and so on ...]

[/SIZE][/CODE]

[QUOTE]

[!] Don't change the english description before "=" or correct capital Letters - If you change those the translation won't work!

[!] If you have created a new lang.ini in your language please send it to JMLToday_Team so it can be implemented in updated Versions!

[/QUOTE]

In folder lang is also a [B]Ephemeride2011.fr[/B] existent. This file has to end with your language shoutcut like Ephemeride2011.de or Ephemeride2011.it.

Here you can enter all your birthdays / events / aso. for the whole year. They will be displayed in the left top Corner of JMLToday View under the current date.

[CODE][SIZE="3"]

31/12	New Year's Eve

30/12	Mom

29/12	Dad

28/12	...

[... and so on ...]

[/SIZE][/CODE]

[QUOTE]

[!] One day per line!

[!] Keep format: Day/Month	Event (there's a Tab between Month and Event)!

[!] You have to make a list for every new year!

[/QUOTE]

[B][U]skin:[/U][/B]

In this folder there are all available skins of JMLToday stored (in this Tutorial only "default")

Content of default:

[IMG]http://img715.imageshack.us/img715/2016/contentdefaultfolder.png[/IMG]

In all folders of default there are the needed .png files stored. (The foldernames are explanation enough)

JMLToday_Bkg.png = your current JMLBackground

JMLLang.ini = Translation for right Softkey

JMLSkin.ini = Installation file for new Skins (read more in following Posts)

JMLToday[...].ini = Update files / Registry for you current skin (read more in following Posts)

default.plg = Icon Placement (read more in following Posts)

default.pnx = Icon Action (read more in following Posts)

.xml = Files for JMLPicture (Read JMLTools Thread for more Infos)

[B][U]Basic Registry Structure of JMLToday:[/U][/B]

[U]HKCU:[/U]

All your Data and Settings you need for JMLToday is mainly stored in your Registry under:

[QUOTE]HKCU > Software > JML[/QUOTE]

Here you will find some Keys called:

[QUOTE]Calendar = Subkeys (Cal1 - 5) containing Data of your 5 current Appointments

Comm = Data for your Connections

Contacts = Subkeys (Anniversaries1 - 2) containing Data for your next two BirthdayFavorites

Date = Data for Date

Favorites = Subkeys (Favorite1 - 12) containing Data for your Favorite Program or Contact

Meteo = Subkeys (Current; Day1 - 5) containing Weather Data

Sms = Subkeys (Sms1 - 5) containing last received SMS with according Contactinfo

System = Data of battery / RAM / ROM

Tasks = Subkeys (Task1 - 5) containing your next 5 Tasks

Tel = Telephone Data

Time = Time Data

Total = Missed Calls / eMail / SMS / VoiceMail

[/QUOTE]

All this RegKeys are automatically updated if some Value is changed or created.

Example (not the exactly way but understandable): You enable Bluetooth

Click BLTH.png => JMLComm.exe enables BLTH => JMLComm.exe updates HKCU => JMLComm.exe calls JMLTodayComm.ini => JMLTodayComm.ini updates HKLM => JMLToday displayes new BLTHenabled.png

[U]HKLM:[/U]

While your RawData is stored in HKCU, your needed Data for JMLToday is stored in HKLM.

This has the advantage that you can control (by JMLToday[...].ini files) which Items and Values should be displayed in JMLToday (read more in following Posts)

All Data is stored under:

[QUOTE]HKLM > Software > Microsoft > CHome > JMLToday[/QUOTE]

Here you will find some Keys (every Key is representating one Site of JMLToday) called:

[QUOTE]Calendar = Data for your CalendarPage

CondensedPage = Data for the Page if JMLToday is not active

Favorites = Data for your FavoritesPage

Home = Data for your HomePage

Meteo = Data for your WeatherPage

Param = Parameters for JMLToday

Sms = Data for your SMSPage

Tasks = Data for your TasksPage

[/QUOTE]

Every Value of this Keys is used as "ID" by JMLToday (Example: ID='Time') and this Values are displayed in JMLToday (Example: Here the current Time).