--- gdm-2.8.0.4/gui/greeter/greeter_action_language.c +++ gdm-2.8.0.4/gui/greeter/greeter_action_language.c @@ -212,6 +212,7 @@ GtkWidget *swindow; GtkWidget *label; char *s; + int y_size; dialog = gtk_dialog_new_with_buttons (_("Select a language"), #ifdef TODO @@ -264,9 +265,17 @@ gtk_container_add (GTK_CONTAINER (swindow), view); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), swindow, TRUE, TRUE, 0); + + y_size = gdm_wm_screen.height; + /* If our screen has any sort of reasonable y-resolution, + don't make the dialog as tall as the screen. This is a + silly hack, but does make things a bit prettier. */ + if (y_size > 600) + y_size = 8 * y_size / 10; + gtk_window_set_default_size (GTK_WINDOW (dialog), MIN (400, gdm_wm_screen.width), - MIN (600, gdm_wm_screen.height)); + y_size); g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (view))), "changed", (GCallback) selection_changed,