Index: gdm-2.17.7/gui/greeter/greeter_action_language.c =================================================================== --- gdm-2.17.7.orig/gui/greeter/greeter_action_language.c +++ gdm-2.17.7/gui/greeter/greeter_action_language.c @@ -220,6 +220,7 @@ greeter_language_setup_treeview (void) GtkWidget *swindow; GtkWidget *label; char *s; + int y_size; dialog = gtk_dialog_new_with_buttons (_("Select a Language"), #ifdef TODO @@ -286,9 +287,17 @@ greeter_language_setup_treeview (void) gtk_container_add (GTK_CONTAINER (swindow), tv); gtk_box_pack_start (GTK_BOX (main_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)); + MIN (400, gdm_wm_screen.width), + y_size); g_signal_connect (G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW (tv))), "changed", (GCallback) selection_changed,