Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-release > by-pkgid > a11e082edbe3e13c56a76994fe2a59e5 > files > 5

gtk-css-engine-0.3.1-1mdv2010.0.i586.rpm


README
======

Libccss is required by the gtk-css-engine. It's available from http://anongit.freedesktop.org/git/ccss.git/ .

Download
--------

* Releases: [http://ftp.gnome.org/pub/GNOME/sources/gtk-css-engine/0.1/](http://ftp.gnome.org/pub/GNOME/sources/gtk-css-engine/0.1/)
* Repository: [http://svn.gnome.org/svn/gtk-css-engine/trunk](http://svn.gnome.org/svn/gtk-css-engine/trunk).


(0) Supported CSS Subset
------------------------

* Descendant selectors, e.g. `GtkComboBox GtkButton { ... }`.
* Child selectors, e.g. `GtkBox > GtkButton { ... }`.
* Class selectors, e.g. `hline.handlebox { ... }`.
  The class-part is mapped to gtk'd detail string.
* ID selectors, e.g. `GtkButton#foo { ... }`.
  The ID-part is mapped to the widget's name.
* Universal selector, e.g. `* { ... }`.
* Sequences of selectors, e.g. `GtkNotebook, GtkFrame { ... }`.


### (0.1) Supported CSS Properties ###

The following properties are at least partially supported.

* background
* background-color
* background-image
* background-attachment
* background-position
* background-repeat
* background-size
* border
* border-color
* border-style
* border-width
* border-bottom
* border-left
* border-right
* border-top
* border-radius
* border-top-left-radius
* border-top-right-radius
* border-bottom-right-radius
* border-bottom-left-radius
* color


(1) Primitives
--------------

Attributes are canonicalised, i.e. s/_/-/g.
Comments are enclosed in ().
Optionality is expressed through [].
pseudo class "normal" will be default.

* arrow
  + Classes: arrow | calendar | menu-scroll-arrow-up | menu-scroll-arrow-down | 
		menuitem | notebook | spinbutton | tearoffmenuitem |
		hscrollbar | vscrollbar
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out
     - arrow: up | down | left | right | none

* box
  + Classes: buttondefault | button | bar (cellrendererprogress) | 
	   handlebox-bin | hruler | hseparator (in `wide-separators' mode) |
	   menubar | menu | menu-scroll-arrow-up | menu-scroll-arrow-down | 
	   menuitem | hseparator | notebook | optionmenu | 
	   bar (progress-bar) | trough (progress-bar | range) | hscrollbar | 
	   vscrollbar | trough-upper | trough-lower | trough-fill-level-full | 
	   trough-fill-level | spinbutton | spinbutton-up | spinbutton-down | 
	   toolbar | vseparator | vruler | base (window)
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* boxgap, mapped onto "box".
  + Classes: notebook
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out
     - position: left | right | top | bottom

* check
  + Classes: cellcheck | checkbutton | check (menuitem)
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* diamond
  No predefined classes for this primitive.
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* expander
  + Classes: expander | treeview
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - style: collapsed | semi-collapsed | semi-expanded | expanded

* extension
  + Classes: tab (notebook)
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out
     - position: left | right | top | bottom

* flatbox
  + Classes: checkbutton | curve-bg | entry-bg | eventbox | expander | tooltip | 
	   listitem | trough (progress) | checkbutton | text | treeitem | 
	   viewportbin | base (window) |
	   cell-odd[-start | -end | -middle] | 
	   cell-even[-start | -end | -middle] | 
	   cell-odd-ruled-sorted[-start | -end | -middle] | 
	   cell-even-ruled-sorted[-start | -end | -middle] | 
	   cell-odd-ruled[-start | -end | -middle] | 
	   cell-even-ruled[-start | -end | -middle] | 
	   cell-odd-sorted[-start | -end | -middle] | 
	   cell-even-sorted[-start | -end | -middle]
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* focus
  + Classes: button | calendar-day | checkbutton | entry | expander | 
	   colorwheel-light | colorwheel-dark | iconview-drop-indicator | 
	   icon-view | add-mode (listitem) | tab | button (gtkoptionmenu) | 
	   trough (gtkrange) | text | textview | tray-icon | treeitem | 
	   treeview-drop-indicator[-left | -right | -middle] | 
	   treeview[-left | -right | -middle]
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.

* handle
  + Classes: handlebox | paned
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out
     - orientation: horizontal | vertical

* hline
  + Classes: handlebox | hseparator | menuitem | tearoffmenuitem | toolbar
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.

* option
  + Classes: cellradio | option (menuitem) | radiobutton
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* resizegrip
  + Classes: statusbar
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - edge: north-west | north | north-east | west | east | south-west | south | south-east

* shadow
  + Classes: calendar | combobox | dnd | entry | frame | handle |
	   scrolled-window | text | viewport
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* shadowgap, mapped onto "shadow".
  + Classes: frame
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out
     - position: left | right | top | bottom

* slider
  + Classes: hscale | vscale
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* tab
  + Classes: optionmenu | tab
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* vline
  + Classes: handlebox | toolbar | vseparator
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.


### (1.1) Unsupported primitives ###

* polygon
  + Pseudo classes: normal | active | prelight | selected | insensitive
  + Selectors:
     - Arbitrary widget properties that can be represented as a string.
     - shadow: none | in | out | etched-in | etched-out

* layout
  Styling of text will not be considered for now.

* string: deprecated in Gtk+ proper.


(2) Brainstorming
-----------------

* Multiple classes per element, can this be emulated somehow / do we need it at all?
* [CSS Variables](http://disruptive-innovations.com/zoo/cssvariables/). Also named colours could be implemented as built-in variables.