Wide Theme Switcher

Registered by Étienne BERSAC

Define what is themable from usplash to cursor. Write a tool able to switch system wide theme configuration (usplash, gdm, cursor) and use theme (splash, icon, gtk, metacity, sound, cursor, wallpaper), in a simple manner.

Blueprint information

Not started
Frank Schoep
Needs approval
Ubuntu Artwork Team
Series goal:
Milestone target:

Related branches



 - needs to be able to display thumbnails for themes that are not already installed.
 - needs a kind of "repos" for "looks". Somewhat like gnome-app-install, but for looks.

Miscellaneous Notes (therapeutic version):

1) The Fundamental Issue

Flexibility is a Great Thing.
When one can select controls, window frames and icons, a great deal of creativity can be achieved.

Alas, it's also a recipe for horrible combinations!
Clearly, controls, window frames and icons must blend well to create a theme that does not look like a hodgepodge of incompatible visual elements.

Alas, this approach fosters reusability (tongue-in-cheek), which commonly breeds laziness: You end up with 1,000 knockoffs of Clearlooks and 1,000,000 knockoffs of the Tango Icon Library.

Finally, it forces "the rest of us" to understand the intricacies of and interrelations between GTK 1.x, GTK 2.x, Metacity, icon sets, etc. (let alone Compiz or Beryl).
These alphabet soups and technologies scare "the rest of us" away from Linux distributions.

Therefore, themes should cover all elements of the desktop as a cohesive whole.
Hence, a theme should encompass the following elements:
- Controls
- Window frames
- Icons
- Fonts
- Sounds
- Wallpapers
- Etc.

Essentially, anything that is audible or visible should have been designed to blend under a unified charter, as determined by the author of the theme.
(This also means "the rest of us" does not want to know why GDM, splash screens and desktop are different realms.)

Now, I already hear the outcry: "Impossible! It takes far too many different skills for anyone to succeed in creating such integrated themes."

That may be true and it may be what separates Ubuntu from other well-received desktop operating systems. (in Cupertino)

Yet, teamwork is what makes such dreams possible.
We don't need a plethora of engines, engine knockoffs, icon set knockoffs.
We need a more integrated user experience.

Example : gnome-art is a very basic tools that do a similar works. It can access a wide range of themes, preview them and install them. It could maybe look like that!


2) Small Details

This is a pet peeve of mine...

Golden Rule of Icon Design:

"The smaller the rendering size, the lesser the amount of detail an icon can bear."

Vector graphics DO NOT break this rule. Too much detail will cause an icon to look ugly when rasterized to 16x16 or even 32x32.

I see too many talented artists create their icons at 256x256 or higher resolutions and then hope they will look as good when scaled down to smaller sizes.

The implications of this truth are tremendous in terms of workload.
Indeed, it means that icons need to develop multiple personalities depending on their rendering size.
In other words, an icon file representing a certain concept would contain completely different graphics depending on the desired rendering size. (granted what matters is the clarity of the represented concept)
If a large rendering size is called for, a highly-detailed version of the icon would be used. Etc.

I am open to elaborate on this. An example of what I mean would certainly help.

3) More to do with theming the system than theme design:

-When themes are being installed, it should detect what is necessary to run a theme. For example: If a user downloads an Emerald windowframe and drags it into the theme dialog, it should notice this and inform the user "This is an Emerald theme. To use it, Desktop Effects need to be enabled, and the following will be downloaded and installed... Change theme?"
-If the user has not enabled desktop effects, it should present the option to enable only what is required for the Emerald Decoration (as opposed to other effects, confusing the user who just wants a shiny frame)

"Epidermis" theme manager - https://launchpad.net/epidermis/
It's a project working on this


Work Items