~kees/vte/alt-screen-scrolling-fix_bug-106995

« back to all changes in this revision

Viewing changes to debian/patches/93_add_alt_screen_scroll_toggle.patch

  • Committer: Kees Cook
  • Date: 2008-08-28 17:21:23 UTC
  • Revision ID: kees@outflux.net-20080828172123-q16i0sn3gejyt47a
Add 93_add_alt_screen_scroll_toggle.patch to solve scrolling-in-screen
bug (http://bugzilla.gnome.org/show_bug.cgi?id=538195).  Thanks to
Heath Caldwell (LP: #106995).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
diff -Nur -x '*.orig' -x '*~' vte/doc/reference/xml/vte.xml vte.new/doc/reference/xml/vte.xml
 
2
--- vte/doc/reference/xml/vte.xml       2008-08-13 17:03:32.000000000 -0700
 
3
+++ vte.new/doc/reference/xml/vte.xml   2008-08-28 09:23:40.000000000 -0700
 
4
@@ -68,6 +68,9 @@
 
5
 <link linkend="void">void</link>                <link linkend="vte-terminal-set-scroll-on-keystroke">vte_terminal_set_scroll_on_keystroke</link>
 
6
                                                         (<link linkend="VteTerminal">VteTerminal</link> *terminal,
 
7
                                                          <link linkend="gboolean">gboolean</link> scroll);
 
8
+<link linkend="void">void</link>                <link linkend="vte-terminal-set-scroll-on-keystroke">vte_terminal_set_alternate_screen_scroll</link>
 
9
+                                                        (<link linkend="VteTerminal">VteTerminal</link> *terminal,
 
10
+                                                         <link linkend="gboolean">gboolean</link> scroll);
 
11
 <link linkend="void">void</link>                <link linkend="vte-terminal-set-color-bold">vte_terminal_set_color_bold</link>         (<link linkend="VteTerminal">VteTerminal</link> *terminal,
 
12
                                                          const <link linkend="GdkColor">GdkColor</link> *bold);
 
13
 <link linkend="void">void</link>                <link linkend="vte-terminal-set-color-foreground">vte_terminal_set_color_foreground</link>   (<link linkend="VteTerminal">VteTerminal</link> *terminal,
 
14
diff -Nur -x '*.orig' -x '*~' vte/src/vte.c vte.new/src/vte.c
 
15
--- vte/src/vte.c       2008-08-28 09:23:34.000000000 -0700
 
16
+++ vte.new/src/vte.c   2008-08-28 09:23:40.000000000 -0700
 
17
@@ -10729,8 +10729,9 @@
 
18
                return FALSE;
 
19
        }
 
20
 
 
21
-       if (terminal->pvt->screen == &terminal->pvt->alternate_screen ||
 
22
-               terminal->pvt->normal_screen.scrolling_restricted) {
 
23
+       if (terminal->pvt->alternate_screen_scroll &&
 
24
+               (terminal->pvt->screen == &terminal->pvt->alternate_screen ||
 
25
+               terminal->pvt->normal_screen.scrolling_restricted)) {
 
26
                char *normal;
 
27
                gssize normal_length;
 
28
                const gchar *special;
 
29
@@ -11356,6 +11357,22 @@
 
30
        terminal->pvt->scroll_on_keystroke = scroll;
 
31
 }
 
32
 
 
33
+/**
 
34
+ * vte_terminal_set_alternate_screen_scroll:
 
35
+ * @terminal: a #VteTerminal
 
36
+ * @scroll: %TRUE if the terminal should send keystrokes for scrolling when using alternate screen
 
37
+ *
 
38
+ * Controls whether or not the terminal will send keystrokes for scrolling
 
39
+ * when using alternate screen or scrolling is restricted.
 
40
+ *
 
41
+ */
 
42
+void
 
43
+vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, gboolean scroll)
 
44
+{
 
45
+       g_return_if_fail(VTE_IS_TERMINAL(terminal));
 
46
+       terminal->pvt->alternate_screen_scroll = scroll;
 
47
+}
 
48
+
 
49
 static void
 
50
 vte_terminal_real_copy_clipboard(VteTerminal *terminal)
 
51
 {
 
52
diff -Nur -x '*.orig' -x '*~' vte/src/vte.h vte.new/src/vte.h
 
53
--- vte/src/vte.h       2008-06-29 09:48:34.000000000 -0700
 
54
+++ vte.new/src/vte.h   2008-08-28 09:23:40.000000000 -0700
 
55
@@ -256,6 +256,8 @@
 
56
 void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll);
 
57
 void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal,
 
58
                                          gboolean scroll);
 
59
+void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal,
 
60
+                                             gboolean scroll);
 
61
 
 
62
 /* Set the color scheme. */
 
63
 void vte_terminal_set_color_dim(VteTerminal *terminal,
 
64
diff -Nur -x '*.orig' -x '*~' vte/src/vte-private.h vte.new/src/vte-private.h
 
65
--- vte/src/vte-private.h       2008-08-13 16:21:04.000000000 -0700
 
66
+++ vte.new/src/vte-private.h   2008-08-28 09:23:40.000000000 -0700
 
67
@@ -313,6 +313,7 @@
 
68
        gboolean scroll_on_output;
 
69
        gboolean scroll_on_keystroke;
 
70
        long scrollback_lines;
 
71
+       gboolean alternate_screen_scroll;
 
72
 
 
73
        /* Cursor blinking. */
 
74
         VteTerminalCursorBlinkMode cursor_blink_mode;