New Concept: Plasma Faces - Theming for individual plasmoids

Ismael Asensio caciquecola500 at gmail.com
Wed Apr 16 23:01:48 CEST 2008


I'd like to post an idea about a new concept that IMHO could be added to
plasma. For the last weeks I'm having lots of free time at work, and no
computer at all, which has resulted into creative thinking about new
possibilies of plasma. In fact, I've thought about some different things,
but I'll start with this one.

The purpose of posting it, providing that I have very little experience
coding on KDE/Qt (I usually do just plain C or C++) is to not keeping these
ideas just for myself. I don't want it to sound like: "pleazzz pleezzz
implement my awesome idea" (although it would be great). Maybe someone finds
it useful or I can just get some hints about how to implement it myself.
Well, the point is just to broadcast the idea to the plasma comunity.

I know that maybe it's not a good time to post this message since the main
plasma team is still hibernating after the plasma sprint in Milano, but i'd
welcome any kind of feedback.

-----------------------

Plasma Faces: The Concept

Faces are specific "themes" for a certain plasmoid (i.e. analog clock,
battery)

The aim is to give the user the power of changing the look of any specific
plasmoid without changing the look of the rest of plasma elements.

How does it work

Each different face is embedded in a single file (.face, .plasmaface,
.whatever)

This file contain the graphic elements (mainly SVGs) needed to give that
plasmoid a new look. Now with WoC, they can contain also stylesheets for the
widgets of the plasmoid.

Plasmoids that are faceable set the structure with the list of items that
the file must have. Then, the different elements of the file are extracted
as it is currently done with themes.

When a face is installed, plasma registers it in asociation with the
plasmoid that the face is aimed for.

In the plasmoid configuration, the user can select one of the faces that are
associated to that plasmoid, or the default look, given by the plasma
default theme or the plasmoid author.

Faces can be installed via HotNewStuff, or simply downloading the face file.
If a face file is dropped onto the plasmoid of interest, it gets installed
(if it wasn't installed before) and applied.

Examples of Use

The analog clock. Although each plasma theme contains a default clock face,
users will likely change this look without having to change the whole plasma
theme.
For example, Annie (I've found that examples make a stronger effect if I
give real names :p) wants to have a stilized big analog clock on the
desktop, but a high contrast one on the panel.
Chuck likes the fluffy-bunny theme, but also the slim-glow clock.
Jessie likes to change the color of the clock depending on its emotional
state.

The weather applet. Different icon sets for the sun, clouds, rain, etc. can
be implemented this way.

The panel. Bill likes to use the new KDE4 on his Gentoo box, but somehow, he
prefer a windows-like green&blueish panel.

New plasmoids. A brand new atonishing plasmoid has been created, but the
different themes haven't all the graphic elements that it needs. The author
has created two different graphics sets.

Photo plasmoid. Currently, frames of the photo plasmoid, depend on the
plasma theme in use, but they don't look so integrated as the other
plasmoids. The user can choose between rounded and square frames changing an
option in the config dialog. This seems a bit restrictive:
Jack wants a polaroid-like frame.
Jean an old-fashiones photo one.
Square and rounded frames can also be implemented as faces


Possible objection: "If someone wants a new look for a plasmoid, he can just
create a different plasmoid. That's what plasma DataEngines and Plasmoids
are about".

The analog clock, the fuzzy clock, the digital clock etc, are different
clock concepts and, therefore, they're implemented as different plasmoids.
But to have the same analog clock with a different look doesn't worth to
duplicate a plasmoid.

It also doesn't make sense to duplicate the weather applet just to have a
different icon set. The weather plasmoid could implement it's own mechanism
to choose between icon sets, but then, why not to make a global way
available to all plasmoids that want to use it?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/panel-devel/attachments/20080416/8e4729be/attachment.html 


More information about the Panel-devel mailing list