Theming

Rationale

There was some complaints about various inefficiencies with the current Hildon theming framework. This page tries to recap them and offer possible solutions or ideas.

Issues with current Hildon theming framework

  • Theme packages are very big because they contain many images for misc stuff such as a world map, or pixmaps to build a graphical clock; stuff which might not be used in Ubuntu Mobile at all
  • Creating a theme is painful for graphic designers because of the amount of widgets to implement a design for
  • Creating a theme is painful for graphic designers because of the format of the pixmap file to edit which shows widgets out of context

Splitting themes into components

The Hildon theming framework relies on a fixed layout of what's available. One improvement would be to split the big layout which requires all widgets' design to be implemented into some components, such as "core", "clock", "world-map" etc.

This would allow:

  • Easier editing of smaller sub components
  • Grouping widgets by topic
  • Easier partial implementation
  • Splitting of binary packages for various parts of the theme to allow partial installation

Cascading / overriding themes

Instead of using a single theme, one solution could be to set a theme path such as THEME=ume-theme-cute:ume-theme-full and allow for fallback on the next themes if some images are not found in the first theme in the path. Alternatively, we could have a single alternate theme.

Drawing widgets in the engine

The point of the theme is to draw widgets with sexy pixmaps. Using pixmaps might also save some CPU when the Gtk engine is too expensive. However, Ubuntu Mobile targets high end hardware which has decent CPU. We could change the sapwood engine to draw /some/ widgets in C code instead of using pixmaps.

MobileAndEmbedded/UserInterface/Theming (last edited 2008-08-06 16:38:09 by localhost)