Index: mate-terminal-1.8.0/src/org.mate.terminal.gschema.xml.in =================================================================== --- mate-terminal-1.8.0.orig/src/org.mate.terminal.gschema.xml.in 2014-01-26 02:33:17.000000000 +0400 +++ mate-terminal-1.8.0/src/org.mate.terminal.gschema.xml.in 2014-07-10 14:53:17.000000000 +0400 @@ -163,6 +163,11 @@ Whether an unlimited number of lines should be kept in scrollback If true, scrollback lines will never be discarded. The scrollback history is stored on disk temporarily, so this may cause the system to run out of disk space if there is a lot of output to the terminal. + + true + Whether to send keystrokes for alternate screen scrolling + If true, send Up/Down keystrokes for scrolling when using alternate screen or when scrolling is restricted. + true Whether to scroll to the bottom when a key is pressed Index: mate-terminal-1.8.0/src/profile-editor.c =================================================================== --- mate-terminal-1.8.0.orig/src/profile-editor.c 2014-01-26 02:33:17.000000000 +0400 +++ mate-terminal-1.8.0/src/profile-editor.c 2014-07-10 14:53:17.000000000 +0400 @@ -290,6 +290,10 @@ SET_SENSITIVE ("scroll-on-output-checkbutton", !terminal_profile_property_locked (profile, TERMINAL_PROFILE_SCROLL_ON_OUTPUT)); + if (!prop_name || prop_name == I_(TERMINAL_PROFILE_ALTERNATE_SCREEN_SCROLL)) + SET_SENSITIVE ("alternate-screen-scroll-checkbutton", + !terminal_profile_property_locked (profile, TERMINAL_PROFILE_ALTERNATE_SCREEN_SCROLL)); + if (!prop_name || prop_name == I_(TERMINAL_PROFILE_EXIT_ACTION)) SET_SENSITIVE ("exit-action-combobox", !terminal_profile_property_locked (profile, TERMINAL_PROFILE_EXIT_ACTION)); @@ -931,6 +935,7 @@ CONNECT ("scrollbar-position-combobox", TERMINAL_PROFILE_SCROLLBAR_POSITION); CONNECT ("scroll-on-keystroke-checkbutton", TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE); CONNECT ("scroll-on-output-checkbutton", TERMINAL_PROFILE_SCROLL_ON_OUTPUT); + CONNECT ("alternate-screen-scroll-checkbutton", TERMINAL_PROFILE_ALTERNATE_SCREEN_SCROLL); CONNECT ("show-menubar-checkbutton", TERMINAL_PROFILE_DEFAULT_SHOW_MENUBAR); CONNECT ("solid-radiobutton", TERMINAL_PROFILE_BACKGROUND_TYPE); CONNECT ("system-font-checkbutton", TERMINAL_PROFILE_USE_SYSTEM_FONT); Index: mate-terminal-1.8.0/src/profile-preferences.ui =================================================================== --- mate-terminal-1.8.0.orig/src/profile-preferences.ui 2014-01-26 02:33:17.000000000 +0400 +++ mate-terminal-1.8.0/src/profile-preferences.ui 2014-07-10 14:53:17.000000000 +0400 @@ -2536,6 +2536,26 @@ + + True + True + Use keystrokes to scroll on _alternate screen + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + 2 + 5 + 6 + + + + True True Index: mate-terminal-1.8.0/src/terminal-profile.c =================================================================== --- mate-terminal-1.8.0.orig/src/terminal-profile.c 2014-02-23 22:17:25.000000000 +0400 +++ mate-terminal-1.8.0/src/terminal-profile.c 2014-07-10 14:53:17.000000000 +0400 @@ -73,6 +73,7 @@ PROP_SCROLLBAR_POSITION, PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, + PROP_ALTERNATE_SCREEN_SCROLL, PROP_SILENT_BELL, PROP_TITLE, PROP_TITLE_MODE, @@ -113,6 +114,7 @@ #define KEY_SCROLLBAR_POSITION "scrollbar-position" #define KEY_SCROLL_ON_KEYSTROKE "scroll-on-keystroke" #define KEY_SCROLL_ON_OUTPUT "scroll-on-output" +#define KEY_ALTERNATE_SCREEN_SCROLL "alternate-screen-scroll" #define KEY_SILENT_BELL "silent-bell" #define KEY_TITLE_MODE "title-mode" #define KEY_TITLE "title" @@ -153,6 +155,7 @@ #define DEFAULT_SCROLLBAR_POSITION (TERMINAL_SCROLLBAR_RIGHT) #define DEFAULT_SCROLL_ON_KEYSTROKE (TRUE) #define DEFAULT_SCROLL_ON_OUTPUT (FALSE) +#define DEFAULT_ALTERNATE_SCREEN_SCROLL (FALSE) #define DEFAULT_SILENT_BELL (FALSE) #define DEFAULT_TITLE_MODE (TERMINAL_TITLE_REPLACE) #define DEFAULT_TITLE (N_("Terminal")) @@ -1250,6 +1253,7 @@ TERMINAL_PROFILE_PROPERTY_BOOLEAN (SCROLLBACK_UNLIMITED, DEFAULT_SCROLLBACK_UNLIMITED, KEY_SCROLLBACK_UNLIMITED); TERMINAL_PROFILE_PROPERTY_BOOLEAN (SCROLL_ON_KEYSTROKE, DEFAULT_SCROLL_ON_KEYSTROKE, KEY_SCROLL_ON_KEYSTROKE); TERMINAL_PROFILE_PROPERTY_BOOLEAN (SCROLL_ON_OUTPUT, DEFAULT_SCROLL_ON_OUTPUT, KEY_SCROLL_ON_OUTPUT); + TERMINAL_PROFILE_PROPERTY_BOOLEAN (ALTERNATE_SCREEN_SCROLL, DEFAULT_ALTERNATE_SCREEN_SCROLL, KEY_ALTERNATE_SCREEN_SCROLL); TERMINAL_PROFILE_PROPERTY_BOOLEAN (SILENT_BELL, DEFAULT_SILENT_BELL, KEY_SILENT_BELL); TERMINAL_PROFILE_PROPERTY_BOOLEAN (UPDATE_RECORDS, DEFAULT_UPDATE_RECORDS, KEY_UPDATE_RECORDS); TERMINAL_PROFILE_PROPERTY_BOOLEAN (USE_CUSTOM_COMMAND, DEFAULT_USE_CUSTOM_COMMAND, KEY_USE_CUSTOM_COMMAND); Index: mate-terminal-1.8.0/src/terminal-profile.h =================================================================== --- mate-terminal-1.8.0.orig/src/terminal-profile.h 2014-01-26 02:33:17.000000000 +0400 +++ mate-terminal-1.8.0/src/terminal-profile.h 2014-07-10 14:53:17.000000000 +0400 @@ -93,6 +93,7 @@ #define TERMINAL_PROFILE_SCROLLBAR_POSITION "scrollbar-position" #define TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE "scroll-on-keystroke" #define TERMINAL_PROFILE_SCROLL_ON_OUTPUT "scroll-on-output" +#define TERMINAL_PROFILE_ALTERNATE_SCREEN_SCROLL "alternate-screen-scroll" #define TERMINAL_PROFILE_SILENT_BELL "silent-bell" #define TERMINAL_PROFILE_TITLE_MODE "title-mode" #define TERMINAL_PROFILE_TITLE "title" Index: mate-terminal-1.8.0/src/terminal-screen.c =================================================================== --- mate-terminal-1.8.0.orig/src/terminal-screen.c 2014-02-23 22:17:25.000000000 +0400 +++ mate-terminal-1.8.0/src/terminal-screen.c 2014-07-10 14:53:17.000000000 +0400 @@ -984,6 +984,9 @@ if (!prop_name || prop_name == I_(TERMINAL_PROFILE_SCROLL_ON_OUTPUT)) vte_terminal_set_scroll_on_output (vte_terminal, terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_SCROLL_ON_OUTPUT)); + if (!prop_name || prop_name == I_(TERMINAL_PROFILE_ALTERNATE_SCREEN_SCROLL)) + vte_terminal_set_alternate_screen_scroll (vte_terminal, + terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_ALTERNATE_SCREEN_SCROLL)); if (!prop_name || prop_name == I_(TERMINAL_PROFILE_SCROLLBACK_LINES) || prop_name == I_(TERMINAL_PROFILE_SCROLLBACK_UNLIMITED))