HowTo: Custom theme for Harmattan, from scratch to Community App store

There is something I want to share with you. I’ve been lately tinkering on customizing Harmattan to look like it’s _my_ phone. There was a time when Widgetsgallery demo app was included in the Harmattan image, and it had a feature which allowed changing between installed themes. Now the app is gone from the image, but the source is still available in gitorious. I decided to bring the most useful feature back and assembled a dedicated theme changer application, taking advantage of the LGPL source of Widgetsgallery. The ThemeChanger app ( by Leimu ) is currently downloadable from Community OBS. Here’s quick instructions how to do it most conveniently from your device:

Add a file named themechanger.list to /etc/apt/sources.list.d/ and write this line to the file:

deb ./

Now you can apt-get update & apt-get install themechanger.

If you would like to test the ThemeChanger app out, you’ll need at least one custom theme installed to your device. You can download the ones I did by adding this repository to your device:

Add a file named themes.list to /etc/apt/sources.list.d/ and write this line to the file:

deb ./

Now you can apt-get update & apt-get install either funkyocean or purplehaze packages.

Here’s how they look like:




To create your own icon set, it’s easiest to see what one of those have been eaten. All the installed files are found under /usr/share/themes/funkyocean/ or /usr/share/themes/purplehaze/.

Basically the minimal you have to have is the index.theme file and the wanted amount of icons. My icon set includes icons for the basic pre-installed applications excluding games. In your icon set it’s possible to have more or less icons, depending of your choice. Complete instructions on creating a theme and how to use the ThemeChanger tool is located here:

When you have all the icons (sized 80×80 pixels) ready for your theme, it’s time to create packaging for the set. Easiest way to create a debian package which does not build anything, just installs the icon set files, is to use cdbs tool which is installable in scratchbox. When your package is complete, you can create a project in Community OBS. I’ll continue with detailed instructions on packaging and with instructions for using C-OBS for n00bs like me in the next posting.