On Sun, August 26, 2012 1:39 pm, Giuseppe Penone wrote: > Hi, I faced the same problem some time ago in gtkmm3. > I asked a question and then replied myself in this post: > http://stackoverflow.com/questions/8952679/gtkmm-3-button-background-color-change > You have to use a CSS file (a working example in my code) and import from > code > to override the gtk3 theme that you are using on your distribution. > Cheers, > Giuseppe. >
I had a similar problem and it seems that even with Priority = Application the default theme is overriding "override_background_color()". I would like to know if this is a bug as I wasted several hours trying to find the work around and ended up having to use the css method with the applicable config from the default theme which seems a little excessive when a 1 liner in code should be possible. > > On Sun, Aug 26, 2012 at 1:44 PM, Rudra Banerjee > <bnrj.ru...@yahoo.com>wrote: > >> I will be grateful if someone please show me the way. >> On Sun, 2012-08-26 at 00:20 +0100, Rudra Banerjee wrote: >> > Friends, >> > I am putting gtkbuttons inside a grid with modify_bg. I am getting an >> > odd case that when the window is focused, all buttons are showing >> white, >> > not what suggested by modify_bg. The same structure was working fine >> in >> > gtk2 (while I was using table instead of grid). >> > I am posting the complete minimal code(60 line only) for your >> reference. >> > >> > I have seen that the gtk_widget_modify_bg is deprecated in gtk 3 so I >> > tried the suggested method with gtk_widget_override_background_color >> but >> > there it seems that declaration of GdkColor colorRed2 = {0x0000, >> 65535, >> > 29555, 24158} has changed to something like GdkRGBA. >> > I tried to change to >> > >> > GdkRGBA colorRed = {1,0,0,1}; >> > yeilding error: >> > >> > const struct GdkRGBA * but argument is of type GdkRGBA >> > >> > Please Help. >> > here is the complete code: >> > >> > #include <gtk/gtk.h> >> > int main(int argc, >> > char *argv[]) { >> > GtkWidget *window; >> > GtkWidget *grid; >> > GtkWidget *menubar; >> > GtkWidget *filemenu; >> > GtkWidget *quit; >> > GtkAccelGroup *accel_group = NULL; >> > >> > gtk_init(&argc, &argv); >> > window = gtk_window_new(GTK_WINDOW_TOPLEVEL); >> > gtk_window_set_title(GTK_WINDOW(window), "Try Grid"); >> > gtk_container_set_border_width(GTK_CONTAINER(window), 05); >> > >> > grid = gtk_grid_new(); >> > gtk_container_add(GTK_CONTAINER(window), grid); >> > gtk_grid_set_column_homogeneous(GTK_GRID(grid),TRUE); >> > gtk_grid_set_row_homogeneous(GTK_GRID(grid),TRUE); >> > menubar = gtk_menu_bar_new(); >> > filemenu = gtk_menu_new(); >> > >> > accel_group = gtk_accel_group_new(); >> > gtk_window_add_accel_group(GTK_WINDOW(window), accel_group); >> > >> > GtkWidget *file = gtk_menu_item_new_with_mnemonic("_File"); >> > quit = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, >> > accel_group); >> > >> > gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), filemenu); >> > gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), quit); >> > gtk_menu_shell_append(GTK_MENU_SHELL(menubar), file); >> > >> > g_signal_connect(G_OBJECT(quit), "activate", >> > G_CALLBACK(gtk_main_quit), NULL); >> > >> > gtk_grid_attach(GTK_GRID(grid), menubar, 0, 0, 2, 1); >> > >> > >> > /* Color Scheme */ >> > GdkColor colorRed2 = {0x0000, 65535, 29555, 24158}; >> > GdkColor colorBlue = {0x0000, 3598, 57054, 61937}; >> > GdkColor colorWht = {0x0000, 65535, 65535, 65535}; >> > >> > >> > GtkWidget *Abutton = gtk_button_new_with_label("A"); >> > gtk_grid_attach(GTK_GRID(grid), Abutton, 0, 1, 1, 1); >> > gtk_widget_modify_bg(Abutton, GTK_STATE_NORMAL, &colorBlue); >> > gtk_widget_modify_bg(Abutton, GTK_STATE_PRELIGHT, &colorWht); >> > >> > /* Create second button */ >> > GtkWidget *Bbutton = gtk_button_new_with_label("B"); >> > gtk_grid_attach(GTK_GRID(grid), Bbutton, 10, 1, 1, 1); >> > gtk_widget_modify_bg(Bbutton, GTK_STATE_NORMAL, &colorRed2); >> > gtk_widget_modify_bg(Bbutton, GTK_STATE_PRELIGHT, &colorWht); >> > >> > >> > gtk_widget_show_all(window); >> > gtk_main(); >> > >> > return 0; >> > } >> > >> > >> > _______________________________________________ >> > 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 > -- Patrick Shirkey Boost Hardware Ltd _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list