GTK Packer The Packer (gtk_packer) allows to control both horizontal and vertical ordering under a single manager. A bit more complex to set up, but allows for more flexible settings without having to use too many geometry managers inside one another. /* allocate a new packer */ GtkWidget* packer = gtk_packer_new(); /* place the packer inside the top-level window. */ gtk_container_add(GTK_CONTAINER(main_window), packer); /* make the packer visible. */ gtk_widget_show(packer); /* place a button at the top, connected to the 'northern' */ /* edge. use no special options, a border width of 1, and */ /* with the given padding values. */ gtk_packer_add(GTK_PACKER(packer), button1, GTK_SIDE_TOP, GTK_ANCHOR_NORTH, 0, 1, 0, 0, 1, 1);