Theming, again

Ivan Cukic ivan.cukic at kde.org
Mon Jun 4 18:51:31 UTC 2012


> then let's go through the API and mark which are which so we can plan
> properly for libplasma2. as you made the assertion, i'd like to ask you go
> first :)

I don't mind the API of the class that much. That is, the things that it 
provides, I guess it could be prettier but that's another point (maybe for 
ervin :) )

The thing that is it has (imo) too many features:

- non-stretch borders or center
   is there any important theme really using this?

- mask
   ok, this serves some purpose - defines the mask for blur and overlay
   (see next item)

- overlay
   introduced for a single purpose - to show circles in the Air theme. Later,
   to show rectangles. Now not used by the theme it was designed for at all.
   I do use it in one of mine, but I'm still for dropping it.

- applying colour scheme
   introduced for Aya so that it can emulate the application style.

- background as one element with borders on top
   (this is one of my favourite features and will hurt anyone who
   removes it :) )

- more good features I forgot, and maybe a few bad ones as well

So, IMO, some of these are consequences of wanting to do a lot of features 
without doing programmable theme engines. Now that QML will be in the 
background, most of them could be done in a different way.

We have issues that aren't a direct consequence of FSVG, but fixing them would 
make it a lot more complicated, and tailored to special cases.

- visually connecting the popups with the applets
   example: http://kde-look.org/CONTENT/content-pre1/53086-1.png
   or a 'triangle' pointing to the applet or anything else that people can
   devise
   (yeah, this is my main issue)

- differently presenting items (tasks for example) in panels that are 
vertical, horizontal, etc.

- (just so that Aaron has a reason to kill me) custom rotating animations on 
task hover and similar :)

- setting different coloured backgrounds for different applets

- etc.

> > The issue with the current usage of it (and we are all to blame for
> > this one - it *is* a nice tool that covers a lot of use-cases) is that
> > it exists as a first class citizen - if you just want a simple
> > round-corner rectangle painted, you still need to use svgs. (iirc,
> 
> * where is that written?

What do you mean? It is not written that coders need to use FSVG, but if you 
are a theme maker, you can't just say "i want a simple rectangle for the 
background of an applet", you need to make a 9-element svg.

> * what are the real performance issues with this? (as in: has anyone
> measured? i did a bunch of measurement a couple years ago so that we got to
> the current acceptable point...)

The official issue *was* (don't know how relevant it still is - needs to be 
checked) that amarok started slower because of plasma theming.

-- 
Acting is merely the art of keeping a large group of people from coughing.
  -- Sir Ralph Richardson



More information about the Plasma-devel mailing list