Skip directly to content

ThemeChanger

Introduction

In first phase, this tool is meant for creative people who want to innovate new themes for MeeGo Harmattan devices, N9 and N950.
Tool can be used to test your new theme.
Later when custom themes are available, users can change themes using this tool.
Note that using this application is in your own responsibility, and you have to note that you need to reboot your device after changing theme, for the new theme to apply correctly.
Without a reboot, theme doesn't change, or it might change partly and you may see drawing errors.
Important note: ThemeChanger does not come with any custom themes, to be able to use the application, you have to have either custom themes installed from others, or you have to create your own theme first.
The application shows two themes by default: "Developer" and "Blanco". Blanco is your current theme, but don't select "Developer", cause it includes only red squares (missing icons).
If you don't have skills to create your own theme, you have to wait for other themes to became available from other developers first.
 
 
Note: If changing theme causes your emoticons to show up as blank document icon, checkout this thread: http://talk.maemo.org/showthread.php?t=80655
You need to replace your emoticoncache by placing emoticon backup dir given in above thread to /home/user/ and your emoticons will show up correctly again.
Huge thanks for F2thaK for providing his theme and for the emoticon backup and tip! :)

Quick usage instructions (longer ones on the bottom of this page)

1) Open ThemeChanger app
2) Select theme you want to change to from the list
3) Select "Apply" when asked
4) Click "OK" when you're informed you have to reboot your device
5) Reboot from terminal or shutdown and start up
6) See the phone using the new theme :)
 

Instructions for creating custom themes

All you need is a bit graphic skills, knowledge of how to ssh to your device and some harmattan packaging skills (or even simple .tar.gz is enough if distributed outside Nokia Store)
If you are not going to replace the whole theme (~1500 graphic pieces), you should inherit your theme from the existing Blanco theme.
That way you can have as many pieces you like of your own graphics, and rest of the pieces stay intact.
Steps are in the following chapters.
 

Create your own theme dir

Themes reside in this path on your device: /usr/share/themes
Your theme will be new directory in that path, let's say it "mythemedir" in this example
you'll create following dirs:
/usr/share/themes/mythemedir
/usr/share/themes/mythemedir/meegotouch
/usr/share/themes/mythemedir/meegotouch/icons
 

Copy existing icon names

Theme fetches icons by their names from active theme dir.
This means in your theme, you have to keep the icon names same, just replace the graphics.
The current Blanco theme icons reside in this path: /usr/share/themes/blanco/meegotouch/icons
Take note of the names and sizes of the icons you want to recreate in your theme, and create icons with same name and size to  /usr/share/themes/mythemedir/meegotouch/icons
Easier way is to copy some of the Blanco icons, open them in graphics application and replace the contents with your own graphics.
 

Theme Index file

Only thing you need is your theme index deskop entry.
It gives basic info of your theme, copy following template and save it as index.theme

 

[Desktop Entry]
Type=X-MeeGoTouch-Metatheme
Name=My Theme
Encoding=UTF-8
 
[X-MeeGoTouch-Metatheme]
X-Inherits=blanco
X-Icon="icon-l-meegotouchtheme-mythemedir"
X-Visible=true
 
[X-DUI-Metatheme]
X-Icon="icon-l-meegotouchtheme-mythemedir"
X-Inherits=blanco
X-Visible=true
 
Replace mythemedir with your own theme name.
Name key doesn't have to be same, it's something that will be shown to the user when he browses theme in ThemeChanger.
So, replace "My Theme" with a nice and catchy name for your own theme :)
X-Icon key tells name of your icon, without the .png suffix.
If you want your theme to have icon which is visible in the ThemeChanger, you need to put icon with name "icon-l-meegotouchtheme-mythemedir.png" in your icons directory.
If you are recreating the whole theme (note again, ~1500 pieces), you can change the X-Inherits key to "base", but this is not recommended,
as the "base" theme (visible as "Developer" in ThemeChanger) is not supported, and it doesn't have any correct graphics.
When you're done with the changes, copy index.theme to /usr/share/themes/mythemedir/index.theme and your done, and ready for testing
 

Usage of ThemeChanger

Open ThemeChanger and you should see list of themes, including your own.
Please don't change theme to "Developer", because after reboot, all you can see is red squares instead of icons.
If you can't see your theme in the list, make sure your theme index file is in correct place and it doesn't include other changes than mentioned in the previous chapter.
Now you can select your theme from the list.
When asked if you want to apply, select "Apply", and "OK" from the following dialog which asks you to reboot your device.
Now close the ThemeChanger app (by swiping down), and shutdown and start again your device, or reboot from the terminal.
When devices starts up, you should see your own icons in the place of the original ones.
You can always change your theme back to "Blanco" the same way, if something goes wrong, and the device seems unusable.
Any amount of custom themes can be created the same way, and I really hope someone takes and action and creates a few beautiful themes for us to enjoy :)