One thing that many people dislike about Gnome 3, in my opinion is that
the authors/maintainers impose a lot of decisions on you. They are in fact
not really hard coded, but I found documentation to be really inaccessble
on how to change them.
For example colors. I found it extremely badly documented on how to
customize GTK colors. And at the same time, a lot of the themes do not work
reliably across different Gnome versions. For example the unico engine in
Debian experimental is currently incompatible with the main GTK version there
(and even worse, GTK does not realize this and refuse to load the incompatible
engine). A lot of the themes you can get on
gnome-look.org for example use unico.
So it's pretty easy to get stuck with a non-working GTK 3, this really should
not happen that easily. (I do not blame the Debian maintainers to not have
worked around this using package conflicts yet - it's in experimental after
all. But upstream should know when they are breaking APIs!)
For my work on the
ELKI data mining
framework I do a lot of work in Eclipse. And here GTK3 really is annoying,
in particular the default theme. Next to unusable, actually, as code
documentation tooltips show up black-on-black.
Recently, Gnome seems to be mostly driven by a mix of design and visual
motivation. Gnome shell is a good example. No classic Linux user I've met
likes it, even my dad immediately asked me how to get the classic panels back.
It is only the designers that seem to love it. I'm concerned that they are
totally off on their audience, they seem to target the mac OSX users instead
of the Linux users. This is a pity, and probably much more a reason why
Gnome so far does not succeed on the Desktop: it keeps on forgetting the
users it already has. They by now seem to move to XFCE and LXDE because neither
the KDE nor the Gnome crowd care about classic Linux users in the hunt for
copying OSX & Co.
Anyway, enough ranting. Here is a simple workaround -- that hopefully
is more stable across GTK/Gnome versions than all those themes out there --
that just slightly adjusts the default theme:
$ gsettings set \
org.gnome.desktop.interface gtk-color-scheme '
os_chrome_fg_color:black;
os_chrome_bg_color:#FED;
os_chrome_selected_fg_color:black;
os_chrome_selected_bg_color:#f5a089;
selected_fg_color:white;
selected_bg_color:#c50039;
theme_selected_fg_color:black;
theme_selected_bg_color:#c50039;
tooltip_fg_color:black;
tooltip_bg_color:#FFC;
'
This will turn your panel from a designer-hip black back to a regular
grayish work panel. If you are working a lot with Eclipse, you'll love the
last two options. That part makes the tooltips readable again!
Isn't that great? Instead of caring about what is the latest hipster colors,
we now have readable tooltips for developers again instead of all that
fancy-schmanzy designer orgasms!
Alternatively, you can use dconf-editor to set and edit the value.
The tricky part was to find out which variables to set. The
(undocumented?) os_chrome stuff seems to be responsible for the panel.
Feel free to change the colors to whatever you prefer!
GTK is quite customizable. And the gsettings mechanism actually
is quite nice for this. It just seems to be really badly documented. The
Adwaita theme in particular seems to have quite some hard-coded
relationships also for the colors. And I havn't found a way (without doing a
complete new theme) to just reduce padding, for example. In particular, as
there probably are a hundred of CSS parameters that one would need to
override to get it into everywhere (and with the next Gnome, there will
be again two dozen to add?)
Above method just seems to be the best way to tweak the looks.
At least the colors, since that is all that you can do this way. If you want
to customize more, you probably have to do a complete theme. At which point,
you probably have to redo this at every new version. And to pick on
Miguel de Icaza: the kernel APIs are extremely stable, in particular
compared to the mess that Gnome has been across versions. And at every new
iteration, they manage to offend a lot of their existing users (and end up
looking more and more like Apple - maybe we should copy more from where
we are good at, instead of copying OSX and .NET?).