Rearranging the Manila Home Screen
What do I need to know?
Manila uses few types of files: qtc, xml, mode9 and lua. First one is for graphics, second usually for different languages (although not only) and the two last ones are the ones we are interested in. Mode9 files contain information on position, visibility and other properties of almost every element on Manila tabs. Lua files contain different functions, used for animations, updating info and so on.
For editing the Home Screen we need the mode9 file - 1c684cd8_manila and the lua script - 25d04412_manila. You can find these files (from each Manila, starting from 1.0 and ending on 2.5) on this forum.
What tools do I need?
Editing mode9 files is quiet easy. You just have to run m9editor, open the file, make the changes you want and save it. Changing stuff in lua scripts is a bit more complicated, as you have to decompile it. Shorter scripts are easily decompilated by luadec, but some longer ones require us to correct errors. Fortunately, the lua script we have to change is easily decompilated (though there can be a problem with the if condition). To do this follow these points:
- copy luadec.exe and luac.exe to the folder you where you have the lua script (let's say it's c:\compacthome\mod\)
- press Windows Logo + R (or Start > Run) and type cmd
- go to the folder containing the lua script (in this case it's cd \compacthome\mod\)
- type luadec script_name > script_name.txt - where script_name is the script you want to decompile (for example 25d04412_manila) and script_name.txt is the name of the output file, which we will edit
- in case of errors you have to correct them (look for the lua decompiling tutorial by sztupy)
- once you have the script decompiled you don't need to do it again.
- open the output file and change whatever you want
- to compile the file just type luac -o script_name script_name.txt, where script_name is the file we want to have the script_name.txt compiled
What can I change?
When you open the mode9 file we want to edit, expand the tree and you'll see many sections called 'Object'. Below them there are few lines called 'Property'. What you can easily change is:
- Position - just change the value of X and Y (center position (X=0, Y=0) and axis are different for most of the objects - you have to test this)
- Visibility - True or False (sometimes you may have to change the size of a image to 0x0, so that it won't show never)
- Font
- Font Size
- Color of text in RGB format - if Property is not available, add it
In the 25d04412_manila script you can change positions of many objects in both portrait and landscape mode.
- TabsLeft - left part of the clock (animated)
- TabsRight - right part of the clock (animated)
- clock_tabs - background of the clock (pile of tabs)
- alarm_clock - alarm info and date
- NotifiCamera3D - notifications & appointments
- NotificationShiftY - shifting of appointments when changing to small clock
To change the position just modify the first two parameters of Vector3(X, Y, Z) - both CameraPosition.value and LookAtPosition.value.
How to save and test the changes in a fast way?
Open a cab creator (for example WinCE Cab Manager) and add the files you changed to /Windows. Save the cab, copy it to your device, install and reboot Manila. You can also copy manually the file, but I prefer the first way, because in case of any problems you can easily uninstall the cab and get the default Home Screen.
How to get the Home Screen working with Background4AllTabs?
Just open the 1c684cd8_manila file by m9editor, look for 'HomeBackground' and delete the whole paragraph which contains it (from <Object>Type="Group" to the next <Object>Type="Group").
- - -
If you have any suggestions, propositions or ideas, please write them in this thread, I'll try to complete this tutorial, so it will be useful for everyone. Thanks!
i cannot come up with suggestions, but that tutorial is very nice on your side!
Although not actually about the home screen arrangement. I do think we need the information on how to patch the EXE for weather and especially non-HTC devices to be made public. The few people that know how to do it don't seem to want to SHARE that knowledge, which is damned frustrating!
Kamill, what an excellent idea. I'm looking forward to your tutorial. I wonder will it be for Manila 2.0?
Here are some ideas:
Change touch flo colour
Appointments for at least one week
Linking big clock with another application (similar to Ssmaho)
Changing soft keys names/applications
Changing font sizes/types
Changing date formats on appointments
I hope this doesn't make it too difficult (I think the second one is though for some Manila versions!)
UPDATE in first post - an early version of the mini-tutorial.
FloatingFatMan, unfortunately I don't know how to do it...
mitsi, thanks, I'll work on that.
Kamill, My question is what needs to be changed to get appointments in dates after tomorrow to appear? Do I need to edit both the mode9 and the lua script? Or is it just one of those? I'm willing to get my hands dirty to fix it.
The easiest way is to get the files from hallatore's mod for Manila 2.0 and compare them to the original. There are mainly 3 differences, you'll find them for sure. AFAIR all you have to change is in one script, you have to add an option to display the date, change the place from where appointments are being taken (poomappointments(TAB_Calendar) instead of poomappointments(TAB_Home)) and change the number of appointments in the for loop.
Hmm. Well I changed the TAB_Calendar and added the option to to display date. Those were easy. Finding the loop is harder. I forced A loop to go 5 times and I got 5 calendar events, but the ones past tomorrow were the default ones in the mode9 ("Review design comp (Dan's office)"). I did it in the InitializeFullAnimation function just below this if statement:
Code:
if l_15_15 > 5 then
l_15_15 = 5
end
So those items are not being updated from the calendar. Any ideas? Am I looking in the wrong loop?
Anyway you can post hallatore's mod de-compiled? I think I have the original, but when I use m9editor the lua has a lot of decompiled errors.
Here you go. Are you doing this on the Manila 2.1? I tried so many things to get this working, but with no success
how to change home tab
Hi, I have read all the posts here and in some other threads related, and I'm still confused
I did try to install the cabs posted, and it totally messed my home tab, so I had to hard reset every time (because uninstalling didn't fix it up).
All I want to have is this:
1. move the alarm notification on the upper-right corner (to cover or remove the ATT logo)
2. make the Call History to auto-hide if there is no missed call (or to delete it, if it is easier)
3. have more appointments visible (2-3) with the big clock, and to be able to flip the clock upwards in order to have even more appointments visible
4. when I click on the appointment, to open the Calendar (this is already possible, and I'd like to remain this way)
I apologize if this is a silly question: is this possible to be done only by editing some manila files, and if so, which ones and what should I modify?
I opened some manila files (e.g. 1c684cd8_manila) using notepad and m9editor.exe, and, honestly, I had no clue as to what should I do
I am sure that you guys know this stuff already, and it is very easy for you. If it's not complicated to explain it to me, please help me!
thank you very much
Kamill said:
Here you go. Are you doing this on the Manila 2.1? I tried so many things to get this working, but with no success
Click to expand...
Click to collapse
Thanks. I am trying for Manila 2.1. There's gotta be a way.
tatarasi said:
Hi, I have read all the posts here and in some other threads related, and I'm still confused
I did try to install the cabs posted, and it totally messed my home tab, so I had to hard reset every time (because uninstalling didn't fix it up).
All I want to have is this:
1. move the alarm notification on the upper-right corner (to cover or remove the ATT logo)
2. make the Call History to auto-hide if there is no missed call (or to delete it, if it is easier)
3. have more appointments visible (2-3) with the big clock, and to be able to flip the clock upwards in order to have even more appointments visible
4. when I click on the appointment, to open the Calendar (this is already possible, and I'd like to remain this way)
I apologize if this is a silly question: is this possible to be done only by editing some manila files, and if so, which ones and what should I modify?
I opened some manila files (e.g. 1c684cd8_manila) using notepad and m9editor.exe, and, honestly, I had no clue as to what should I do
I am sure that you guys know this stuff already, and it is very easy for you. If it's not complicated to explain it to me, please help me!
thank you very much
Click to expand...
Click to collapse
Here is the solution to all 4 requests, but it is for Manila 2.0, so be careful. Back-up first just in case. Your screen will then look similar to the one shown.
Been trying...
I've been trying for some time now to get more than today's and tomorrow's appointment's displayed in manila 2.1. I added in the code that Hallatore added (can be found in stupy's lua thread) but there seems to be something limiting the amount of days shown ahead (I hope is not limited by the manila.exe, but I think not).
As additional info, the lua file that use to be embedded in the Home.mode9 isn't any more and is named 53cc1e4f_manila for 2.1 manila and 652ae0f4_manila for 2.5 manila,
12
mitsi said:
Here is the solution to all 4 requests, but it is for Manila 2.0, so be careful. Back-up first just in case. Your screen will then look similar to the one shown.
Click to expand...
Click to collapse
This is exactly what I'm after.
Unfortunately, I tried that alternative and, again, it totally messes my TFLO, and I had to hard reset again.
What do you mean by Manila 2.0, is this the TFLO version (in Settings, I see that I have ver. 3.0 build 29946)?
thank you
Change Home tab display
Hi, thank you very much for your interest and trying to give me solutions for my request. It is amazing how people from different corners of the world are connecting and helping each other.
I presume that the file to work with is 1c684cd8_manila.
I opened that with m9editor 3.3.0.1. It's a lot of info there
Could you guys be so kind and give some clues as to what should I look for in order to change:
- the alarm notification - to move it on the upper-right corner
- the carrier logo - to delete it
- the Call History - to delete it
- the Appointments - to have at least 2-3 shown
Also, important clues as to what NOT to touch, in order to
- continue to be able to flip over the big clock
- continue to be able to open the Calendar when click on the appointment
thank you again
tatarasi said:
- the alarm notification - to move it on the upper-right corner
Click to expand...
Click to collapse
Change the X and Y in the 'Position' Property of these objects: AlarmClockOn, AlarmClockOff, AlarmTime.
tatarasi said:
- the carrier logo - to delete it
Click to expand...
Click to collapse
To the object 'OperatorLogo' add a property called 'Visibility' and change its value to False - if it won't work change it's height to 0 in the 'Size' property.
tatarasi said:
- the Call History - to delete it
Click to expand...
Click to collapse
The same as above, objects: MissedCall_SBar1, MissedCall_SBar2, MissedCallIcon, MissedCallText.
tatarasi said:
- the Appointments - to have at least 2-3 shown
Click to expand...
Click to collapse
You need to decompile the 53cc1e4f_manila script and find l_15_0.MaxShowCount and change the value of it to the desired one.
Kamill said:
You need to decompile the 53cc1e4f_manila script and find l_15_0.MaxShowCount and change the value of it to the desired one.
Click to expand...
Click to collapse
If only it was that easy... I've been trying all kinds stuff including what you suggest above. I have decompiled the 53cc1e4f_manila I'll attach it here (it's the one from yozgatg's r1.5),
12
I mean you CAN change the number of appointments, but in a range of 0 to 6 (5 with big clock). I've tried to get more appointments shown, but I failed...
Kamill said:
Change the X and Y in the 'Position' Property of these objects: AlarmClockOn, AlarmClockOff, AlarmTime.
To the object 'OperatorLogo' add a property called 'Visibility' and change its value to False - if it won't work change it's height to 0 in the 'Size' property.
The same as above, objects: MissedCall_SBar1, MissedCall_SBar2, MissedCallIcon, MissedCallText.
You need to decompile the 53cc1e4f_manila script and find l_15_0.MaxShowCount and change the value of it to the desired one.
Click to expand...
Click to collapse
Hi, Kamill,
Apologize for double posting, I am growing impatient feeling that I am so close to a solution
Regarding the Manila, I checked where you told me to, and I found out that I have TFLO 3D 1.2.37896.1_1813.6. Thank you.
Thank you for your advices, I already tried to remove the logo
- first, I added the <Property> Name=Visibility Value="False" - did not work
- then, I changed the Height=0 - still ATT was there
- lastly, I deleted the entire Object GLESSprite2D (which was above the "OperatorLogo" property - still no result
What do you think I am doing wrong?
Speaking of the number of appointments, I amazingly discovered that I do not have 53cc1e4f_manila file. What do you think that means?
thank you very much, again
Manila 1 is a bit different from 2.0 or 2.1, the 53cc1e4f_manila script is embedded in the 1c684cd8_manila mode9 file (one of those at the beginning).
AFAIK you can replace the logo file with a blank one (don't ask me which file is it, I don't know ). Or you can try to add a 'Position' property and move it out of the sight (but it may come back in some situations) - though I do not guarantee it'll work.
I hope you'll success in modifying the Manila 1 homescreen, I guess there is still a couple of people who use that version of TF3D.
I am making a spin-off of infobar, and I have it mostly working the want I want with two exceptions:
1) The weather string is usually fine, but in some cases it gets too large. Is there any way to get it to wrap to a specific bounding rectangle, or to shrink it if it gets past a certain length? Is there some way to test how long the string is? I don't want to use [tr], because I want to see the whole string.
2) Right now I am using [tr=0,25] to make sure the appointments don't overrun the box. I use [tr=0,25] instead of [tr=25] because I don't want the "..." for shorter strings. Is there some way to test the length of the string so I can only use the [tr] when I need to? That way I can get the "..." when it is appropriate. I tried using
$[tr=0,22]#C0TITLE#[tr]=#C0TITLE#?#C0TITLE#: [tr=22]#C0TITLE#[/tr]$
but the [tr=0,22]#C0TITLE#[tr]=#C0TITLE# always comes back as not equal.
Thanks.
mlkaufman said:
I am making a spin-off of infobar, and I have it mostly working the want I want with two exceptions:
1) The weather string is usually fine, but in some cases it gets too large. Is there any way to get it to wrap to a specific bounding rectangle, or to shrink it if it gets past a certain length? Is there some way to test how long the string is? I don't want to use [tr], because I want to see the whole string.
2) Right now I am using [tr=0,25] to make sure the appointments don't overrun the box. I use [tr=0,25] instead of [tr=25] because I don't want the "..." for shorter strings. Is there some way to test the length of the string so I can only use the [tr] when I need to? That way I can get the "..." when it is appropriate. I tried using
$[tr=0,22]#C0TITLE#[tr]=#C0TITLE#?#C0TITLE#: [tr=22]#C0TITLE#[/tr]$
but the [tr=0,22]#C0TITLE#[tr]=#C0TITLE# always comes back as not equal.
Thanks.
Click to expand...
Click to collapse
There is currently no way to test the length of a string in Zooper, sorry. As to the "wrap to a specific bounding rectangle", check out the X margin and Lines on a Rich Text Module The first defines the distance in pixels from the screen side when the text will break into additional lines. The second option sets into how many lines the text will break at maximum. Anything above that will be cut-off without an indicator like you get with the trim option. It's not exactly what you are looking for but I thought you might want another option to work with
Hi,
This is what I have in my advanced params section:
110[c]$#Da#=PM?#980002:#FFFFFF$[/c]#Dh#55[c]#FFFFFF[/c]:#Dmm#
I want the hour to be font size 110 and dark red if its in the PM, the colon and minutes font size 55 and the text color white.
That looks right to me but its not. Point out the errors of my ways, please.
Regards,
Dave
Sent from my Nexus 5 using Tapatalk
MrBiggzz said:
Hi,
This is what I have in my advanced params section:
110[c]$#Da#=PM?#980002:#FFFFFF$[/c]#Dh#55[c]#FFFFFF[/c]:#Dmm#
I want the hour to be font size 110 and dark red if its in the PM, the colon and minutes font size 55 and the text color white.
That looks right to me but its not. Point out the errors of my ways, please.
Regards,
Dave
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
I'll just describe how you can achieve the setup you want. See if you can identify the differences to your version and if you don't understand things just ask. I think this will help you the most in the long run
First you should identify your baseline configuration. In your case this is white as the color and a font size of 55. These you should set via the normal module settings. Now to the conditionals: since you want these to only be applied to certain portions of your (Rich) Text module, you have to put them into the content part of the module (as opposed to the Advanced Parameter section). If you have set the baseline option, the following content for your module should achieve the desired effect:
[s=110]$#Da#=PM?[c=980002]#DHH#[/c]:#DHH#$[/s]:#Dmm#
I hope this helps you understand the correct usage of conditionals in Zooper.
Happy theming!
Ok, cool!
I was confused cause I saw the statement "Warning: advanced Parameters are in use" under the fonts color. I took that as a warning that what ever I do there would be overrode by the advanced parameters. So setting the fonts size, color are a baseline then.
Now you say to put the rest of the conditional into the content part of the module. Is there a rule of thumb when to do this? And would this differ if I was using just regular text as opposed to rich text?
Edit: I did this works rather nicely! How would I be able to move the colon and minutes portion to the be inline with the top of the hours? I know there's [oy] and I tried using that:
[s=110]$#Da#=PM?[c=980002]#DHH#[/c]:#DHH#$[/s][oy=-10]:#Dmm#[/oy]
And the colon and minutes did not move up. I even tried a positive value, still the same.
Thanks!
Hello,
I can get regular fonts into zooper, however these other fonts i have downloaded i can't get to work because the keys aren't assigned like regular ttf fonts it seems. It comes with like css files and a bunch of other files where i think the icons in the font are assigned to different things, but i have no idea if this is even possible to get into zooper. The pictures i included are what is included with the font.
elementg12 said:
Hello,
I can get regular fonts into zooper, however these other fonts i have downloaded i can't get to work because the keys aren't assigned like regular ttf fonts it seems. It comes with like css files and a bunch of other files where i think the icons in the font are assigned to different things, but i have no idea if this is even possible to get into zooper. The pictures i included are what is included with the font.
Click to expand...
Click to collapse
You need to open the index.html file to check which character is assigned to which key. If its a-z keys you just use those letters in zooper to display corresponding character. If there are codes instead (like &#e001; etc) you could make an iconset to display your characters OR if you have the font svg files (in your screenshot) you can upload them to an iconfont generator site like Icomoon and assign your own keys, at least that's how I do it.
jimlahey said:
You need to open the index.html file to check which character is assigned to which key. If its a-z keys you just use those letters in zooper to display corresponding character. If there are codes instead (like &#e001; etc) you could make an iconset to display your characters OR if you have the font svg files (in your screenshot) you can upload them to an iconfont generator site like Icomoon and assign your own keys, at least that's how I do it.
Click to expand...
Click to collapse
Thanks man, i went to icomoon like you said and got to work.
I'm new to zooper and have been customising a home screen for a couple of days. One thing I wanted to do was to display a different image for each weather condition (yahoo weather).
I figured out that I can do this by having multiple bitmaps overlaid on each other, one for each weather condition, with the alpha value set to 0 if the relevant weather condition isn't detected.
With not knowing too much about zooper just yet it struck me that this might be a bit of a heavy handed approach, with potentially up to 48 bitmaps in the widget (according to the yahoo weather condition codes XML I found) each with their own advanced parameters being monitored.
So I suppose my question is, am I going about this the right way and will it be a huge drain on resources?
After reading this thread it seems I was right to think it felt heavy handed.
From what I've read, the right way to go about this is to have one bitmap layer with advanced parameters that display each picture only if the specific weather conditions are true.
Example:
Code:
$#WCCOND#=mostly cloudy?(b)/storage/emulated/0/ZooperWidget/Bitmaps/BlueBeacon/cloudy.jpg(/b)$
$#WCCOND#=sunny?(b)/storage/emulated/0/ZooperWidget/Bitmaps/BlueBeacon/sunny.jpg(/b)$
NB: The round brackets in the above code (b) (/b) should actually be square brackets but the forum turns this into bold.
You could create an iconset instead, or grab an iconset from here http://forum.xda-developers.com/showthread.php?t=2084070 and replace the images with yours.
jimlahey said:
You could create an iconset instead, or grab an iconset from here http://forum.xda-developers.com/showthread.php?t=2084070 and replace the images with yours.
Click to expand...
Click to collapse
Thanks for that, I'll look into it. Is there any advantage to going the icon route? And does it matter that my images are jpg photos (eg. a cloudy sky rather than a cloud clip art)?
TheStretchedElf said:
Thanks for that, I'll look into it. Is there any advantage to going the icon route? And does it matter that my images are jpg photos (eg. a cloudy sky rather than a cloud clip art)?
Click to expand...
Click to collapse
An iconset is a lot easier to manage (use in different widgets, sharing etc) as it's just 1 zip file. And I believe jpg will work as long as you edit the image extensions in the iconset xml file.
jimlahey said:
An iconset is a lot easier to manage (use in different widgets, sharing etc) as it's just 1 zip file. And I believe jpg will work as long as you edit the image extensions in the iconset xml file.
Click to expand...
Click to collapse
Thanks. Looks like I'll be creating my first icon set tonight then
TheStretchedElf said:
Thanks. Looks like I'll be creating my first icon set tonight then
Click to expand...
Click to collapse
Godspeed.