diff -Nur -x '*.orig' -x '*~' pidgin-2.5.3/pidgin/gtkaccount.c pidgin-2.5.3.new/pidgin/gtkaccount.c --- pidgin-2.5.3/pidgin/gtkaccount.c 2008-12-21 08:38:16.000000000 +0800 +++ pidgin-2.5.3.new/pidgin/gtkaccount.c 2009-01-26 02:37:08.970083251 +0800 @@ -1459,6 +1459,8 @@ GtkWidget *dbox; GtkWidget *notebook; GtkWidget *button; + GtkWidget *scrolledWindow1024x600=NULL; + GtkWidget *vbox1024x600=NULL; if (accounts_window != NULL && account != NULL && (dialog = g_hash_table_lookup(account_pref_wins, account)) != NULL) @@ -1536,8 +1538,21 @@ gtk_widget_show(dbox); /** Setup the bottom frames. */ - add_protocol_options(dialog, dbox); - add_proxy_options(dialog, dbox); + scrolledWindow1024x600 = gtk_scrolled_window_new(NULL,NULL); + if (gdk_screen_get_default() != NULL && gdk_screen_get_height(gdk_screen_get_default()) <= 600) { + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledWindow1024x600),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC); + } else { + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledWindow1024x600),GTK_POLICY_NEVER,GTK_POLICY_NEVER); + } + gtk_container_add(GTK_CONTAINER(dbox), scrolledWindow1024x600); + gtk_widget_show(scrolledWindow1024x600); + vbox1024x600 = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); + gtk_container_set_border_width(GTK_CONTAINER(vbox1024x600), PIDGIN_HIG_BORDER); + gtk_widget_show(vbox1024x600); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledWindow1024x600), vbox1024x600); + add_protocol_options(dialog, vbox1024x600); + add_proxy_options(dialog, vbox1024x600); + dialog->bottom_vbox = vbox1024x600; /* Cancel button */ pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_CANCEL, G_CALLBACK(cancel_account_prefs_cb), dialog);