GTK+ Theming improvements



Hello,

So here finally an E-Mail about the GTK+ theming discussion we had at
the start of GUADEC and some things I picked up.

In the discussion CSS had been mentioned a lot of times to a large
extend because of the matching abilities that it has. It is possible to
match on the hierarchy and also neighbours. Neighbour matching is
impossible in GTK+ currently and it would with theming paddings between
widgets. Also in CSS/HTML an item can have multiple classes.

Here are some of the main points/ideas: 
      * Multiple themes in one application (eg. theme preview, glade)
      * Instead of having the support directly in GTK+ create a common
        library that can be used by Firefox, OpenOffice and maybe even
        KDE/QT
      * Don't use pixel sizes -- The maemo people designed the interface
        in millimetre, however this is not that useful on a desktop
        machine.
      * Separating positioning of widgets out of the application, and
        into the theme.
      * No non-transparent X windows if possible
      * 3D widgets, eg. lighting effects, or when rotating workspaces 
      * Solid animation support and transition effects. (imagine eg. an
        animation when a menu item is activated, or handling an opening
        expander)

There is also http://live.gnome.org/GTK%2B/NewThemeApi (which needs to
be updated) but I this is a pretty complete list.

I think an interesting thing to discuss is the scope of any system. It
was suggested that the theme should be able to handle large parts of the
UI design. Other things that could be handled by themes include
application graphics (eg. nautilus disk usage pie chart) or the metacity
window frames.


As a way forward it is important to know what a CSS based theme format
might look like. Andreas Nilson has said he could help in this area.
Other than this any ideas and comments are of course welcome.

To help the overall process, I can try to keep the wiki in sync with any
arguments that are brought up.

Benjamin

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]