I spent some time over the last few days working on an
look improvements for GTK+-1.2 for a couple of reasons:
- To have a nicer looking look for GTK+-1.2
- To start working on ideas for GTK+-2.0's default theme
in practice.
Creating a theme for this new look involved adding some simple
properties-in-the-style capabilities to GtkStyle so that I could
adjust geometry parameters such as width-of-scrollbar.
This was done by adding to functions to gtkstyle.h:
void gtk_style_set_prop_experimental (GtkStyle *style,
const gchar *name,
gint value);
gint gtk_style_get_prop_experimental (GtkStyle *style,
const gchar *name,
gint default_value);
These are essential a extremely dumbed down version of a facility
we'll have in GTK+-2.0 to have properties associated with
a particular GtkStyle that you can set from an RC file.
Attached is a patch (also found at:
http://www.gtk.org/~otaylor/gtk/2.0/ui/gtk+-1.2.8-theme.patch)
that implements the above functions and makes a number of
geometry parameters adjustable.
Please note that the new API that this patch introduces is
experimental - note the names; it will not be in GTK+-2.0.
A new theme that uses the patch is at:
http://www.gtk.org/~otaylor/gtk/2.0/ui/raleigh.tar.gz
The differences from the standard GTK+ look can be summarized
as briefly:
- Complete elimation of Motif-style raised arrows
- MS Windows style check and radio buttons
- Wider scrollbars with shallower relief
I think it is in general a big improvement, though there are
still definitely things I want to tweak further.
I don't know if this is the direction we want to go for the GTK+-2.0
default theme or if we want to go with something more radical.
Some mockups that came out of a discussion on this subject are at:
http://www.gtk.org/~otaylor/gtk/2.0/ui/
I'm fairly partial to the look of Garrett's mockup (which basically
became his Premier theme). But it has at least one major useability
issue - you can't tell whether widgets are focused or not.