diff -Naur Xdialog-2.3.1-orig/src/interface.c Xdialog-2.3.1/src/interface.c --- Xdialog-2.3.1-orig/src/interface.c 2006-08-18 18:13:12.000000000 +0200 +++ Xdialog-2.3.1/src/interface.c 2006-10-17 21:33:45.000000000 +0200 @@ -183,6 +183,11 @@ /* Open a new GTK top-level window */ window = Xdialog.window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + /* Set window icon (in GTK2 mode only) */ + #ifdef USE_GTK2 + gtk_window_set_icon_name(window, Xdialog.icon_file); + #endif + /* Apply the custom GTK+ theme, if any. */ parse_rc_file(); @@ -276,9 +281,6 @@ { GtkWidget *label; GtkWidget *hbox; - GdkBitmap *mask; - GdkColor transparent; - GdkPixmap *pixmap; GtkWidget *icon; gchar text[MAX_LABEL_LENGTH]; int icon_width = 0; @@ -287,6 +289,22 @@ gtk_box_pack_start(Xdialog.vbox, hbox, expand, TRUE, ymult/3); if (Xdialog.icon) { + +#ifdef USE_GTK2 + if (Xdialog.icon_file != NULL) { + icon = gtk_image_new_from_icon_name (Xdialog.icon_file, GTK_ICON_SIZE_DIALOG); + /*icon = gtk_image_new_from_file (Xdialog.icon_file);*/ + + gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, FALSE, 2); + gtk_widget_show(icon); + icon_width = 60; + } + +#else + + GdkBitmap *mask; + GdkColor transparent; + GdkPixmap *pixmap; pixmap = gdk_pixmap_create_from_xpm(Xdialog.window->window, &mask, &transparent, Xdialog.icon_file); @@ -298,6 +316,9 @@ gtk_widget_show(icon); icon_width = icon->requisition.width + 4; } + +#endif + } trim_string(label_text, text, MAX_LABEL_LENGTH);