http://lives.sourceforge.net
https://www.openhub.net/accounts/salsaman

On Mon, May 4, 2015 at 6:11 PM, Jasper St. Pierre <jstpie...@mecheye.net>
wrote:

> There are lots of widgets which don't (yet) respect all CSS
> properties. That's because when you try, you break themes which do
> something like: "* { background: gray; }", and some widgets weren't
> expecting to get a gray background.
>
> We're trying to make more widgets respect CSS, but it's a careful
> balancing act to play.
>
>
I fully understand that and I agree that it's a good solution.

However there is supposed to be a priority level in the CSS for exactly the
reason that sometimes you want application colour schemes to override the
user/theme settings, and other times you want the user/theme settings to
guide the application.

>From my testing I believe that this priority level system is broken.
Setting to the highest priority should override everything, and yet it
doesn't - for example one of the examples I gave: label background colour
for spinbuttons. It seems like the theme colours are always used,
regardless of the CSS priority level.








> On Mon, May 4, 2015 at 2:05 PM, salsaman <salsa...@gmail.com> wrote:
> > a) CSS styling is broken in gtk. I have tried to use it set various
> widgets
> > and a lot of the time it fails.
> >
> > b) The only functions which work semi-consistently in gtk+ 3.0 are:
> > gtk_widget_override_color() and gtk_widget_override_background_color()
> >
> > c) The above functions work for most widgets, except for a few cases like
> > the background for labels in spinbuttons and the background colour for
> tabs
> > in gtk notebook widgets. There is apparently no way to set these. You can
> > try via the above functions or by CSS but the colour cannot be changed
> > within an application.
> >
> > Regards,
> > Salsaman
> >
> >
> >
> > http://lives.sourceforge.net
> > https://www.openhub.net/accounts/salsaman
> >
> >
> >
> > On Mon, May 4, 2015 at 10:01 AM, The Devils Jester
> > <thedevilsjes...@gmail.com> wrote:
> >>
> >> That may be an elegant solution to drawing using theme parts, but thats
> >> not the question.  That is not an elegant solution for getting solid
> colors
> >> that are similar to the overall theme, but not using gradients or
> textures.
> >> The deprecated function gives me a useful, expected value, what ever it
> does
> >> to give a reasonable approximation has worked great for years, where as
> the
> >> other function gives me black for all background colors, all the time,
> on
> >> almost every widget. (Some give white).
> >>
> >> On May 4, 2015 7:49 AM, "Emmanuele Bassi" <eba...@gmail.com> wrote:
> >>>
> >>> Hi;
> >>>
> >>> On 4 May 2015 at 13:38, The Devils Jester <thedevilsjes...@gmail.com>
> >>> wrote:
> >>> > I am aware of the dynamics of GTK
> >>>
> >>> If you say this, followed by:
> >>>
> >>> > In the same vein, of colors, can someone explain what I am doing
> wrong
> >>> > when:
> >>> > gtk_style_context_get_background_color(context,
> GTK_STATE_FLAG_NORMAL,
> >>> > &bg_n); gives me nothing but black for the same widget that
> >>> > gtk_widget_get_style gives me the (expected) rgb (214,214,214) ?
> >>>
> >>> Then it means you're not really aware of the dynamics of GTK.
> >>>
> >>> The gtk_widget_get_style() function is a deprecated API that we had to
> >>> leave in there because the CSS style machinery wasn't finished by the
> >>> time we released 3.0, and because applications would have needed much
> >>> more porting from 2.x to 3.0 if we downright eliminated that function.
> >>> It was not optimal, but the other option would have been to delay GTK
> >>> 3.0 by another 6 to 12 months, and that would have had a cascade of
> >>> effects on the rest of the ecosystem based on GTK+. Historical reasons
> >>> aside, this means that gtk_widget_get_style() returns a best effort
> >>> value which may or may not make sense.
> >>>
> >>> For instance, if you ask gtk_widget_get_style() the for the background
> >>> color of a widget using a with a background image in CSS, what color
> >>> should you get? What happens if the widget is using a gradient? Right
> >>> now, it's completely undefined. That is why you don't query a style
> >>> context for a background color: you just ask the style context to draw
> >>> a background, according to the state in which the style context is.
> >>>
> >>> > but the need to render custom widgets to
> >>> > use a similar color palette to the current theme is a real one that
> >>> > does not
> >>> > seem to have an elegant solution.
> >>>
> >>> The elegant solution is to use the gtk_render_* family of functions.
> >>>
> >>> Ciao,
> >>>  Emmanuele.
> >>>
> >>> --
> >>> https://www.bassi.io
> >>> [@] ebassi [@gmail.com]
> >>
> >>
> >> _______________________________________________
> >> gtk-list mailing list
> >> gtk-list@gnome.org
> >> https://mail.gnome.org/mailman/listinfo/gtk-list
> >>
> >
> >
> > _______________________________________________
> > gtk-list mailing list
> > gtk-list@gnome.org
> > https://mail.gnome.org/mailman/listinfo/gtk-list
> >
>
>
>
> --
>   Jasper
>
_______________________________________________
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to