--- a/plugins/win32/transparency/win2ktrans.c Mon Aug 30 03:34:54 2004 +0000 +++ b/plugins/win32/transparency/win2ktrans.c Mon Aug 30 21:59:25 2004 +0000 @@ -124,7 +124,7 @@ GtkWidget *frame; frame = gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT); + gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE); gtk_widget_show(frame); hbox = gtk_hbox_new(FALSE, 5); @@ -194,6 +194,8 @@ if(!find_slidwin(win)) { GtkWidget *slider_box=NULL; slider_win *slidwin=NULL; + GtkRequisition slidereq; + gint width, height; /* Get top vbox */ for ( wl1 = wl = gtk_container_get_children(GTK_CONTAINER(win)); @@ -209,9 +211,14 @@ g_list_free(wl1); slider_box = wintrans_slider(win); + /* Figure out how tall the slider wants to be */ + gtk_widget_size_request(slider_box, &slidereq); + gtk_window_get_size(GTK_WINDOW(win), &width, &height); gtk_box_pack_start(GTK_BOX(vbox), slider_box, FALSE, FALSE, 0); + /* Make window taller so we don't slowly collapse its message area */ + gtk_window_resize(GTK_WINDOW(win), width, (height + slidereq.height)); /* Add window to list, to track that it has a slider */ slidwin = g_new0( slider_win, 1 ); slidwin->win = win; @@ -227,8 +234,17 @@ GList *tmp=window_list; while(tmp) { slider_win *slidwin = (slider_win*)tmp->data; - if (slidwin != NULL && GTK_IS_WINDOW(slidwin->win)) + if (slidwin != NULL && GTK_IS_WINDOW(slidwin->win)) { + GtkRequisition slidereq; + gint width, height; + /* Figure out how tall the slider was */ + gtk_widget_size_request(slidwin->slider, &slidereq); + gtk_window_get_size(GTK_WINDOW(slidwin->win), &width, &height); + gtk_widget_destroy(slidwin->slider); + + gtk_window_resize(GTK_WINDOW(slidwin->win), width, (height - slidereq.height)); + } g_free(slidwin); tmp=tmp->next; }