Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,771,526 Members 50,126 Now Online
XDA Developers Android and Mobile Development Forum

[WM6.X] [Programs] JMLMenuSense - Sense UI Look 'n Feel XML-Menu v1.65 (20-Mar-2011)

Tip us?
 
JMHL
Old
(Last edited by JMHL; 7th August 2011 at 05:00 PM.) Reason: New Version
#1  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
Default [WM6.X] [Programs] JMLMenuSense - Sense UI Look 'n Feel XML-Menu v1.65 (20-Mar-2011)


New JMLMenu program : Create your own Sense UI Look 'n Feel menu via an XML file.
Used in JMLPanex v3.00 and JMLToday v6.00

Based on the excellent -> [win32] SDK - New Sense interface Look 'n Feel <- from @petititi



Quote:
Version 1.75
@petititi Sense SDK V1.6.4 used
[add] <edit> : 'title' attribute (left label)
[new] parameters allowed in .xmu call -> you can use parameters as variables in menu
[new] multiple values/formatted-text for label
[add] <submenu> : 'condition' attribute to show/hide submenu
[add] items : 'condition' attribute to show/hide items
[new] <condition> : add condition to show/hide a group of items
[add] <selector> : 'showvalues' attribute to display different texts in the choices dropdown instead of real values.
[mod] <text> : improved color management
[add] <text> : fontname and fontsize attributes (also for comment)
[add] <picture> : horizontal scroll if width > 100%
[new] ini file management support (@michoob)
[new] <inilist> : show a list of values stored in a .ini key
[add] <explorer> : pick folder functionality
Quote:
Installation instructions :
1- Uninstall previous version of JMLMenuSense if necessary
2- Install JMLMenuSense cab file

-> For examples, see Examples.xmu or v1.75.xmu files in ...\JMLMenuSense\Examples folder. (others examples in JMLPanex V3.00 and future JMLToday V6.00)
-> Clic on .xmu file to execute it.

-> Read post#2 and post#3

Version 1.65
[fix] minor bug with JMLToday
[mod] convert '<<' '>>' '&' to '&lt;&lt;' '&gt;&gt;' '&amp;' before parsing xml
[mod] convert '&amp;' '&lt;' '&gt;' to '&' '<' '>' after parsing xml
[add] <menu> : 'background' attribute (picture), 'backcolor' attribute and 'rgb' attribute (default menu text color)
[add] <menu> : 'interline' attribute
Version 1.60
[new] <registryfolderlist> : list registry subkeys (@Freezy1982)
[new] <registryvaluelist> : list all values in a registry subkey (@Freezy1982)
[add] regstring: regdword: regdelete: regfolder: regdeletefolder: actions
[fix] selector bug
[fix] registry bug
[add] Exemples.xmu from @mkucuksari
[add] save some registry key with only one 'run' (@poyensa)
Version 1.50
Sense SDK V1.6.4
[new] <picture> : picture item
[new] <datafile> : list of data (one item per line of text file)
[new] <explorer> : 'choose a file' item
[new] <selector> : selector item
[new] <space> : add spaces beetween 2 items
[new] <icons> : item with up to 3 icons
[add] <submenu> : icon attribute
[add] <text> : comment attribute (and 'commentstyle', 'commentrgb', 'commentalign' attributes)
Version 1.30
Sense SDK V1.6
[add] id attribute to combine 2 controls (ex. <checkbox> + <button> which run a program with checkbox-value as parameter)
[add] <text> : icon attribute
[new] HKLM\Software\Microsoft\Shell\Rai\:JMLMENUSENSE
[new] .xmu file association with :JMLMENUSENSE
[remove] all .mscr scripts
[add] <separator> : interline attribute
[add] <submenu> : interline attribute
[new] AppToDate compatible
Version 1.20
Sense SDK V1.5.1
[add] <checkbox> : run attribute
[add] <text> : align attribute
[add] <text> : style attribute
[new] <switch> : 2 states switch
[new] <edit> : show a edit control
[new] <registrykeylist> : show a list of values stored in a registry key
Version 1.00
- <menu> : main menu
- <submenu> : describe a submenu
- <text> : show a text
- <button> : show a button
- <separator> : label separator
- <checkbox> : 2 states checkbox
- <files> : files list


This program is provided without Warranty or Guarantee. Just because it worked on my phone doesn’t mean it will on yours. Like anything before using, backup all relevant data before proceeding. I take no responsibility for loss or damage to your phone.

Have Fun!

NO MIRRORS, thanks.
Attached Files
File Type: cab JMLMenuSenseV1.50.cab - [Click for QR Code] (987.8 KB, 679 views)
File Type: cab JMLMenuSenseV1.60.cab - [Click for QR Code] (1,010.8 KB, 1328 views)
File Type: cab JMLMenuSenseV1.65.cab - [Click for QR Code] (1,012.1 KB, 4416 views)
File Type: cab JMLMenuSenseV1.75.cab - [Click for QR Code] (1,023.3 KB, 2636 views)
If you like my work, thank you for offering me a beer. All donations are appreciated !
-> *Donate* <-
Contributions to XDA : JMLToday, JMLPanex, JMLStocks, JMLLauncher, JML...Tools, JMLPicture, JMLMenuSense etc...
If you use one of these programs in your developments/skins that have donations, thanks for a small donation.
The Following 20 Users Say Thank You to JMHL For This Useful Post: [ Click to Expand ]
 
JMHL
Old
(Last edited by JMHL; 1st June 2011 at 09:25 AM.)
#2  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
XML menu file description

- menu and submenu structure :
Code:
<menu title='Configuration'>
  <submenu name='SMS' label='SMS'>
    ...
  </submenu>
  <submenu name='Clock' label='Clock'>
    ...
  </submenu>
 ...
</menu>
---------------------------------------------------------------------------------------------------------
<menu> menu
It's the main menu

attributes
title : menu title
background : background picture
backcolor : background color
rgb : default menu text color
quitlabel : label of left softkey
forcequit : still in memory for fast ('no' per default), clean close ('yes')

Code:
<menu title='My title'>
...OR...
<menu quitlabel='Back' title="Tasks" backcolor='0,128,0' rgb='192,192,192' >
... OR...
<menu quitlabel='Back' title="Tasks" background='%APPDIR%\Examples\Bg.png' >
---------------------------------------------------------------------------------------------------------
<submenu> menu
To describe a submenu

attributes
name : unique identifier of submenu
label : submenu title
comment : submenu subtitle
interline : show ('yes' per default) or hide ('no') items interline
icon : path of .png/.jpg picture
Code:
  <submenu name='SMS' label='SMS'>
... 
</submenu>
---------------------------------------------------------------------------------------------------------
<text> item
Show a text

attributes
label : text content
rgb : color of text (r,g,b)
align : text alignment ('center' by default, 'left')
style : 'italic' for italic font, 'small' for smaller font
left : left coordinates (15 pixels per default)
comment : comment show in 2nd line
commentrgb : color of comment (r,g,b)
commentalign : comment alignment ('center' by default, 'left')
commentstyle : 'italic' for italic font, 'small' for smaller font
run : action to execute when clic on text
icon : path of .png/.jpg picture
fontname : font of text (Tahoma per default)
fontsize : size of text (9 per default)
commentfontname : font of comment (fontname per default)
commentfontsize : size of comment (fontsize per default)

Code:
 <text rgb='128,0,0' label='text example' left='100'/>
	<text quit='no' commentfontsize='10' commentrgb='0,0,128' commentfontname='courier new' comment='comment-courier new 10pt' fontsize='16' label='Text-tahoma 16pt' rgb='128,0,0' />
---------------------------------------------------------------------------------------------------------
<button> item
Show a button

attributes
label : button label
run : action to execute when clic on text
Code:
 <button label='button example' run='program.exe'/>
---------------------------------------------------------------------------------------------------------
<separator> item
Déclare a items separator

attributes
label : text of separator
interline : show ('yes' per default) or hide ('no') items interline
Code:
   <submenu name='Weather' label='Weather'>
 ...
    <separator label='MSN' />
 ...
    <separator label='AccuWeather' />
 ..
<separator label='Google' />
  </submenu>
---------------------------------------------------------------------------------------------------------
<files> item
Create a list of files

attributes
filter : files mask to scan (you can use '*' in the filter))
show : display substring of file name '[start,len]' -> full file name per default
run : action to execute when clic on one item
%FILE% macro in run attribute : use the full file name
%SHOW% macro in run attribute : use the substring file name defined with show attribute
Code:
 <menu title='Skins'>
  <files filter='%JMLTODAY%\skins\*.*' run='%JMLTODAY%\JMLTools.exe;-skinfile:%FILE%'  />
</menu>
Code:
<menu title='Language'>
  <files filter='%JMLTODAY%\lang\JMLLang_*.ini' show='[8,2]' run='%JMLTODAY%\JMLWinToday.exe;-lang:%SHOW%'  />
 </menu>
---------------------------------------------------------------------------------------------------------
<checkbox> item
Create a 2 states checkbox

attributes
label : text of item
registry : registry key to test according with value0 and value1 attributes
format : registry key format ('STRING' per default, 'DWORD' for integer)
value0 : value which defines unchecked box
value1: value which defines checked box
run : action to execute when clic on text
Code:
    <checkbox label='Show 0-24 hours' registry='HKLM\\Software\\Microsoft\\CHome\\JMLToday\\Param\\time' value1='HH:mm' value0='hh:mm'   />
    <checkbox label='Show AM/PM' registry='HKLM\\Software\\Microsoft\\CHome\\JMLToday\\Param\\hour' value1='12' value0='24'  />
---------------------------------------------------------------------------------------------------------
<switch> item
Create a 2 states switch -> same as <checbox>

---------------------------------------------------------------------------------------------------------
<edit> item
show an edit control

attributes
label : initial content
title : left label
width : width of edit field (50% per default if title present)

id : unique identifier (you can use this in a run attribute of <button> control for example)
Code:
<edit id='%MYOFFSET%' label='reg:HKLM\\Software\\Microsoft\\CHome\\JMLPanex\\offset' />
	<button label='Save' run='%JMLPANEX%\JMLPanex.exe;-offset:%MYOFFSET%' />
---------------------------------------------------------------------------------------------------------
<registrykeylist> item
list items contained in a registry key (ex. 'Page1;Page2;Page3' contains 3 items)

attributes
registry : registry key that contains items
separator : items separator character (';' per default)
run : action to execute when clic on one item
%VALUE% macro in run attribute : use the item value
Code:
<text center='yes' style='italic' rgb='0,128,0' label='choose a plugin to clear his cache' />
    <registrykeylist registry='HKLM\\Software\\Microsoft\\CHome\\Plugins' run='%JMLPANEX%\JMLPanex.exe;-clearcache:%VALUE%' />
---------------------------------------------------------------------------------------------------------
<explorer> item
Create a file explorer button item

attributes
startdir : start folder to scan
filter : files mask to scan (you can use '*' in the filter, , to pick a folder, use '.')
updateid : id of item to update with selected file
Code:
<edit id='%EDIT%' />
 <explorer label='choose a file'  startdir='%APPDIR%' updateid='%EDIT%' />
---------------------------------------------------------------------------------------------------------
<picture> item
Create a picture item

attributes
icon : picture to show
Code:
   <picture icon='%APPDIR%\map.jpg' left='0' top='0' width='100%' />
---------------------------------------------------------------------------------------------------------
<icons> item
Create a item with up to 3 icons

attributes
iconleft : picture to show
runleft : action to execute
iconcenter : picture to show
runcenter : action to execute
iconright : picture to show
runright : action to execute
Code:
     <icons left='30' iconleft='%APPDIR%\contact.png' runleft='%APPDIR%\IconLeft.xmu' iconcenter='%APPDIR%\contact.png' runcenter='%APPDIR%\IconCenter.xmu' iconright='%APPDIR%\contact.png' runright='%APPDIR%\IconRight.xmu'/>
---------------------------------------------------------------------------------------------------------
<space> item
Add spaces beetween 2 items

attributes
height : height of space
Code:
	<space height='5%' />
---------------------------------------------------------------------------------------------------------
<selector> item
Add a selector item

attributes
updateid : id of item to update with selected file
values : list of values using a separator character
select : value to select per default
separator : character separator in values (';' per default)
showvalues : display different texts in the choices dropdown instead of real values
run : action to execute

Code:
  <edit id='%EDIT%' />
  <selector label='choose a value' updateid='%EDIT%' values='choix1;choix2;choix3' select='choix3'/>
  <selector run='ini:%SCRIPTPATH%\MyIni.ini[MySection]MySelector:%VALUE%' label='choose a value' updateid='%COMBO2%' values='0;1;2' showvalues='value0;value1;value2' /> 
---------------------------------------------------------------------------------------------------------
<datafile> item
List of contains of text file

attributes
file : text file name
separator : character separator in value
show : display substring of text '[start,len]' or part of text if separator exist (use %0...%n to select substring)
run : action to execute when clic on one item
%VALUE% macro in run attribute : use the full text line
%SHOW% macro in run attribute : use a substring
defined with show attribute
%0...%n macro in run attribute : use part of text line if separator exist
Code:
       <datafile file='%APPDIR%\CitiesMSN.txt' separator=',' show='%1' run='%JMLTODAY%\JMLMeteo.exe;-setcity:%0 -msn -map:%2' />
---------------------------------------------------------------------------------------------------------
<inilist> item
list items contained in a key in section of ini-file

example of ini-file : MyIni.ini
Code:
[MySection]
MyList=val1;val2;val3
MyChoose=...
attributes
ini: key that contains items
separator : items separator character (';' per default)
run : action to execute when clic on one item
%VALUE% macro in run attribute : use the item value
Code:
        <inilist updateid='%KEYLIST%' ini='%SCRIPTPATH%\MyIni.ini[MySection]MyList' run='ini:%SCRIPTPATH%\MyIni.ini[MySection]MyChoose:%VALUE%' quit='no' />
        <text comment='selected value' id='%KEYLIST%' align='left' left='30' label='ini:%SCRIPTPATH%\MyIni.ini[MySection]MyChoose' />
If you like my work, thank you for offering me a beer. All donations are appreciated !
-> *Donate* <-
Contributions to XDA : JMLToday, JMLPanex, JMLStocks, JMLLauncher, JML...Tools, JMLPicture, JMLMenuSense etc...
If you use one of these programs in your developments/skins that have donations, thanks for a small donation.
The Following 3 Users Say Thank You to JMHL For This Useful Post: [ Click to Expand ]
 
JMHL
Old
(Last edited by JMHL; 26th May 2011 at 08:24 AM.)
#3  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
Informations - FAQ


----------------------------------------------------------------------------------------
Constantes File-Path
You can use these constantes in your file-path name :

%PROGRAMFILES% -> \Program Files.
%WINDOWS% -> \Windows
%MYVIDEO% -> \My Documents\My Video
%MYPICTURES% -> \My Documents\My Pictures
%MYMUSIC% -> \My Documents\My Music
%STARTMENU% -> \Windows\Start Menu
%PROGRAMS% -> \Windows\Start Menu\Programs
%STORAGECARD% -> \Storage Card

%APPDIR% -> Running program directory (for .exe)
%SCRIPTPATH% -> Running file directory, for file with associated program (.xmu file by example)

If you have JMLToday/JMLPanex installed :

%JMLTODAY% -> \Program Files\JMLToday
%JMLPANEX% -> \Program Files\JMLPanex
%SKIN% -> \Program Files\JMLToday\skins\skin_name
%LANG% -> \Program Files\JMLToday\lang
----------------------------------------------------------------------------------------
%Variables%

- You can identify an item with his 'id' attribute and use it in another item
Code:
<checkbox id='%VIBRATE%' quit='no' label='Vibrate' format='DWORD' registry='HKLM\Software\Microsoft\CHome\JMLPanex\vibrate' value0='0' value1='10' />
<button label='Save'  run='Program.exe %VIBRATE%'/>
-> launch program with '0' or '10' parameter value

- Predefined variables :
%VALUE% : value of item
%FILE%, %SHOW% : for <files> tag
----------------------------------------------------------------------------------------
Quit program

- When you clic on item that have a 'run' attribute the program is closed
- When you clic on checkbox item the program is closed
-> Unless you put [quit='no'] on each item that you do not want the program closes

- you can change the text of left-softkey ('Quit' per default) : add quitlabel='...' in <menu...> tag
----------------------------------------------------------------------------------------
Debug mode
Add debug='yes' in <menu...> tag

-> The 'run' action is not executed, just display a message
-> Checkbox is run with a diplayed message

2 files are created : debug.txt (list of items) ant run.txt (command line to execute when 'run' attribute exist).
----------------------------------------------------------------------------------------
Command in labels
You can prefix some labels with a command :
reg: -> the label is the content of registry key ( same as regstring: )
regstring: -> the label is the content of registry key (format : STRING)
regdword: -> the label is the content of registry key (format : DWORD)
ini: -> the label is the content of key in section of ini-file

lang: -> the label is tranlated (if JMLToday intalled : use JMLLang... files !) MUST BE BEFORE reg: or ini:

-> possibilities :
lang:reg:
lang:ini:
reg:
ini:
regstring:
regdword:


list of attributes using this feature :
label, comment, title, quitlabel, select, values, icon, iconleft, iconcenter, iconright,...
----------------------------------------------------------------------------------------
Multiple values/formatted-text for label
You can create complex/multiple/values/formatted-text for label with using '||' as separator
example in .xmu :
Code:
<text icon='%SKIN%\||reg:HKCU\software\JML\Meteo\origin||\||reg:HKCU\software\JML\Meteo\Day1\icon' ... />
with for JMLTODAY :
%SKIN% = you skin path
reg:HKCU\software\JML\Meteo\origin = accu for example
reg:HKCU\software\JML\Meteo\Day1\icon -> picture of Day1 (32.png as example)
....

-> text computed : %SKIN%\accu\32.png

----------------------------------------------------------------------------------------
Parameters in JMLMenuSense command-line
Parameters are allowed in .xmu call -> you can use these parameters as variables in menu

Example for showing weather of first day :
If you create a .lnk with :...\JMLMenuSense\JMLMenuSense.exe;-xmu:%JMLTODAY%\JMLMeteoX.xmu -day:1
-> you can use %-day% variables in your .xmu file
Code:
<text icon='%SKIN%\sys\Wind.png' label="reg:HKCU\software\JML\Meteo\Day%-day%\windspeed|| ||reg:HKCU\software\JML\Meteo\unit_speed" align='left' />
with for JMLTODAY :
reg:HKCU\software\JML\Meteo\Day1\winspeed -> 50 as example
reg:HKCU\software\JML\Meteo\unit_speed -> km/h as example

-> text computed : 50 km/h

[/color]
----------------------------------------------------------------------------------------
Conditions
You can add condition to show/hide a group of items : <condition> tag
You can add condition to show/hide a submenu : 'condition' attribute in <submenu> tag
You can add condition to show/hide a item : 'condition' attribute in item tag

List of test-conditions :
regempty:
iniempty:
regequal:
iniequal:
regfind:
inifind:
fileexist:
paramexist:

for inverse condition, add not: before.

Example :
Code:
<condition condition='not:regempty:HKCU\software\JML\Meteo\Night1\icon'/>
<separator interline='no' label="lang:NIGHT" />
<text scale='yes' icon=.../>
<text icon='%SKIN%\sys\Wind.png' label="reg:HKCU\software\JML\Meteo\Night1\windspeed|| ||reg:HKCU\software\JML\Meteo\unit_speed" align='left' />
<condition />
If you like my work, thank you for offering me a beer. All donations are appreciated !
-> *Donate* <-
Contributions to XDA : JMLToday, JMLPanex, JMLStocks, JMLLauncher, JML...Tools, JMLPicture, JMLMenuSense etc...
If you use one of these programs in your developments/skins that have donations, thanks for a small donation.
The Following User Says Thank You to JMHL For This Useful Post: [ Click to Expand ]
 
petititi
Old
#4  
Senior Member
Thanks Meter 90
Posts: 517
Join Date: Dec 2008
Location: Marseille

 
DONATE TO ME
Seems great (and you are using a very good SDK )

Your soft can be used to create menu via an XML file, isn't it? Good idea and it can be very usefull! I will take a look soon.
 
JMHL
Old
#5  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
@petititi, @all : YES, you can create menu via an XML file. It's a first release, i can add some others features.....
If you like my work, thank you for offering me a beer. All donations are appreciated !
-> *Donate* <-
Contributions to XDA : JMLToday, JMLPanex, JMLStocks, JMLLauncher, JML...Tools, JMLPicture, JMLMenuSense etc...
If you use one of these programs in your developments/skins that have donations, thanks for a small donation.
 
santod040
Old
#6  
santod040's Avatar
Recognized Developer / Recognized Contributor
Thanks Meter 7809
Posts: 5,925
Join Date: Nov 2008
Location: NorCal

 
DONATE TO ME
Thanks JMHL, this should prove quite useful!!
Very nice work as always.
Current Devices: HTC Thunderbolt | HTC Droid DNA | HTC One - m7 | HTC One - m8


Follow me on Twitter
ULTIMATE WALLS WVGA Wallpaper Collection
Donations always appreciated! Never required!


 
mike2nl
Old
#7  
mike2nl's Avatar
Senior Member
Thanks Meter 535
Posts: 3,603
Join Date: Jul 2009
Location: Near Utrecht
Thank you, that looks very usefull in some cases. Will take a deeper look and test things..
Sensation XE: 光盤 6, PYDX & AIO latest
SGT 7 3G: CM 11, 4.4.2 storm31
HD2: 光盤 3.7, marc 0.2.3
Teams: CHTBeta, CHTArt, CD
Apps: 3D Photo Browser Mods
Android Test Links: USB Echo
 
ai6908
Old
#8  
ai6908's Avatar
Senior Member
Thanks Meter 266
Posts: 3,605
Join Date: Nov 2006
Location: Land of Lincoln

 
DONATE TO ME
Looks so much better than mortscript menus...looks awesome bro...thanks...
Hit "THANKS" button if you like the above post!!
Moto Atrix HD ROM - Batakang
HTC Flyer (WiFi) ROM - Stock Honeycomb3.2 No Root
My UnderVolt Tweak for cfX
 
ock
Old
#9  
ock's Avatar
Senior Member
Thanks Meter 1371
Posts: 960
Join Date: Mar 2010
Awesome! thanks to petititi and JMHL
 
JMHL
Old
#10  
Retired Recognized Developer - OP
Thanks Meter 83
Posts: 650
Join Date: Apr 2006
Location: Bordeaux

 
DONATE TO ME
@all : new version 1.20 -> see Post #1 and #2.

Wait your feedback....
A++
If you like my work, thank you for offering me a beer. All donations are appreciated !
-> *Donate* <-
Contributions to XDA : JMLToday, JMLPanex, JMLStocks, JMLLauncher, JML...Tools, JMLPicture, JMLMenuSense etc...
If you use one of these programs in your developments/skins that have donations, thanks for a small donation.

Tags
sdkmanila, sense, wm6.5, xml
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes