[GUIDE][TUT] Manila Development for Beginners - ManilaFiles & Tut3 (30Sep) in NewWiki

Search This thread

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
thanks for your post and tuto :)

do you think it's possible to add a tab and activate a plugin from homescreen like pocket breeze or else?
i've tried a lot of program and all have some errors..i think by this way it's better..

Thanks !

an update to your question...

I'm going to work on a custom manila interface tab, which should allow applications to easily use manila, if only on a basic level. This should open up the number of applications which can directly interface and hopefully provide some useful new tabs/page.
 

Remco-

Senior Member
Mar 18, 2009
72
2
44
Well done on your tutorials!
I had slight hopes it would solve my Documents Tab problem, but unfortunately it keeps telling me SD Card Full or Missing. It does seem to create database and cache folders on it and a 'flintlock' file.
The TAB was already cooked in, but 'disabled' (registry value was renamed from .dll to .bak)
I tried your tutorial and cab installer, neither worked.
Multiple SD-Cards (1GB and 4GB) and multiple full and quick FAT32 formats...
Any suggestions?
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
Well done on your tutorials!
I had slight hopes it would solve my Documents Tab problem, but unfortunately it keeps telling me SD Card Full or Missing. It does seem to create database and cache folders on it and a 'flintlock' file.
The TAB was already cooked in, but 'disabled' (registry value was renamed from .dll to .bak)
I tried your tutorial and cab installer, neither worked.
Multiple SD-Cards (1GB and 4GB) and multiple full and quick FAT32 formats...
Any suggestions?

Captain_throwback had a theory on this:
http://xdaforums.com/showpost.php?p=5787124&postcount=93

I don't know what would happen if you use cachefilt.dll, I'll post it on that thread if you like and see if it solves the issue. Ok, can't get it off my device, Hidden, System, Rom file - will post it if I can get to it. Stubborn thing, totally inaccessible and can't even find it on an extracted ROM.
 
Last edited:

Remco-

Senior Member
Mar 18, 2009
72
2
44
Captain_throwback had a theory on this:
http://xdaforums.com/showpost.php?p=5787124&postcount=93

I don't know what would happen if you use cachefilt.dll, I'll post it on that thread if you like and see if it solves the issue. Ok, can't get it off my device, Hidden, System, Rom file - will post it if I can get to it.

omg, I love you!

I did read that thread as well before I posted in this one, but I couldn't find cachefilt.dll anywhere. After playing around a bit I found that the problem wasn't that I needed cachefilt.dll, because apparently it's already there (eventhough I can't find it because it's hidden/system/whatever), but all I needed was to add the filter to the registry!

This is all I had to add to the registry:

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\Filters\CacheFilt]
"Dll"="CacheFilt.dll"
"Order"=dword:12

I have a working Document Tab now ^^

Thanks for leading me into the right direction!
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
omg, I love you!

I did read that thread as well before I posted in this one, but I couldn't find cachefilt.dll anywhere. After playing around a bit I found that the problem wasn't that I needed cachefilt.dll, because apparently it's already there (eventhough I can't find it because it's hidden/system/whatever), but all I needed was to add the filter to the registry!

This is all I had to add to the registry:

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\Filters\CacheFilt]
"Dll"="CacheFilt.dll"
"Order"=dword:12

I have a working Document Tab now ^^

Thanks for leading me into the right direction!
Superb! Glad you've got it going, I think it's a dead handy tab, although I admit I've not used it since I've installed it but that's only because I've not been reading ebooks for a bit (mine are in pdf).
 

masroor1986

New member
Apr 24, 2008
1
0
Question

hi and thanks
its a great thread many tanx
i want to know that is it possible to use manila for phones that they dont have touch flow for example O2 zinc?
is it working?
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
hi and thanks
its a great thread many tanx
i want to know that is it possible to use manila for phones that they dont have touch flow for example O2 zinc?
is it working?

I'm not sure, I suppose if it runs windows mobile 6.5 and have enough power it probably can, I've not tried though (have a look someone may have cooked a rom with it in - performance is always better that way anyway).
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
Last edited:

colossus_r

Senior Member
Feb 10, 2007
2,099
394
Huawei P40 Pro
Manila file names for document tab

Meltwater

Is there an easy way to find the names of the manila file for the documents tab ???

I want to translate them in greek language..

I ask a greek cook here in xda for the filenames and i dont know why he refuse to reveal the file names as it was a big secret ...(i am realy pist off)

Anyway, if you can help me on this please ???

Thanks in advance...
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
Meltwater

Is there an easy way to find the names of the manila file for the documents tab ???

I want to translate them in greek language..

I ask a greek cook here in xda for the filenames and i dont know why he refuse to reveal the file names as it was a big secret ...(i am realy pist off)

Anyway, if you can help me on this please ???

Thanks in advance...

You want the manila hash exe from the command line kitchen, linked on the 1st post here. Only on my phone at the moment so dont know the full paths you'll need for the names (was on the Wiki); might be on the doc tab thread. Will give you more detail after weekend if needed.
 

colossus_r

Senior Member
Feb 10, 2007
2,099
394
Huawei P40 Pro
You want the manila hash exe from the command line kitchen, linked on the 1st post here. Only on my phone at the moment so dont know the full paths you'll need for the names (was on the Wiki); might be on the doc tab thread. Will give you more detail after weekend if needed.

Thanks for the responce m8 .... i found them with the manilahash.exe app..


Thanks
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
WM6 HTC Sense Developer Wiki Home

WM6 HTC Sense Developer Wiki Home for modifying and creating extensions to the HTC Sense on WM6 Devices
http://xdaforums.com/wiki/index.php?title=WM6_HTC_Sense_Developer_Wiki

I've created a home (I hope) for sense mods.

It is linked from the main wiki home page, under:
Guides -> HTC Sense & Manila Menu Modifications -> WM6 HTC Sense Developer Wiki Home

Please feel free to have a look and add links, screenshots and information etc etc as you like. I thought it would be good to ensure that the old wiki information doesn't get lost (can't be sure how long the old wiki information will remain available) so if you know of good Sense information on the wiki please put a note on there or better still transfer it.


I'll be updating it to include the tutorials I had in the old wiki.
 

mncessna

Senior Member
Feb 22, 2008
132
19
Hillsboro, OR
please help with generating hash names

i've followed this thread and rat's, and co0kiemonster's thread and neither approach works for me.
that means 'i'm reading something wrongly!'

here's what's going on:
i've made a sweep hand for a clock. i named it weekdayHand.png. i've followed rat's instructions for using manilaHASH.exe and get 3 different hash results.

what is the correct entry in the input box for the "manila file path"?
i've tried \windows htc\home\assets\images\Home\VGA\weekdayHand.qtc and get DB83083_manila. the author stated that leading zero's are necessary if the hash name is less than 8, so the name is 0DB83083_manila. but that makes my clock fail. the clock works fine until i try to add this sweep hand.

have i done this correctly as far as the hash naming process goes?

thanks very much for any help you can provide!
marvin
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
i've followed this thread and rat's, and co0kiemonster's thread and neither approach works for me.
that means 'i'm reading something wrongly!'

here's what's going on:
i've made a sweep hand for a clock. i named it weekdayHand.png. i've followed rat's instructions for using manilaHASH.exe and get 3 different hash results.

what is the correct entry in the input box for the "manila file path"?
i've tried \windows htc\home\assets\images\Home\VGA\weekdayHand.qtc and get DB83083_manila. the author stated that leading zero's are necessary if the hash name is less than 8, so the name is 0DB83083_manila. but that makes my clock fail. the clock works fine until i try to add this sweep hand.

have i done this correctly as far as the hash naming process goes?

thanks very much for any help you can provide!
marvin

Sounds about right, assuming you have the path correct (sorry but not done that mod myself, but it looks right). Have you tried replacing your file with another existing qtc file but renamed, it may be that your file isn't the right format rather than the filename being wrong.

Otherwise, someone who's done this mod will hopefully put you right.
 

mncessna

Senior Member
Feb 22, 2008
132
19
Hillsboro, OR
could you give me a tip

thanks for your response. i was wondering if you knew if the following was correct:

let's say i want to name the new sweep hand...sweephand.

when i run the manilaHASH.exe program, the manila name box already has
\windows\ in it. so i add sweephand.qtc to it, press the "get manila" button and the results are: 2C42AE7D_manila.

the PROBLEM is this. when i tried using names that Rat_2566 used in his gold Tourbillon clock, like "moonphase", i get a different manila name than he does???
his name is: 2C2AA9E8_manila. i tried dozens of variations with moonphase and can not get that manila name from the program????

any idea?

thanks again,
marvin
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
thanks for your response. i was wondering if you knew if the following was correct:

let's say i want to name the new sweep hand...sweephand.

when i run the manilaHASH.exe program, the manila name box already has
\windows\ in it. so i add sweephand.qtc to it, press the "get manila" button and the results are: 2C42AE7D_manila.

the PROBLEM is this. when i tried using names that Rat_2566 used in his gold Tourbillon clock, like "moonphase", i get a different manila name than he does???
his name is: 2C2AA9E8_manila. i tried dozens of variations with moonphase and can not get that manila name from the program????

any idea?

thanks again,
marvin

The path does not relate to where it is on your device, it is a imaginary or virtual path internal to sense, so you need the full path to create the name as they are often referred to in scripts relative to the script.

You will need to know the path he is using and where it is referenced (if you change the name). Unfortunately, the other tutorials aren't transferred yet, they explain some of it.

colossus_r has a thread on manila names, I've not read it through but he's done a good bit with the file names from a user point of view so hopefully explains it there.
http://xdaforums.com/showthread.php?t=735317
 

meltwater

Inactive Recognized Developer
Jan 28, 2009
2,070
325
that helped quite a lot. i may actually make some progress now!:)
No problem. Sense is a pig to work with but once you get past the initial concepts you can achive a lot. Another tip is to keep a copy of all the manila files decompiled then you can search for similar chunks of code & examples.
Glad you are getting somewhere now, lots of helpful people who know a lot & will help.
 

mncessna

Senior Member
Feb 22, 2008
132
19
Hillsboro, OR
interesting lua "switch" statement

i want to thank meltwater for the pointer to colossus. that really put the data together for me. i got my new clock working just fine now.

i'd like to share something i learned along the way if any one is interested in lua programming. i've been a software engineer for 28 years. actually i've never quit even though i'm retired.

i noticed that when the m9editor imports lua it has its own style for if-then-else structures...especially the indenting! yuk!

so as i was searching for answers to other lua scripting questions, i came across an interesting thought about using tables to simulate a case/switch function. i used it in my new clock. for anyone interested, here it is:

Here is how m9editor imported my structure to convert the month as a numeric string into a 3-character string:

if MonDate.String == "8" then
MonDate.String = "Aug"
else
if MonDate.String == "9" then
MonDate.String = "Sep"
else
if MonDate.String == "10" then
MonDate.String = "Oct"
else
if MonDate.String == "11" then
MonDate.String = "Nov"
else
if MonDate.String == "12" then
MonDate.String = "Dec"
else
if MonDate.String == "1" then
MonDate.String = "Jan"
else
if MonDate.String == "2" then
MonDate.String = "Feb"
else
if MonDate.String == "3" then
MonDate.String = "Mar"
else
if MonDate.String == "4" then
MonDate.String = "Apr"
else
if MonDate.String == "5" then
MonDate.String = "May"
else
if MonDate.String == "6" then
MonDate.String = "Jun"
else
if MonDate.String == "7" then
MonDate.String = "Jul"
end
end
end
end
end
end
end
end
end
end
end
end

i replaced it with this:

setMonthStr = {
[ "1"] = function (x) MonDate.String = "Jan" end,
[ "2"] = function (x) MonDate.String = "Feb" end,
[ "3"] = function (x) MonDate.String = "Mar" end,
[ "4"] = function (x) MonDate.String = "Apr" end,
[ "5"] = function (x) MonDate.String = "May" end,
[ "6"] = function (x) MonDate.String = "Jun" end,
[ "7"] = function (x) MonDate.String = "Jul" end,
[ "8"] = function (x) MonDate.String = "Aug" end,
[ "9"] = function (x) MonDate.String = "Sep" end,
["10"] = function (x) MonDate.String = "Oct" end,
["11"] = function (x) MonDate.String = "Nov" end,
["12"] = function (x) MonDate.String = "Dec" end,
}

and invoke it like this:

setMonthStr[MonDate.String](MonDate.String)

how it works: by invoking the name of the table with the MonDate.String as a parameter in square brackets setMonthStr[MonDate.String], the table returns the virtual address of the function (x) for the string index used.

then, by adding the same string in parenthesis (MonDate.String), it has the effect of calling the function (x) and passing it the MonDate.String as a parameter. works like a charm, is very clean, and is rather neat too!

i also use this technique to set the degree of rotation for my weekday graphic like this:

setWeekdayRot = {
["Su"] = function(x) wdRot = -45 end,
["Mo"] = function(x) wdRot = -90 end,
["Tu"] = function(x) wdRot = -135 end,
["We"] = function(x) wdRot = -180 end,
["Th"] = function(x) wdRot = -235 end,
["Fr"] = function(x) wdRot = -270 end,
["Sa"] = function(x) wdRot = -315 end,
}

setWeekdayRot[weekday2](weekday2)
weekdayHand.Rotation.z = wdRot

multiple statements can be included in the generic functions also. here's an example:

setWeekdayRot = {
["Su"] = function(x) wdRot = -45 wdLength = 9 end,
["Mo"] = function(x) wdRot = -90 wdlength = 8 end,
["Tu"] = function(x) wdRot = -135 wdtime = 5 xterra = -1 end,
["We"] = function(x) wdRot = -180 end,
["Th"] = function(x) wdRot = -235 end,
["Fr"] = function(x) wdRot = -270 uset = wdRot / 3 end,
["Sa"] = function(x) wdRot = -315 end,
}
there appears to be no limit, but readability forces me to keep it short! :)
also notice that each function can have different statements! it very much mimics a case/switch capability rather neatly.

DON'T MISS THE CLOSING COMMA AFTER THE LAST END!!!

I define both of these tables as global tables, that is, i declare them outside of the calendardate function so they only get created once and then re-used.
really hard to tell if there's much speed difference, but like i said, i think they look nice, easy to setup and use.

marvin
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Hola MeltWater and all others who have kept this thread alive and contributed to sharing and spreading "MK" (ManilaKnowledge) :D
    It´s been of great value and very useful for me in order to obtain certain progresses with CHTS "FullThemeSwitch" :)
    Muchas gracias for sharing

    Great to hear it has been helpful. I'll try to put some more detail in the wiki about some of the other things I've done using manila, obviously it can take time to create full tutorials so they may be more code examples instead. Can share a few of the tricks I've been using for the RSSTab.
    1
    "Sharing Tricks" is always welcome, as well as "sharing knowledge" :D
    I,m not sure if this could be the right thread for it, but since I´m taking a very close look at some files in order to identify the ones needed for a "CHT Theme Switch" as well as a "Full Device Theme Switch", I´m stumbeling on a few of the "unidentified & unlisted" manilas in Manila File List. Beeing an analytical person and paying attention to detail (I have no programming knowledge what so ever - besides the "basic" I learned when I was a youngster, way before DOS and Windows) but I´m very aware of what I "see" on my device, I´m focusing atm at the "optical" changes when switching between themes and cross checking files.
    To make a very long story short, where would you want me to post such files and their descriptions/locations so they might be "renamed" and added to the manila File List?

    Example see attached txt file regarding Tabslider elements ;)
    Such info can easily be added to the wiki, just add a new section to the tutorials and guides [http://xdaforums.com/wiki/index.php?title=WM6_HTC_Sense_Developer_Wiki#Tutorials_and_Guides]. There is linked info on how to use the MediaWiki from the Xda editing guide [http://xdaforums.com/wiki/index.php?title=XDA-Developers:Editing_guide].

    If you have any problems I can create the outline page for you, although you might need to re-organize the details, not sure I follow all of it. My route in is looking at the programing end, all the lauc script stuff is quite different to the other programming I've done, but decompiling gives example code to follow, trouble is sense is easy to break and difficult to debug.