DOC: start documentation of Lumiera GUI theming
This commit is contained in:
parent
51b81640eb
commit
a603199207
1 changed files with 34 additions and 0 deletions
34
doc/technical/gui/guiTheme.txt
Normal file
34
doc/technical/gui/guiTheme.txt
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
Lumiera GUI style and theming
|
||||
=============================
|
||||
|
||||
|
||||
'this page collects some pieces of information regarding the visual appearance of the Lumiera GTK GUI'
|
||||
|
||||
GTK-3 styles
|
||||
------------
|
||||
Styling of GTK-3 interfaces is based on CSS, with some specific conventions about the selectors
|
||||
and some additional makro functions to generate colours and gradients. When GTK actually renders a widget,
|
||||
id consults a 'strategy object' known as *Theme Engine*, passing it the region to draw in a abstracted way.
|
||||
The Theme Engine in turn uses a '``style provider''' to retrieve the generic style properties it uses for drawing.
|
||||
Thus, the Theme Engine defines the actual meaning of any style and is in the position to understand and thus
|
||||
introduce additional engine specific styles and settings.
|
||||
|
||||
GTK-3 supports the powerful 'cascading' and 'contextual selectors' from CSS. Thus the nesting of elements
|
||||
in the GUI forms the base for creating styling rules. Obviously it is preferrable to keep those rules
|
||||
generic; we may refer to individual gui elements by name (`#ID`) though.
|
||||
|
||||
Recommended reading
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
* for technically precise coverage, consult the pages
|
||||
https://developer.gnome.org/gtk3/3.4/GtkCssProvider.html[GtkCssProvider]
|
||||
and
|
||||
https://developer.gnome.org/gtk3/3.4/GtkStyleContext.html#gtkstylecontext-classes[predefined style classes]
|
||||
in the GTK-3 reference manual.
|
||||
* to start, look at this http://thegnomejournal.wordpress.com/2011/03/15/styling-gtk-with-css/[introductory text],
|
||||
or the more http://worldofgnome.org/making-gtk3-themes-part-1-basics/[hands-on series of articles from world of gnome]
|
||||
* this http://forums.fedoraforum.org/showthread.php?t=281568[post from fedora forum] features a conciese description
|
||||
of the task of theme creation
|
||||
* to understand the old (now obsolete) GTK-2 stylesheets, you might
|
||||
http://orford.org/gtk/[look here]
|
||||
|
||||
|
||||
Loading…
Reference in a new issue