diff -Nru gnome-terminal-2.22.3.orig/src/terminal-window.c gnome-terminal-2.22.3/src/terminal-window.c --- gnome-terminal-2.22.3.orig/src/terminal-window.c 2008-05-09 16:58:12.000000000 -0600 +++ gnome-terminal-2.22.3/src/terminal-window.c 2009-03-15 20:00:46.000000000 -0600 @@ -33,6 +33,7 @@ #include #include #include +#include /* Parameters for the ellipsization in the Tabs menu */ #define TAB_MENU_WIDTH_CHARS 35 @@ -1359,11 +1360,27 @@ !on_last_page); } +static gboolean delayed_clipboard_copy(gpointer data) { + GtkWidget *widget = (GtkWidget*)data; + if (VTE_IS_TERMINAL(widget)) { + vte_terminal_copy_clipboard(VTE_TERMINAL(widget)); + } + return FALSE; +} + static void selection_changed_callback (TerminalScreen *screen, TerminalWindow *window) { + GtkWidget *widget; update_copy_sensitivity (window); + + if (window->priv->active_term) { + widget = terminal_screen_get_widget (window->priv->active_term); + if (VTE_IS_TERMINAL(widget) && vte_terminal_get_has_selection(VTE_TERMINAL(widget))) { + g_timeout_add(100, delayed_clipboard_copy, (gpointer)widget); + } + } } static void