In GtkStyle-based engines, GtkRCStyle provided ways to extend the
gtkrc parser with engine-specific extensions. This has been replaced
by gtk_theming_engine_register_property()
, which lets a theme engine
register new properties with an arbitrary type. While there is built-in
support for most basic types, it is possible to use a custom parser
for the property.
The installed properties depend on the “name” property,
so they should be added in the
vfunc.
For example, if an engine with the name "Clearlooks" installs a
"focus-color" property with the type GdkRGBA, the property
constructed()
-Clearlooks-focus-color
will be registered and
accepted in CSS like this:
1 2 3 |
GtkEntry { -Clearlooks-focus-color: rgba(255, 0, 0, 1.0); } |
Widget style properties also follow a similar syntax, with the widget
type name used as a prefix. For example, the GtkWidget focus-line-width
style property can be modified in CSS as
-GtkWidget-focus-line-width
.