docs: rewrite the CSS Properties docs

This commit is contained in:
William Jon McCann
2014-02-07 20:52:37 -05:00
parent 7067b3c326
commit 01b2440370

View File

@ -342,7 +342,7 @@
* } * }
* ]| * ]|
* *
* # Specifying Colors * # Specifying Colors # {#specifying-colors}
* There are various ways to express colors in GTK+ CSS. * There are various ways to express colors in GTK+ CSS.
* *
* ## rgb(r, g, b) * ## rgb(r, g, b)
@ -508,55 +508,7 @@
* color-stop (1, @green)) * color-stop (1, @green))
* ]| * ]|
* *
* # Text shadow * # Border images # {#border-images]
*
* A shadow list can be applied to text or symbolic icons, using the CSS3
* text-shadow syntax, as defined in the
* [CSS3 Specification](http://www.w3.org/TR/css3-text/#text-shadow).
*
* A text shadow is specified using the following syntax:
*
* > `text-shadow: horizontal_offset vertical_offset [ blur_radius ] color`
*
* - The offset of the shadow is specified with the
* `horizontal_offset` and `vertical_offset` parameters.
* - The optional blur radius is parsed, but it is currently not
* rendered by the GTK+ theming engine.
*
* To set a shadow on an icon, use the `icon-shadow` property instead,
* with the same syntax.
*
* To set multiple shadows on an element, you can specify a comma-separated list
* of shadow elements in the `text-shadow` or `icon-shadow` property. Shadows are
* always rendered front to back (i.e. the first shadow specified is on top of the
* others). Shadows can thus overlay each other, but they can never overlay the
* text or icon itself, which is always rendered on top of the shadow layer.
*
* # Box shadow
*
* Themes can apply shadows on framed elements using the CSS3 box-shadow syntax,
* as defined in the
* [CSS3 Specification](http://www.w3.org/TR/css3-background/#the-box-shadow).
*
* A box shadow is specified using the following syntax:
*
* > `box-shadow: [ inset ] horizontal_offset vertical_offset [ blur_radius ] [ spread ] color`
*
* - A positive offset will draw a shadow that is offset to the right (down) of the box,
* - A negative offset to the left (top).
* - The optional spread parameter defines an additional distance to
* expand the shadow shape in all directions, by the specified radius.
* - The optional blur radius parameter is parsed, but it is currently not rendered by
* the GTK+ theming engine.
* - The inset parameter defines whether the drop shadow should be rendered inside or outside
* the box canvas.
*
* To set multiple box-shadows on an element, you can specify a comma-separated list
* of shadow elements in the `box-shadow` property. Shadows are always rendered
* front to back (i.e. the first shadow specified is on top of the others) so they may
* overlap other boxes or other shadows.
*
* # Border images
* *
* Images and gradients can also be used in slices for the purpose of creating * Images and gradients can also be used in slices for the purpose of creating
* scalable borders. * scalable borders.
@ -661,40 +613,6 @@
* border-image: url("gradient1.png") 10 10 10 10 stretch; * border-image: url("gradient1.png") 10 10 10 10 stretch;
* ]| * ]|
* *
* # Transitions
*
* Styles can specify transitions that will be used to create a gradual
* change in the appearance when a widget state changes. The following
* syntax is used to specify transitions:
*
* > `duration [s|ms] [linear|ease|ease-in|ease-out|ease-in-out] [loop]?`
*
* - The `duration` is the amount of time that the animation will take
* for a complete cycle from start to end.
* - If the loop option is given, the animation will be repated until
* the state changes again.
* - The option after the duration determines the transition function
* from a small set of predefined functions.
*
* ## Linear Transition
*
* ![](linear.png)
*
* ## Ease transition
*
* ![](ease.png)
*
* ## Ease-in-out transition
*
* ![](ease-in-out.png)
*
* ## Ease-in transition
*
* ![](ease-in.png)
*
* ## Ease-out transition
*
* ![](ease-out.png)
* *
* # Supported Properties * # Supported Properties
* *
@ -704,273 +622,466 @@
* a widget based environment). * a widget based environment).
* *
* The currently supported properties are: * The currently supported properties are:
* <informaltable> *
* <tgroup cols="4"> * ## engine: [name|none];
* <thead> *
* <row> * - `none` means to use the default (ie. builtin engine)
* <entry>Property name</entry> * |[
* <entry>Syntax</entry> * engine: clearlooks;
* <entry>Maps to</entry> * ]|
* <entry>Examples</entry> *
* </row> * ## background-color: [color|transparent];
* </thead> *
* <tbody> * - `color`: See [Specifying Colors][specifying-colors]
* <row> * |[
* <entry>engine</entry> * background-color: shade (@color1, 0.5);
* <entry>engine-name</entry> * ]|
* <entry>#GtkThemingEngine</entry> *
* <entry>engine: clearlooks; * ## color: [color|transparent];
* engine: none; /&ast; use the default (i.e. builtin) engine) &ast;/ </entry> *
* </row> * - `color`: See [Specifying Colors][specifying-colors]
* <row> * |[
* <entry>background-color</entry> * color: #fff;
* <entry morerows="1">color (see above)</entry> * ]|
* <entry morerows="6">#GdkRGBA</entry> *
* <entry morerows="6"><literallayout>background-color: &num;fff; * ## border-color: [color|transparent]{1,4};
* color: &amp;color1; *
* background-color: shade (&amp;color1, 0.5); * - `color`: See [Specifying Colors][specifying-colors]
* color: mix (&amp;color1, &num;f0f, 0.8);</literallayout> * - Four values used to specify: top right bottom left
* </entry> * - Three values used to specify: top vertical bottom
* </row> * - Two values used to specify: horizontal vertical
* <row> * - One value used to specify: color
* <entry>color</entry> * |[
* </row> * border-color: red green blue;
* <row> * ]|
* <entry>border-top-color</entry> *
* <entry morerows="3">transparent|color (see above)</entry> * ## border-top-color: [color|transparent];
* </row> *
* <row> * - `color`: See [Specifying Colors][specifying-colors]
* <entry>border-right-color</entry> * |[
* </row> * border-top-color: @borders;
* <row> * ]|
* <entry>border-bottom-color</entry> *
* </row> * ## border-right-color: [color|transparent];
* <row> *
* <entry>border-left-color</entry> * - `color`: See [Specifying Colors][specifying-colors]
* </row> * |[
* <row> * border-right-color: @borders;
* <entry>border-color</entry> * ]|
* <entry>[transparent|color]{1,4}</entry> *
* </row> * ## border-bottom-color: [color|transparent];
* <row> *
* <entry>font-family</entry> * - `color`: See [Specifying Colors][specifying-colors]
* <entry>@family [, @family]*</entry> * |[
* <entry>#gchararray</entry> * border-bottom-color: @borders;
* <entry>font-family: Sans, Arial;</entry> * ]|
* </row> *
* <row> * ## border-left-color: [color|transparent];
* <entry>font-style</entry> *
* <entry>[normal|oblique|italic]</entry> * - `color`: See [Specifying Colors][specifying-colors]
* <entry>#PANGO_TYPE_STYLE</entry> * |[
* <entry>font-style: italic;</entry> * border-left-color: @borders;
* </row> * ]|
* <row> *
* <entry>font-variant</entry> * ## font-family: name;
* <entry>[normal|small-caps]</entry> *
* <entry>#PANGO_TYPE_VARIANT</entry> * The name of the font family or font name to use.
* <entry>font-variant: normal;</entry> *
* </row> * - Note: unlike the CSS2 Specification this does not support using a
* <row> * prioritized list of font family names and/or generic family
* <entry>font-weight</entry> * names.
* <entry>[normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900]</entry> *
* <entry>#PANGO_TYPE_WEIGHT</entry> * |[
* <entry>font-weight: bold;</entry> * font-family: Sans, Cantarell;
* </row> * ]|
* <row> *
* <entry>font-size</entry> * ## font-style: [normal|oblique|italic];
* <entry>Font size in point</entry> *
* <entry>#gint</entry> * Selects between normal, italic and oblique faces within a font family.
* <entry>font-size: 13;</entry> *
* </row> * |[
* <row> * font-style: italic;
* <entry>font</entry> * ]|
* <entry>@family [@style] [@size]</entry> *
* <entry>#PangoFontDescription</entry> * ## font-variant: [normal|small-caps];
* <entry>font: Sans 15;</entry> *
* </row> * In a small-caps font the lower case letters look similar to the
* <row> * uppercase ones, but in a smaller size and with slightly different
* <entry>margin-top</entry> * proportions.
* <entry>integer</entry> *
* <entry>#gint</entry> * |[
* <entry>margin-top: 0;</entry> * font-variant: normal;
* </row> * ]|
* <row> *
* <entry>margin-left</entry> * ## font-weight: [normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900];
* <entry>integer</entry> *
* <entry>#gint</entry> * Selects the weight of the font. The values '100' to '900' form an
* <entry>margin-left: 1;</entry> * ordered sequence, where each number indicates a weight that is at
* </row> * least as dark as its predecessor. The keyword 'normal' is
* <row> * synonymous with '400', and 'bold' is synonymous with
* <entry>margin-bottom</entry> * '700'. Keywords other than 'normal' and 'bold' have been shown to
* <entry>integer</entry> * be often confused with font names and a numerical scale was
* <entry>#gint</entry> * therefore chosen for the 9-value list.
* <entry>margin-bottom: 2;</entry> * - Maps to #PANGO_TYPE_WEIGHT
* </row> * |[
* <row> * font-weight: bold;
* <entry>margin-right</entry> * ]|
* <entry>integer</entry> *
* <entry>#gint</entry> * ## font-size: [absolute-size|relative-size|percentage];
* <entry>margin-right: 4;</entry> *
* </row> * - `absolute-size`: The size in normal size units like `px`, `pt`,
* <row> * and `em`. Or symbolic sizes like `xx-small`, `x-small`, `small`,
* <entry>margin</entry> * `medium`, `large`, `x-large`, `xx-large`.
* <entry><literallayout>@width * - `relative-size`: `larger` or `smaller` relative to the parent.
* @vertical_width @horizontal_width * - `percentage`: A percentage difference from the nominal size.
* @top_width @horizontal_width @bottom_width * |[
* @top_width @right_width @bottom_width @left_width</literallayout> * font-size: 12px;
* </entry> * ]|
* <entry>#GtkBorder</entry> *
* <entry><literallayout>margin: 5; * ## font: [family] [style] [variant] [size];
* margin: 5 10; *
* margin: 5 10 3; * A shorthand for setting a few font properties at once.
* margin: 5 10 3 5;</literallayout> * - Supports any format accepted by pango_font_description_from_string()
* </entry> * - Note: this is somewhat different from the CSS2 Specification for this property.
* </row> * |[
* <row> * font: Bold 11;
* <entry>padding-top</entry> * ]|
* <entry>integer</entry> *
* <entry>#gint</entry> * ## margin: [length|percentage]{1,4};
* <entry>padding-top: 5;</entry> *
* </row> * A shorthand for setting the margin space required on all sides of
* <row> * an element.
* <entry>padding-left</entry> * - Four values used to specify: top right bottom left
* <entry>integer</entry> * - Three values used to specify: top horizontal bottom
* <entry>#gint</entry> * - Two values used to specify: vertical horizontal
* <entry>padding-left: 5;</entry> * - One value used to specify: margin
* </row> * |[
* <row> * margin: 1em 2em 4em;
* <entry>padding-bottom</entry> * ]|
* <entry>integer</entry> *
* <entry>#gint</entry> * ## margin-top: [length|percentage];
* <entry>padding-bottom: 5;</entry> *
* </row> * Sets the margin space required on the top of an element.
* <row> * |[
* <entry>padding-right</entry> * margin-top: 10px;
* <entry>integer</entry> * ]|
* <entry>#gint</entry> *
* <entry>padding-right: 5;</entry> * ## margin-right: [length|percentage];
* </row> *
* <row> * Sets the margin space required on the right of an element.
* <entry>padding</entry> * |[
* <entry><literallayout>@width * margin-right: 0px;
* @vertical_width @horizontal_width * ]|
* @top_width @horizontal_width @bottom_width *
* @top_width @right_width @bottom_width @left_width</literallayout> * ## margin-bottom: [length|percentage];
* </entry> *
* <entry>#GtkBorder</entry> * Sets the margin space required on the bottom of an element.
* <entry><literallayout>padding: 5; * |[
* padding: 5 10; * margin-bottom: 10px;
* padding: 5 10 3; * ]|
* padding: 5 10 3 5;</literallayout> *
* </entry> * ## margin-left: [length|percentage];
* </row> *
* <row> * Sets the margin space required on the left of an element.
* <entry>background-image</entry> * |[
* <entry><literallayout>gradient (see above) or * margin-left: 1em;
* url(@path)</literallayout></entry> * ]|
* <entry>#cairo_pattern_t</entry> *
* <entry><literallayout>-gtk-gradient (linear, * ## padding: [length|percentage]{1,4};
*
* A shorthand for setting the padding space required on all sides of
* an element. The padding area is the space between the content of
* the element and its border.
* - Four values used to specify: top right bottom left
* - Three values used to specify: top horizontal bottom
* - Two values used to specify: vertical horizontal
* - One value used to specify: padding
* |[
* padding: 1em 2em 4em;
* ]|
*
* ## padding-top: [length|percentage];
*
* Sets the padding space required on the top of an element.
* |[
* padding-top: 10px;
* ]|
*
* ## padding-right: [length|percentage];
*
* Sets the padding space required on the right of an element.
* |[
* padding-right: 0px;
* ]|
*
* ## padding-bottom: [length|percentage];
*
* Sets the padding space required on the bottom of an element.
* |[
* padding-bottom: 10px;
* ]|
*
* ## padding-left: [length|percentage];
*
* Sets the padding space required on the left of an element.
* |[
* padding-left: 1em;
* ]|
*
* ## border-width: [width]{1,4};
*
* A shorthand for setting the border width on all sides of
* an element.
* - Four values used to specify: top right bottom left
* - Three values used to specify: top vertical bottom
* - Two values used to specify: horizontal vertical
* - One value used to specify: width
* |[
* border-width: 1px 2px 4px;
* ]|
*
* ## border-top-width: [width];
*
* Sets the border width required on the top of an element.
* |[
* border-top: 10px;
* ]|
*
* ## border-right-width: [width];
*
* Sets the border width required on the right of an element.
* |[
* border-right: 0px;
* ]|
*
* ## border-bottom-width: [width];
*
* Sets the border width required on the bottom of an element.
* |[
* border-bottom: 10px;
* ]|
*
* ## border-left-width: [width];
*
* Sets the border width required on the left of an element.
* |[
* border-left: 1em;
* ]|
*
* ## border-radius: [length|percentage]{1,4};
*
* Allows setting how rounded all border corners are.
* - Four values used to specify: top-left top-right bottom-right bottom-left
* - Three values used to specify: top-left top-right-and-bottom-left bottom-right
* - Two values used to specify: top-left-and-bottom-right top-right-and-bottom-left
* - One value used to specify: radius on all sides
* |[
* border-radius: 8px
* ]|
*
* ## border-style: [none|solid|inset|outset]{1,4};
*
* A shorthand property for setting the line style for all four sides
* of the elements border.
* - Four values used to specify: top right bottom left;
* - Three values used to specify: top horizontal bottom
* - Two values used to specify: vertical horizontal
* - One value used to specify: style
* |[
* border-style: solid;
* ]|
*
* ## border-image: [source] [slice] [ / width ] [repeat]; A shorthand
* for setting an image on the borders of elements. See [Border
* Images][border-images].
* |[
* border-image: url("/path/to/image.png") 3 4 4 3 repeat stretch;
* ]|
*
* ## border-image-source: [none|url|linear-gradient]{1,4};
*
* Defines the image to use instead of the style of the border. If
* this property is set to none, the style defined by border-style is
* used instead.
* |[
* border-image-source: url("/path/to/image.png");
* ]|
*
* ## border-image-slice: [number|percentage]{1,4};
*
* Divides the image specified by border-image-source in nine regions:
* the four corners, the four edges and the middle. It does this by
* specifying 4 inwards offsets.
* - Four values used to specify: top right bottom left;
* - Three values used to specify: top vertical bottom
* - Two values used to specify: horizontal vertical
* - One value used to specify: slice
* |[
* border-image-slice: 3 3 4 3;
* ]|
*
* ## border-image-width: [length|percentage]{1,4};
*
* Defines the offset to use for dividing the border image in nine
* parts, the top-left corner, central top edge, top-right-corner,
* central right edge, bottom-right corner, central bottom edge,
* bottom-left corner, and central right edge. They represent inward
* distance from the top, right, bottom, and left edges.
* - Four values used to specify: top right bottom left;
* - Three values used to specify: top horizontal bottom
* - Two values used to specify: vertical horizontal
* - One value used to specify: width
* |[
* border-image-width: 4px 0 4px 0;
* ]|
*
* ## border-image-repeat: [none|url|linear-gradient]{1,4};
*
* Defines how the middle part of a border image is handled to match
* the size of the border. It has a one-value syntax which describes
* the behavior for all sides, and a two-value syntax that sets a
* different value for the horizontal and vertical behavior.
* - Two values used to specify: horizontal vertical
* - One value used to specify: repeat
* |[
* border-image-repeat: stretch;
* ]|
*
* ## background-image: [none|url|linear-gradient], ...
* Sets one or several background images for an element. The images
* are drawn on successive stacking context layers, with the first
* specified being drawn as if it is the closest to the user. The
* borders of the element are then drawn on top of them, and the
* background-color is drawn beneath them.
* - There can be several sources listed, separated by commas.
* |[
* background-image: gtk-gradient (linear,
* left top, right top, * left top, right top,
* from (&num;fff), to (&num;000)); * from (#fff), to (#000));
* -gtk-gradient (linear, 0.0 0.5, 0.5 1.0, * ]|
* from (&num;fff), *
* color-stop (0.5, &num;f00), * ## background-repeat: [repeat|no-repeat|space|round|repeat-x|repeat-y];
* to (&num;000)); *
* -gtk-gradient (radial, * Defines how background images are repeated. A background image can
* center center, 0.2, * be repeated along the horizontal axis, the vertical axis, both, or
* center center, 0.8, * not repeated at all.
* color-stop (0.0, &num;fff), * - `repeat`: The image is repeated in the given direction as much as
* color-stop (1.0, &num;000)); * needed to cover the whole background image painting area. The
* url ("background.png");</literallayout> * last image may be clipped if the whole thing won't fit in the
* </entry> * remaining area.
* </row> * - `space`: The image is repeated in the given direction as much as
* <row> * needed to cover most of the background image painting area,
* <entry>background-repeat</entry> * without clipping an image. The remaining non-covered space is
* <entry>[repeat|no-repeat]</entry> * spaced out evenly between the images. The first and last images
* <entry>internal</entry> * touches the edge of the element. The value of the
* <entry><literallayout>background-repeat: no-repeat;</literallayout> * background-position CSS property is ignored for the concerned
* If not specified, the style doesnt respect the CSS3 * direction, except if one single image is greater than the
* specification, since the background will be * background image painting area, which is the only case where an
* stretched to fill the area. * image can be clipped when the space value is used.
* </entry> * - `round`: The image is repeated in the given direction as much as
* </row> * needed to cover most of the background image painting area,
* <row> * without clipping an image. If it doesn't cover exactly the area,
* <entry>border-top-width</entry> * the tiles are resized in that direction in order to match it.
* <entry>integer</entry> * - `no-repeat`: The image is not repeated (and hence the background
* <entry>#gint</entry> * image painting area will not necessarily been entirely
* <entry>border-top-width: 5;</entry> * covered). The position of the non-repeated background image is
* </row> * defined by the background-position CSS property.
* <row> * - Note if not specified, the style doesnt respect the CSS3
* <entry>border-left-width</entry> * specification, since the background will be stretched to fill
* <entry>integer</entry> * the area.
* <entry>#gint</entry> * |[
* <entry>border-left-width: 5;</entry> * background-repeat: no-repeat;
* </row> * ]|
* <row> *
* <entry>border-bottom-width</entry> * ## text-shadow: horizontal_offset vertical_offset [ blur_radius ] color;
* <entry>integer</entry> *
* <entry>#gint</entry> * A shadow list can be applied to text or symbolic icons, using the CSS3
* <entry>border-bottom-width: 5;</entry> * text-shadow syntax, as defined in the
* </row> * [CSS3 Specification](http://www.w3.org/TR/css3-text/#text-shadow).
* <row> *
* <entry>border-right-width</entry> * - The offset of the shadow is specified with the
* <entry>integer</entry> * `horizontal_offset` and `vertical_offset` parameters.
* <entry>#gint</entry> * - The optional blur radius is parsed, but it is currently not
* <entry>border-right-width: 5;</entry> * rendered by the GTK+ theming engine.
* </row> *
* <row> * To set a shadow on an icon, use the `icon-shadow` property instead,
* <entry>border-width</entry> * with the same syntax.
* <entry>#GtkBorder</entry> *
* <entry><literallayout>border-width: 1; * To set multiple shadows on an element, you can specify a comma-separated list
* border-width: 1 2; * of shadow elements in the `text-shadow` or `icon-shadow` property. Shadows are
* border-width: 1 2 3; * always rendered front to back (i.e. the first shadow specified is on top of the
* border-width: 1 2 3 5;</literallayout> * others). Shadows can thus overlay each other, but they can never overlay the
* </entry> * text or icon itself, which is always rendered on top of the shadow layer.
* </row> *
* <row> * |[
* <entry>border-radius</entry> * text-shadow: text-shadow: 1 1 0 blue, -4 -4 red;
* <entry>integer</entry> * ]|
* <entry>#gint</entry>
* <entry>border-radius: 5;</entry> * ## box-shadow: [ inset ] horizontal_offset vertical_offset [ blur_radius ] [ spread ] color;
* </row> *
* <row> * Themes can apply shadows on framed elements using the CSS3 box-shadow syntax,
* <entry>border-style</entry> * as defined in the
* <entry>[none|solid|inset|outset]</entry> * [CSS3 Specification](http://www.w3.org/TR/css3-background/#the-box-shadow).
* <entry>#GtkBorderStyle</entry> *
* <entry>border-style: solid;</entry> * - A positive offset will draw a shadow that is offset to the right (down) of the box,
* </row> * - A negative offset to the left (top).
* <row> * - The optional spread parameter defines an additional distance to
* <entry>border-image</entry> * expand the shadow shape in all directions, by the specified radius.
* <entry><literallayout>border image (see above)</literallayout></entry> * - The optional blur radius parameter is parsed, but it is currently not rendered by
* <entry>internal use only</entry> * the GTK+ theming engine.
* <entry><literallayout>border-image: url("/path/to/image.png") 3 4 3 4 stretch; * - The inset parameter defines whether the drop shadow should be rendered inside or outside
* border-image: url("/path/to/image.png") 3 4 4 3 repeat stretch;</literallayout> * the box canvas.
* </entry> *
* </row> * To set multiple box-shadows on an element, you can specify a comma-separated list
* <row> * of shadow elements in the `box-shadow` property. Shadows are always rendered
* <entry>text-shadow</entry> * front to back (i.e. the first shadow specified is on top of the others) so they may
* <entry>shadow list (see above)</entry> * overlap other boxes or other shadows.
* <entry>internal use only</entry> *
* <entry><literallayout>text-shadow: 1 1 0 blue, -4 -4 red;</literallayout></entry> * |[
* </row> * box-shadow: inset 0 1px 1px alpha(black, 0.1);
* <row> * ]|
* <entry>transition</entry> *
* <entry>transition (see above)</entry> * ## transition: duration [s|ms] [linear|ease|ease-in|ease-out|ease-in-out] [loop];
* <entry>internal use only</entry> *
* <entry><literallayout>transition: 150ms ease-in-out; * Styles can specify transitions that will be used to create a
* transition: 1s linear loop;</literallayout> * gradual change in the appearance when a widget state changes.
* </entry> * - The `duration` is the amount of time that the animation will take
* </row> * for a complete cycle from start to end.
* <row> * - If the loop option is given, the animation will be repated until
* <entry>gtk-key-bindings</entry> * the state changes again.
* <entry>binding set name list</entry> * - The option after the duration determines the transition function
* <entry>internal use only</entry> * from a small set of predefined functions.
* <entry><literallayout>gtk-bindings: binding1, binding2, ...;</literallayout> *
* </entry> * - Linear
* </row> *
* </tbody> * ![](linear.png)
* </tgroup> *
* </informaltable> * - Ease transition
*
* ![](ease.png)
*
* - Ease-in-out transition
*
* ![](ease-in-out.png)
*
* - Ease-in transition
*
* ![](ease-in.png)
*
* - Ease-out transition
*
* ![](ease-out.png)
*
* |[
* transition: 150ms ease-in-out;
* ]|
*
*
* ## gtk-key-bindings: binding1, binding2, ...;
*
* Key binding set name list.
*
* ## Other Properties
* *
* GtkThemingEngines can register their own, engine-specific style properties * GtkThemingEngines can register their own, engine-specific style properties
* with the function gtk_theming_engine_register_property(). These properties * with the function gtk_theming_engine_register_property(). These properties