Just window can have background? I don't know why is a violation, because in my case my applicationdoesn't make sense without background image..
On 14-03-2017 14:01, Emmanuele Bassi wrote: > You were not changing the background with your theme: you were > programmatically replacing the base pixmap of the GdkWindow used by > GtkLayout. It was essentially a layering violation, and would actually > break your theme. > > The API reference for each GTK widget should tell you the CSS styling > available; see the "CSS nodes" section, for instance, of GtkBox: > https://developer.gnome.org/gtk3/stable/GtkBox.html > > Ciao, > Emmanuele. > > > On 14 March 2017 at 13:55, Rúben Rodrigues <ruben...@live.com.pt> wrote: >> Thanks! >> >> But in GTK+2 we could change background in layout with this: >> >> // Set picture as background. >> // gdk_pixbuf_render_pixmap_and_mask (pixbuf, &background, NULL, 0); >> // style = gtk_style_new (); >> // style->bg_pixmap[0] = background; >> // homeWindow = GTK_WIDGET(gtk_builder_get_object(builder, >> "layout_Home")); >> // gtk_widget_set_style (GTK_WIDGET(homeWindow), GTK_STYLE(style)); >> >> How i know witch containers draw background? >> >> THanks >> >> >> On 14-03-2017 12:55, Emmanuele Bassi wrote: >>> Not all GTK containers draw a background, mostly for historical >>> reasons. This has been true for GTK 1.x, 2.x, and 3.x. >>> >>> In particular, GtkLayout does not draw any background with CSS, so you >>> will need to either subclass GtkLayout, override the GtkWidget::draw >>> virtual function, and call gtk_render_* functions yourself; or you >>> will need to put a GtkLayout into a parent container that does draw a >>> background. You will, of course, need to style the parent container's >>> background, not the GtkLayout itself. >>> >>> Ciao, >>> Emmanuele. >>> >>> >>> On 14 March 2017 at 12:43, Rúben Rodrigues <ruben...@live.com.pt> wrote: >>>> I verify that i can't use css provider, don't works. >>>> >>>> My css file is : >>>> >>>> GtkLayout#layout_Home.background{ >>>> background-image: url('background.png'); >>>> } >>>> >>>> GtkLabel#Home_Cooling_Tunnel1_Cooler_label1{ >>>> color: white; >>>> } >>>> >>>> GtkLabel#Home_Sensors_MoistAvg_value{ >>>> font-family: Segoe UI; >>>> font-weight: lighter; >>>> font-size: 25px; >>>> } >>>> >>>> And this code: >>>> >>>> static void apply_css(GtkWidget *widget, GtkStyleProvider *provider) >>>> { >>>> gtk_style_context_add_provider(gtk_widget_get_style_context(widget), >>>> GTK_STYLE_PROVIDER(provider),G_MAXUINT); >>>> if(GTK_IS_CONTAINER(widget)) >>>> gtk_container_forall(GTK_CONTAINER(widget),(GtkCallback) >>>> apply_css,provider); >>>> >>>> } >>>> >>>> GFile *file= g_file_new_for_path("custom.css"); >>>> GtkStyleProvider *css_provider = >>>> GTK_STYLE_PROVIDER(gtk_css_provider_new()); >>>> gtk_css_provider_load_from_file(GTK_CSS_PROVIDER(css_provider), file, >>>> &error); >>>> apply_css(gtk_builder_get_object(builder,"window_Main"),css_provider); >>>> >>>> This is the code used in gtk3-demo and don't works for me.. Why???? >>>> >>>> THanks >>>> >>>> On 14-03-2017 10:00, Rúben Rodrigues wrote: >>>>> Hi guys, >>>>> >>>>> Finnaly i migrate my application to gtk+3. So, now i neet to change some >>>>> things like image background. I used css provider like in this : >>>>> >>>>> custom.css file: >>>>> >>>>> GtkLayout:layout_Home{ >>>>> background-color: black; >>>>> } >>>>> >>>>> >>>>> C Program: >>>>> >>>>> GFile *file= g_file_new_for_path("custom.css"); >>>>> GtkCssProvider *css_provider = gtk_css_provider_get_default(); >>>>> gtk_css_provider_load_from_file(css_provider, file, &error); >>>>> GtkStyleContext *context = gtk_style_context_new(); >>>>> gtk_style_context_add_provider(context, >>>>> GTK_STYLE_PROVIDER(css_provider),GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); >>>>> >>>>> But nothing happens. I tried this too: >>>>> >>>>> http://stackoverflow.com/questions/7375624/gtk3-window-background-image >>>>> >>>>> >>>>> Someone can help me? >>>>> >>>>> >>>>> THanks >>>>> >>>>> _______________________________________________ >>>>> gtk-app-devel-list mailing list >>>>> gtk-app-devel-list@gnome.org >>>>> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list >>>> _______________________________________________ >>>> gtk-app-devel-list mailing list >>>> gtk-app-devel-list@gnome.org >>>> https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list >>> > > _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list