Re: Removal of icons in buttons/menus

On 10/09/13 22:21, Jasper St. Pierre wrote:
Sure, but both the user and the environment had options to override them,
and if your app broke in one of those environments of which it was
overridden by default (of which there are a lot), that's your bug.

Right, but my point is that for users that relied on GTK's default, this
change broke all their apps (since the "default" value changed) and does
not give them a way to fix it.

Effectively, this upgrade broke every GTK application where the user/DE
relied on/used GTK's default value.

That's why I think the options should be brought back, so that for all
users that used & relied on icons, nothing is broken (or they can fix it
via options in their Xsettings manager/settings.ini).

They should also be marked deprecated so it is known they shouldn't be
used/relied upon anymore. De-connecting them from Xsettings should only
happen eventually, not now.

Reducing the amount of environments an app has to be tested in is a very
good thing. I think that for GTK+ 3.10, we should add back the ability for
app authors to use the GtkSettings APIs to add back icons if that's how
they forced it on, but I don't think it should be hooked up to the
environment anymore.

On Wed, Oct 9, 2013 at 4:14 PM, Olivier Brunel <jjk jjacky com> wrote:

On 10/09/13 21:58, Jasper St. Pierre wrote:
On Wed, Oct 9, 2013 at 3:49 PM, Olivier Brunel <jjk jjacky com> wrote:

On 10/09/13 21:27, Matthias Clasen wrote:
On Wed, Oct 9, 2013 at 2:09 PM, Erick Pérez Castellanos
<erickpc gnome org>wrote:

People keep raising this issue (both on list and on IRC) and I think
there's a good reason for it.

And people will keep doing it, until they get proper answers.

As an application developer why I found troubling about this
removal is:

The setting does not do anything for you as an application developer.
was a user setting that lets users break the design of your application
making icons pop up in all sorts of places where you did not see them
because you were not testing with that particular combination of user

Nope, not quite. It was an option that let users "break the design of
one's application" (to reuse your wording) by making icons *disappear*
in all sorts of places. Images were *shown* by default, and those
settings allowed users to turn them off, not the other way around.

IOW, what GTK 3.10 did was made sure to "break the design of every GTK
application" and did so while removing the ability to fix it from users.
As for application developers, they had no warning to prepare, and can't
just fix things simply since (a) there's one way to get icons back, but
it involves calling a function on every single widget concerned, and (b)
that is only a temporary fix anyways, to "unbreak" things, since - for
menus at least - said function, like the whole widget, is deprecated.

(Which means, unless I missed something, there is no non-deprecated way
in GTK to have images in menus (except packing a GtkImage ourself in a
GtkMenuItem or similar). Whereas in GIO however, there's still

In GNOME, we turned that setting off by default quite a long time ago.
Probably around 5-6 years at this point. So, if your application relied
menus and buttons having icons, it would have broken in mid-GNOME2-era

Ok, but this isn't about a change in GNOME, but in GTK. And the default
for those options was still TRUE a few days ago in GTK 3.8


First: the fact that no-one has explained the reasons behind it.
we can guess the thing has to do with Wayland port but yet there's no
comment in those commits explaining the reasons behind it.

I just did.

Second: The workaround being settings the option in every widget of an
application is not a friendly towards app developers.
Right now, in a moment where new widgets come into Gtk+, the *Getting
Started* section appeared in the docs and there's this new attention
developer story with Gtk+ (and others), that doesn't seem very

Again, the GtkSettings that we are discussing here do nothing for
application developers. On the contrary, by removing the settings, we
given you as application developer _more_ control over how your
appears to your users.

gtk-devel-list mailing list
gtk-devel-list gnome org

gtk-devel-list mailing list
gtk-devel-list gnome org

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