MADDE/Theme building

(New page: Recently, three source packages that were published in Diablo times was released in their Fremantle versions which I had waited for a long time for. These are:<br> <br> * A source package ...)
m ({{MADDE}})
 
(4 intermediate revisions not shown)
Line 1: Line 1:
-
Recently, three source packages that were published in Diablo times was released in their Fremantle versions which I had waited for a long time for. These are:<br>
+
{{MADDE}}
-
<br>
+
 
-
* A source package which generates a theme, [http://maemo.gitorious.org/fremantle-hildon-desktop/hildon-theme-variant-example hildon-theme-variant-example ]<br>
+
== Background ==
-
* This is done on the basis of [http://maemo.gitorious.org/fremantle-hildon-desktop/hildon-theme-layout-5 hildon-theme-layout-5] (also published in Maemo5.0 update2 SDK), a package that provides the GTK theming and how to slice and dice a template into the theme elements.<br>
+
 
-
* The slicers and dicers and dithers are provided in [http://maemo.gitorious.org/fremantle-hildon-desktop/hildon-theme-tools hildon-theme-tools] (also published in Maemo5.0 update2 SDK).<br>
+
Recently, three source packages that were published in Diablo times was released in their Fremantle versions which I had waited for a long time for. These are:
-
<br>
+
 
-
hildon-theme-variant-example is CC BY SA 2.5, hildon-theme-layout-5 is CC BY SA 3.0 and hildon-theme-tools is GPL 2.0 for those who are interested in that.<br>
+
* A source package which generates a theme, [http://gitorious.org/hildon-theme-example-stskeeps/hildon-theme-example-stskeeps/trees/master]
-
<br>
+
* This is done on the basis of [http://maemo.gitorious.org/fremantle-hildon-desktop/hildon-theme-layout-5 hildon-theme-layout-5] (also published in Maemo5.0 update2 SDK), a package that provides the GTK theming and how to slice and dice a template into the theme elements.
-
Now, on to what this article is actually about.<br>
+
* The slicers and dicers and dithers are provided in [http://maemo.gitorious.org/fremantle-hildon-desktop/hildon-theme-tools hildon-theme-tools] (also published in Maemo5.0 update2 SDK).
-
<br>
+
 
-
What I am going to provide you theme makers of Maemo, is a way to make theme packages similar to how the vendor-provided themes on your device is made. We had this ability in Diablo and now we have it in Fremantle.<br>
+
hildon-theme-variant-example is CC BY SA 2.5, hildon-theme-layout-5 is CC BY SA 3.0 and hildon-theme-tools is GPL 2.0 for those who are interested in that.
-
<br>
+
 
-
There was a catch with the Diablo method - it required you installing Maemo SDK, well, under Linux and this isn't always commonly found on graphics designers computers which typically ran Windows or MacOS X.<br>
+
== Building a theme ==
-
<br>
+
 
-
Thus, cross-platform solutions like [ https://garage.maemo.org/projects/thememaker Kontorri's Theme Maker] was made which emulated what these packages described are doing. It made a binary Debian package, which could only be uploaded to Maemo Extras in the non-free section.<br>
+
What I am going to provide you theme makers of Maemo, is a way to make theme packages similar to how the vendor-provided themes on your device is made. We had this ability in Diablo and now we have it in Fremantle.
-
<br>
+
 
-
Normally, developers upload a source package to Maemo Extras and the autobuilder builds it for us.<br>
+
There was a catch with the Diablo method - it required you installing Maemo SDK, well, under Linux and this isn't always commonly found on graphics designers computers which typically ran Windows or MacOS X.
-
<br>
+
 
-
Now, the ballgame has changed with [http://wiki.maemo.org/MADDE MADDE]. [http://wiki.maemo.org/MADDE MADDE] is a cross-platform Maemo SDK (Linux, Windows, MacOS X), which basically implements just about enough to cross-compile a Qt application. But why is this interesting for theme makers?
+
Thus, cross-platform solutions like [https://garage.maemo.org/projects/thememaker Kontorri's Theme Maker] was made which emulated what these packages described are doing. It made a binary Debian package, which could only be uploaded to Maemo Extras in the non-free section.
-
<br><br>
+
 
-
I've discovered that it is possible to generate the source package for a theme package within [http://wiki.maemo.org/MADDE MADDE]. What does this mean for your workflow as designers? Let me guide you through a workflow of theme design with the help of MADDE and the Maemo Extras repository.<br>
+
Normally, developers upload a source package to [[Extras|Maemo Extras]] and the autobuilder builds it for us.
-
<br>
+
 
-
Requirements:<br>
+
Now, the ballgame has changed with [[MADDE]]. MADDE is a cross-platform Maemo SDK (Linux, Windows, MacOS X), which basically implements just about enough to cross-compile a Qt application. But why is this interesting for theme makers?
-
<br>
+
 
-
* Install [http://wiki.maemo.org/MADDE MADDE] on your computer - it's a quite big download but it may be useful when you'd like to wander into Qt development as well. In this example I will be referring to paths from Windows MADDE but it should be transferable to your<br>
+
I've discovered that it is possible to generate the source package for a theme package within MADDE. What does this mean for your workflow as designers? Let me guide you through a workflow of theme design with the help of MADDE and the Maemo Extras repository.
-
<br>
+
 
-
* Something to open tar.gz files, such as [http://www.rarsoft.com/ WinRAR] or similar.<br>
+
=== Requirements ===
-
<br>
+
 
-
* The garage.maemo.org and Extras upload invitation from http://wiki.maemo.org/Uploading_to_Extras-devel. Currently you will need to set a SSH key (write 'blahblahblah' if this is nonsense to you)<br>
+
* Install MADDE on your computer - it's a quite big download but it may be useful when you'd like to wander into Qt development as well. In this example I will be referring to paths from Windows MADDE but it should be transferable to your
-
<br>
+
 
-
* Patience and willingness to learn :)<br>
+
* Something to open tar.gz files, such as [http://www.rarsoft.com/ WinRAR] or similar.
-
<br>
+
 
-
Workflow when beginning a new theme:<br>
+
* The garage.maemo.org and Extras upload invitation from [[Uploading_to_Extras-devel]]. Currently you will need to set a SSH key (write 'blahblahblah' if this is nonsense to you)
-
<br>
+
 
-
'''Step 1: Downloading the theme source package template<br>'''
+
* Patience and willingness to learn :)
-
<br>
+
 
-
On [http://gitorious.org/hildon-theme-example-stskeeps/hildon-theme-example-stskeeps/commits/master this page] there is a link that is called Download master as tar.gz. What is this? This is a theme template source package which you can customize to your own needs. Unpack the directory inside this into C:\MADDE\0.5\home\your username. Feel free to rename the directory to your intended theme name.<br>
+
=== Workflow when creating a new theme ===
-
<br>
+
 
-
'''Step 2: Executing MADDE<br>'''
+
'''Step 1: Downloading the theme source package template'''
-
<br>
+
 
-
In your start menu (or whatever your OS calls it's launcher), there should be MADDE -> MADDE Terminal.<br>
+
On [http://gitorious.org/hildon-theme-example-stskeeps/hildon-theme-example-stskeeps/commits/master this page] there is a link that is called Download master as tar.gz. What is this? This is a theme template source package which you can customize to your own needs. Unpack the directory inside this into C:\MADDE\0.5\home\your username. Feel free to rename the directory to your intended theme name.
-
<br>
+
 
-
You will now end up in your 'home directory' in MADDE, which is C:\MADDE\0.5\home\your username. <br>
+
'''Step 2: Executing MADDE'''
-
<br>
+
 
-
In there, you can 'cd directory name' where directory name is the name you gave the folder/directory from before.<br>
+
In your start menu (or whatever your OS calls it's launcher), there should be MADDE -> MADDE Terminal.
-
<br>
+
 
-
'''Step 3: Customizing the source package template, basics<br>'''<br>
+
You will now end up in your 'home directory' in MADDE, which is C:\MADDE\0.5\home\your username.
-
In the folder you should now 'sh try_it_out.sh'. This will ask you a couple of questions. You only have to do this once.<br>
+
 
-
<br>
+
In there, you can 'cd directory name' where directory name is the name you gave the folder/directory from before.
-
It will ask you the following questions:<br>
+
 
-
<br>
+
'''Step 3: Customizing the source package template, basics'''
-
* What should the package name of your theme be? (Example: hildon-theme-example)<br>
+
 
-
<br>
+
In the folder you should now 'sh try_it_out.sh'. This will ask you a couple of questions. You only have to do this once.
-
* What should be theme name be? (Example: My example theme)<br>
+
 
-
<br>
+
It will ask you the following questions:
-
* Who is the maintainer of this theme?<br>
+
 
-
<br>
+
* What should the package name of your theme be? (Example: hildon-theme-example)
-
* What should the directory name be (Example: example)<br>
+
 
-
<br>
+
* What should be theme name be? (Example: My example theme)
-
It will then set up the theme template.<br>
+
 
-
<br>
+
* Who is the maintainer of this theme?
-
'''Step 4: Customize the graphics - the fun step!<br>'''
+
 
-
<br>
+
* What should the directory name be (Example: example)
-
You can see in the directory several interesting places. The primary place for your work is in the template directory. This contains template.svg (SVG version of the basis template) and template.png (PNG version of the template). While it is up to you which one you want to edit, remember to always export template.png from the SVG.<br>
+
 
-
<br>
+
It will then set up the theme template.
-
Similar directories, icons, background images and other things to customize can be found in the applications directory.<br>
+
 
-
<br>
+
'''Step 4: Customize the graphics - the fun step!'''
-
'''Step 5: Building the source package<br>'''<br>
+
 
-
When you're done customizing, you can finally build your source package. In MADDE, you can do this:<br>
+
You can see in the directory several interesting places. The primary place for your work is in the template directory. This contains template.svg (SVG version of the basis template) and template.png (PNG version of the template). While it is up to you which one you want to edit, remember to always export template.png from the SVG.
-
<br>
+
 
-
username $ mad dpkg-buildpackage -S -us -uc -d<br>
+
Similar directories, icons, background images and other things to customize can be found in the applications directory.
-
<br>
+
 
-
This will generate a .dsc and .tar.gz in the parent directory which you can use in the next step.<br>
+
'''Step 5: Building the source package'''
-
<br>
+
 
-
'''Step 6: Uploading to Maemo Extras<br>'''
+
When you're done customizing, you can finally build your source package. In MADDE, you can do this:
-
<br>
+
 
-
You can now upload this .dsc and .tar.gz file to Maemo Extras through the [https://garage.maemo.org/extras-assistant/ Maemo Extras Assistant]. The autobuilder will then build the theme package for you and your theme will show up in Extras-devel.<br>
+
username $ mad dpkg-buildpackage -S -us -uc -d
-
<br>
+
 
-
As a bonus, anyone can base their themes upon yours as they have the 'source code' of your theme (under CC SA BY 2.5 conditions) - something not possible with ThemeMaker.<br>
+
This will generate a .dsc and .tar.gz in the parent directory which you can use in the next step.
-
<br>
+
 
-
There are probably more maintaining issues which I hope the real theme makers will explore such as adding new versions to changelogs and such and tell about in their blogs.<br>
+
'''Step 6: Uploading to Maemo Extras'''
-
<br>
+
 
-
If you have problems with any of the steps, prod me (Stskeeps) on #maemo , irc.freenode.net or comment this post. <br>
+
You can now upload this .dsc and .tar.gz file to Maemo Extras through the [https://garage.maemo.org/extras-assistant/ Maemo Extras Assistant]. The autobuilder will then build the theme package for you and your theme will show up in [[Extras-devel]].
 +
 
 +
As a bonus, anyone can base their themes upon yours as they have the 'source code' of your theme (under CC SA BY 2.5 conditions) - something not possible with ThemeMaker.
 +
 
 +
There are probably more maintaining issues which I hope the real theme makers will explore such as adding new versions to changelogs and such and tell about in their blogs.
 +
 
 +
If you have problems with any of the steps, prod me (Stskeeps) on [[IRC]] in the #maemo channel, irc.freenode.net or comment this post.
 +
 
[[Category:Development]]
[[Category:Development]]

Latest revision as of 12:57, 21 April 2010

Image:Ambox_notice.png
MADDE is currently a technology preview.

These instructions are liable to change as development progresses. If some of the components do not work as expected, please add your question to the MADDE talk thread and follow up the discussion.

tablets-dev.nokia.com is down, see MADDE#Installation for alternatives.


Contents

[hide]

[edit] Background

Recently, three source packages that were published in Diablo times was released in their Fremantle versions which I had waited for a long time for. These are:

  • A source package which generates a theme, [1]
  • This is done on the basis of hildon-theme-layout-5 (also published in Maemo5.0 update2 SDK), a package that provides the GTK theming and how to slice and dice a template into the theme elements.
  • The slicers and dicers and dithers are provided in hildon-theme-tools (also published in Maemo5.0 update2 SDK).

hildon-theme-variant-example is CC BY SA 2.5, hildon-theme-layout-5 is CC BY SA 3.0 and hildon-theme-tools is GPL 2.0 for those who are interested in that.

[edit] Building a theme

What I am going to provide you theme makers of Maemo, is a way to make theme packages similar to how the vendor-provided themes on your device is made. We had this ability in Diablo and now we have it in Fremantle.

There was a catch with the Diablo method - it required you installing Maemo SDK, well, under Linux and this isn't always commonly found on graphics designers computers which typically ran Windows or MacOS X.

Thus, cross-platform solutions like Kontorri's Theme Maker was made which emulated what these packages described are doing. It made a binary Debian package, which could only be uploaded to Maemo Extras in the non-free section.

Normally, developers upload a source package to Maemo Extras and the autobuilder builds it for us.

Now, the ballgame has changed with MADDE. MADDE is a cross-platform Maemo SDK (Linux, Windows, MacOS X), which basically implements just about enough to cross-compile a Qt application. But why is this interesting for theme makers?

I've discovered that it is possible to generate the source package for a theme package within MADDE. What does this mean for your workflow as designers? Let me guide you through a workflow of theme design with the help of MADDE and the Maemo Extras repository.

[edit] Requirements

  • Install MADDE on your computer - it's a quite big download but it may be useful when you'd like to wander into Qt development as well. In this example I will be referring to paths from Windows MADDE but it should be transferable to your
  • Something to open tar.gz files, such as WinRAR or similar.
  • The garage.maemo.org and Extras upload invitation from Uploading_to_Extras-devel. Currently you will need to set a SSH key (write 'blahblahblah' if this is nonsense to you)
  • Patience and willingness to learn :)

[edit] Workflow when creating a new theme

Step 1: Downloading the theme source package template

On this page there is a link that is called Download master as tar.gz. What is this? This is a theme template source package which you can customize to your own needs. Unpack the directory inside this into C:\MADDE\0.5\home\your username. Feel free to rename the directory to your intended theme name.

Step 2: Executing MADDE

In your start menu (or whatever your OS calls it's launcher), there should be MADDE -> MADDE Terminal.

You will now end up in your 'home directory' in MADDE, which is C:\MADDE\0.5\home\your username.

In there, you can 'cd directory name' where directory name is the name you gave the folder/directory from before.

Step 3: Customizing the source package template, basics

In the folder you should now 'sh try_it_out.sh'. This will ask you a couple of questions. You only have to do this once.

It will ask you the following questions:

  • What should the package name of your theme be? (Example: hildon-theme-example)
  • What should be theme name be? (Example: My example theme)
  • Who is the maintainer of this theme?
  • What should the directory name be (Example: example)

It will then set up the theme template.

Step 4: Customize the graphics - the fun step!

You can see in the directory several interesting places. The primary place for your work is in the template directory. This contains template.svg (SVG version of the basis template) and template.png (PNG version of the template). While it is up to you which one you want to edit, remember to always export template.png from the SVG.

Similar directories, icons, background images and other things to customize can be found in the applications directory.

Step 5: Building the source package

When you're done customizing, you can finally build your source package. In MADDE, you can do this:

username $ mad dpkg-buildpackage -S -us -uc -d

This will generate a .dsc and .tar.gz in the parent directory which you can use in the next step.

Step 6: Uploading to Maemo Extras

You can now upload this .dsc and .tar.gz file to Maemo Extras through the Maemo Extras Assistant. The autobuilder will then build the theme package for you and your theme will show up in Extras-devel.

As a bonus, anyone can base their themes upon yours as they have the 'source code' of your theme (under CC SA BY 2.5 conditions) - something not possible with ThemeMaker.

There are probably more maintaining issues which I hope the real theme makers will explore such as adding new versions to changelogs and such and tell about in their blogs.

If you have problems with any of the steps, prod me (Stskeeps) on IRC in the #maemo channel, irc.freenode.net or comment this post.