Index: xfce4-terminal-0.4.8/terminal/terminal-preferences.c =================================================================== --- xfce4-terminal-0.4.8.orig/terminal/terminal-preferences.c 2011-06-21 22:32:31.000000000 +0200 +++ xfce4-terminal-0.4.8/terminal/terminal-preferences.c 2012-03-02 20:49:23.106757883 +0100 @@ -121,6 +121,7 @@ PROP_MISC_TAB_CLOSE_MIDDLE_CLICK, PROP_MISC_TAB_POSITION, PROP_MISC_HIGHLIGHT_URLS, + PROP_MISC_SCROLL_ALTERNATE_SCREEN, PROP_SCROLLING_BAR, PROP_SCROLLING_LINES, PROP_SCROLLING_ON_OUTPUT, @@ -1240,6 +1241,19 @@ EXO_PARAM_READWRITE)); /** + * TerminalPreferences:misc-scroll-alternate-screen: + * + * Whether to scroll the alternate screen with the mouse wheel + **/ + g_object_class_install_property (gobject_class, + PROP_MISC_SCROLL_ALTERNATE_SCREEN, + g_param_spec_boolean("misc-scroll-alternate-screen", + "misc-scroll-alternate-screen", + "MiscScrollAlternateScreen", + TRUE, + EXO_PARAM_READWRITE)); + + /** * TerminalPreferences:shortcuts-no-menukey: * * Disable menu shortcut key (F10 by default). Index: xfce4-terminal-0.4.8/terminal/terminal-screen.c =================================================================== --- xfce4-terminal-0.4.8.orig/terminal/terminal-screen.c 2011-06-21 22:32:31.000000000 +0200 +++ xfce4-terminal-0.4.8/terminal/terminal-screen.c 2012-03-02 20:36:54.820165118 +0100 @@ -99,6 +99,7 @@ static void terminal_screen_update_misc_cursor_blinks (TerminalScreen *screen); static void terminal_screen_update_misc_cursor_shape (TerminalScreen *screen); static void terminal_screen_update_misc_mouse_autohide (TerminalScreen *screen); +static void terminal_screen_update_scrolling_alternate (TerminalScreen *screen); static void terminal_screen_update_scrolling_bar (TerminalScreen *screen); static void terminal_screen_update_scrolling_lines (TerminalScreen *screen); static void terminal_screen_update_scrolling_on_output (TerminalScreen *screen); @@ -291,6 +292,7 @@ "swapped-signal::notify::misc-cursor-blinks", G_CALLBACK (terminal_screen_update_misc_cursor_blinks), screen, "swapped-signal::notify::misc-cursor-shape", G_CALLBACK (terminal_screen_update_misc_cursor_shape), screen, "swapped-signal::notify::misc-mouse-autohide", G_CALLBACK (terminal_screen_update_misc_mouse_autohide), screen, + "swapped-signal::notify::misc-scroll-alternate-screen", G_CALLBACK (terminal_screen_update_scrolling_alternate), screen, "swapped-signal::notify::scrolling-bar", G_CALLBACK (terminal_screen_update_scrolling_bar), screen, "swapped-signal::notify::scrolling-lines", G_CALLBACK (terminal_screen_update_scrolling_lines), screen, "swapped-signal::notify::scrolling-on-output", G_CALLBACK (terminal_screen_update_scrolling_on_output), screen, @@ -309,6 +311,7 @@ terminal_screen_update_misc_cursor_blinks (screen); terminal_screen_update_misc_cursor_shape (screen); terminal_screen_update_misc_mouse_autohide (screen); + terminal_screen_update_scrolling_alternate (screen); terminal_screen_update_scrolling_bar (screen); terminal_screen_update_scrolling_lines (screen); terminal_screen_update_scrolling_on_output (screen); @@ -948,6 +951,16 @@ } + +static void +terminal_screen_update_scrolling_alternate (TerminalScreen *screen) +{ + gboolean scroll; + g_object_get (G_OBJECT (screen->preferences), "misc-scroll-alternate-screen", &scroll, NULL); + vte_terminal_set_alternate_screen_scroll (VTE_TERMINAL (screen->terminal), scroll); +} + + static void terminal_screen_update_scrolling_bar (TerminalScreen *screen)