summaryrefslogtreecommitdiff
path: root/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch')
-rw-r--r--x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch108
1 files changed, 108 insertions, 0 deletions
diff --git a/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch b/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch
new file mode 100644
index 00000000..b4cc9673
--- /dev/null
+++ b/x11-libs/vte/files/vte-ng-0.42.4/01-expose-functions-for-pausing.patch
@@ -0,0 +1,108 @@
+expose functions for pausing/unpausing output
+
+From: Daniel Micay <danielmicay@gmail.com>
+
+
+---
+ src/vte.cc | 21 +++++++++++----------
+ src/vte/vteterminal.h | 4 ++++
+ 2 files changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/src/vte.cc b/src/vte.cc
+index 701891b..af75d2d 100644
+--- a/src/vte.cc
++++ b/src/vte.cc
+@@ -127,7 +127,6 @@ static char *vte_terminal_get_text_maybe_wrapped(VteTerminal *terminal,
+ gpointer data,
+ GArray *attributes,
+ gboolean include_trailing_spaces);
+-static void _vte_terminal_disconnect_pty_read(VteTerminal *terminal);
+ static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal);
+ static void vte_terminal_stop_processing (VteTerminal *terminal);
+
+@@ -3349,9 +3348,10 @@ static void mark_input_source_invalid(VteTerminal *terminal)
+ _vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n");
+ terminal->pvt->pty_input_source = 0;
+ }
+-static void
+-_vte_terminal_connect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_connect_pty_read(VteTerminal *terminal)
+ {
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ if (terminal->pvt->pty_channel == NULL) {
+ return;
+ }
+@@ -3403,9 +3403,10 @@ _vte_terminal_connect_pty_write(VteTerminal *terminal)
+ }
+ }
+
+-static void
+-_vte_terminal_disconnect_pty_read(VteTerminal *terminal)
++void
++vte_terminal_disconnect_pty_read(VteTerminal *terminal)
+ {
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
+ if (terminal->pvt->pty_input_source != 0) {
+ _vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
+ g_source_remove(terminal->pvt->pty_input_source);
+@@ -6705,7 +6706,7 @@ vte_terminal_start_selection(VteTerminal *terminal, long x, long y,
+ vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE);
+
+ /* Temporarily stop caring about input from the child. */
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ }
+
+ static gboolean
+@@ -6722,7 +6723,7 @@ _vte_terminal_maybe_end_selection (VteTerminal *terminal)
+ terminal->pvt->selecting = FALSE;
+
+ /* Reconnect to input from the child if we paused it. */
+- _vte_terminal_connect_pty_read(terminal);
++ vte_terminal_connect_pty_read(terminal);
+
+ return TRUE;
+ }
+@@ -8885,7 +8886,7 @@ vte_terminal_finalize(GObject *object)
+ #endif
+ kill(terminal->pvt->pty_pid, SIGHUP);
+ }
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ _vte_terminal_disconnect_pty_write(terminal);
+ if (terminal->pvt->pty_channel != NULL) {
+ g_io_channel_unref (terminal->pvt->pty_channel);
+@@ -12444,7 +12445,7 @@ vte_terminal_set_pty(VteTerminal *terminal,
+ g_object_freeze_notify(object);
+
+ if (pvt->pty != NULL) {
+- _vte_terminal_disconnect_pty_read(terminal);
++ vte_terminal_disconnect_pty_read(terminal);
+ _vte_terminal_disconnect_pty_write(terminal);
+
+ if (terminal->pvt->pty_channel != NULL) {
+@@ -12498,7 +12499,7 @@ vte_terminal_set_pty(VteTerminal *terminal,
+ _vte_terminal_setup_utf8 (terminal);
+
+ /* Open channels to listen for input on. */
+- _vte_terminal_connect_pty_read (terminal);
++ vte_terminal_connect_pty_read (terminal);
+
+ g_object_notify(object, "pty");
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index dbe3ffe..f9c95ed 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -176,6 +176,10 @@ void vte_terminal_paste_primary(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+
++/* pause and unpause output */
++void vte_terminal_disconnect_pty_read(VteTerminal *vte);
++void vte_terminal_connect_pty_read(VteTerminal *vte);
++
+ /* By-word selection */
+ void vte_terminal_set_word_char_exceptions(VteTerminal *terminal,
+ const char *exceptions) _VTE_GNUC_NONNULL(1);