Index: layersel/layersel_demo.c =================================================================== --- layersel/layersel_demo.c (revision 8556) +++ layersel/layersel_demo.c (revision 8557) @@ -20,7 +20,7 @@ gtk_init(&argc, &argv); /* Create the main window */ mainwin = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_default_size(GTK_WINDOW(mainwin), 150, 400); + gtk_window_set_default_size(GTK_WINDOW(mainwin), 10, 400); g_signal_connect(G_OBJECT(mainwin), "destroy", G_CALLBACK(gtk_main_quit), NULL); /* Set up GUI elements */ Index: layersel/wt_layersel.c =================================================================== --- layersel/wt_layersel.c (revision 8556) +++ layersel/wt_layersel.c (revision 8557) @@ -330,7 +330,7 @@ /*** Layer selector widget building function ***/ GtkWidget *pcb_gtk_layersel_build(pcb_gtk_layersel_t *ls) { - GtkWidget *main_box, *spring; + GtkWidget *scrolled, *main_box, *spring; main_box = gtkc_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(main_box), build_group_real(ls, &ls->grp[0], "group0"), FALSE, FALSE, 0); @@ -358,5 +358,10 @@ spring = gtkc_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(main_box), spring, TRUE, TRUE, 0); - return main_box; + /* get the whole box vertically scrolled, if needed */ + scrolled = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), main_box); + + return scrolled; }