Re: GtkTreeView Questions



Guy Harris <gharris flashcom net> writes: 
> 
> ...and also lets the programmer write code to let the user configure it.
> It is *NOT* the case that all instances of
> "gtk_ctree_set_expander_style()" represent a programmer making
> the decision for the user.

There are 50 or 100 things you could reasonably configure about the
GTK default look. I think it's fantastically broken and a disservice
to users for every app to have a dialog that picks some random 20 of
those things, with a custom GUI for configuring them. If I like the
arrow expanders, am I supposed to open 100 apps, figure out if and
where they have a GTK-appearance-configuration-UI, and make the
change? It's just not a good UI; it's totally broken. Say I go through
the 100 apps changing the text color, then change themes so that the
text color isn't readable anymore; do I go back through the 100 apps?
This situation is a waste of app developers time writing the config
dialogs, a waste of GTK maintainer time supporting the related API, a
waste of user's time trying to find and figure out all the app
dialogs, and isn't even a good or useful UI feature. ;-)

If you want this, the solution is to have a single control panel app
that lets you configure this stuff. If that requires GTK extensions
then we'll put them in. But we aren't going to go out of our way to
support the rather unpleasant situation described in the previous
paragraph. All it does is break things when the problem is finally
solved for real, because apps are overriding the global prefs left and
right.

If you don't believe me that this is a burden on GTK maintenance, all
you have to do is look at all the cruft in GtkProgress/GtkProgressBar
and GtkNotebook. Those have tons of programmer-configurable options
when a sensible behavior should have just been selected by GTK and
left that way, while the API developers actually should use is kind of
crappy, and the widgets are probably double the code size they need to
be and hard to figure out how to modify when they have bugs.

So that's the reason for the policy; applications have no business
configuring things that are not application-specific. If the statement
"I prefer foo" by a user applies equally to any application, then
there is no reason that foo should be set within a specific
application. Every Windows app doesn't have a way to set up colors;
you right-click on the desktop, choose properties, and set the colors
globally.

That said, once we have a generic way to specify widget look via
GtkStyle and gtkrc, you can always modify things programmatically just
as you modify color now. If nothing else there's a function to parse
inline gtkrc strings. ;-) But at least that mechanism makes it
explicit that you're overriding the theme, which hopefully gives
people pause.

Havoc




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]