#include int main(int argc, char **argv) { GtkWidget *shell, *mainw, *graph; int width, height; GtkRequisition minsize, natsize; gtk_init(&argc, &argv); shell = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(shell), "tester"); g_signal_connect(G_OBJECT(shell), "destroy", G_CALLBACK(gtk_main_quit), NULL); mainw = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(shell), GTK_WIDGET(mainw)); gtk_widget_set_name(GTK_WIDGET(mainw), "MainWindow"); gtk_widget_show(GTK_WIDGET(mainw)); graph = gtk_drawing_area_new(); gtk_widget_set_size_request(GTK_WIDGET(graph), 750, 600); gtk_widget_set_name(GTK_WIDGET(graph), "graph"); gtk_box_pack_start(GTK_BOX(mainw), GTK_WIDGET(graph), TRUE, TRUE, 0); gtk_widget_show(GTK_WIDGET(graph)) ; if ( argc > 1 ) { gtk_window_set_default_size(GTK_WINDOW(shell), 0, 0); } gtk_window_get_default_size(GTK_WINDOW(shell), &width, &height); fprintf(stderr, "window default size %d %d\n", width, height); gtk_widget_get_preferred_size(GTK_WIDGET(shell), &minsize, &natsize); fprintf(stderr, "widget min size %d %d widget natural size %d %d\n", minsize.width, minsize.height, natsize.width, natsize.height); gtk_widget_show_all(shell); gtk_main(); return 0; }