diff options
author | 2017-12-02 00:59:12 +0100 | |
---|---|---|
committer | 2017-12-02 01:32:17 +0100 | |
commit | c940ca244a82f8d584c51acf8675507c8844e109 (patch) | |
tree | 62609ca39cff4b954eae9ab287e3153cae9e5548 | |
parent | vte-0.48.3 from gentoo (diff) | |
download | eroen-c940ca244a82f8d584c51acf8675507c8844e109.tar.gz eroen-c940ca244a82f8d584c51acf8675507c8844e109.tar.bz2 eroen-c940ca244a82f8d584c51acf8675507c8844e109.zip |
vte-0.48.3 - add vte-ng patches
7 files changed, 298 insertions, 2 deletions
diff --git a/x11-libs/vte/files/vte-0.48.3-ng/01-expose-functions-for-pausing.patch b/x11-libs/vte/files/vte-0.48.3-ng/01-expose-functions-for-pausing.patch new file mode 100644 index 0000000..55d9c53 --- /dev/null +++ b/x11-libs/vte/files/vte-0.48.3-ng/01-expose-functions-for-pausing.patch @@ -0,0 +1,64 @@ +expose functions for pausing unpausing output + +From: Jelle van der Waa <jelle@vdwaa.nl> + + +--- + src/vte/vteterminal.h | 6 ++++++ + src/vtegtk.cc | 26 ++++++++++++++++++++++++++ + 2 files changed, 32 insertions(+) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index 3b22c4a5..7925d1a9 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -175,6 +175,12 @@ void vte_terminal_feed_child_binary(VteTerminal *terminal, + const guint8 *data, + gsize length) _VTE_GNUC_NONNULL(1); + ++_VTE_PUBLIC ++void vte_terminal_connect_pty_read(VteTerminal *terminal); ++ ++_VTE_PUBLIC ++void vte_terminal_disconnect_pty_read(VteTerminal *terminal); ++ + /* Copy currently-selected text to the clipboard, or from the clipboard to + * the terminal. */ + _VTE_PUBLIC +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index 02479500..20de9b35 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2517,6 +2517,32 @@ vte_terminal_feed_child(VteTerminal *terminal, + IMPL(terminal)->feed_child(text, length); + } + ++/** ++ * vte_terminal_connect_pty_read: ++ * @terminal: a #VteTerminal ++ * ++ * Unpause output ++ */ ++void ++vte_terminal_connect_pty_read(VteTerminal *terminal) ++{ ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); ++ IMPL(terminal)->connect_pty_read(); ++} ++ ++/** ++ * vte_terminal_disconnect_pty_read: ++ * @terminal: a #VteTerminal ++ * ++ * Pause output ++ */ ++void ++vte_terminal_disconnect_pty_read(VteTerminal *terminal) ++{ ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); ++ IMPL(terminal)->disconnect_pty_read(); ++} ++ + /** + * vte_terminal_feed_child_binary: + * @terminal: a #VteTerminal diff --git a/x11-libs/vte/files/vte-0.48.3-ng/02-expose-function-for-setting.patch b/x11-libs/vte/files/vte-0.48.3-ng/02-expose-function-for-setting.patch new file mode 100644 index 0000000..1d342e5 --- /dev/null +++ b/x11-libs/vte/files/vte-0.48.3-ng/02-expose-function-for-setting.patch @@ -0,0 +1,61 @@ +expose function for setting cursor position + +From: Jelle van der Waa <jelle@vdwaa.nl> + + +--- + src/vte/vteterminal.h | 5 +++++ + src/vtegtk.cc | 24 ++++++++++++++++++++++++ + 2 files changed, 29 insertions(+) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index 7925d1a9..b53a582a 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -347,6 +347,11 @@ _VTE_PUBLIC + void vte_terminal_get_cursor_position(VteTerminal *terminal, + glong *column, + glong *row) _VTE_GNUC_NONNULL(1); ++_VTE_PUBLIC ++void vte_terminal_set_cursor_position(VteTerminal *terminal, ++ glong column, ++ glong row) _VTE_GNUC_NONNULL(1); ++ + + /* Add a matching expression, returning the tag the widget assigns to that + * expression. */ +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index 20de9b35..b0039481 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2160,6 +2160,30 @@ vte_terminal_get_cursor_position(VteTerminal *terminal, + } + } + ++/** ++ * vte_terminal_set_cursor_position ++ * @terminal: a #VteTerminal ++ * @column: the new cursor column ++ * @row: the new cursor row ++ * ++ * Set the location of the cursor. ++ */ ++void ++vte_terminal_set_cursor_position(VteTerminal *terminal, ++ long column, long row) ++{ ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); ++ ++ auto impl = IMPL(terminal); ++ impl->invalidate_cursor_once(FALSE); ++ impl->m_screen->cursor.col = column; ++ impl->m_screen->cursor.row = row; ++ impl->invalidate_cursor_once(FALSE); ++ impl->check_cursor_blink(); ++ impl->queue_cursor_moved(); ++ ++} ++ + /** + * vte_terminal_pty_new_sync: + * @terminal: a #VteTerminal diff --git a/x11-libs/vte/files/vte-0.48.3-ng/03-add-function-for-setting-the.patch b/x11-libs/vte/files/vte-0.48.3-ng/03-add-function-for-setting-the.patch new file mode 100644 index 0000000..7186e3a --- /dev/null +++ b/x11-libs/vte/files/vte-0.48.3-ng/03-add-function-for-setting-the.patch @@ -0,0 +1,56 @@ +add function for setting the text selections + +From: Jelle van der Waa <jelle@vdwaa.nl> + + +--- + src/vte/vteterminal.h | 4 ++++ + src/vtegtk.cc | 20 ++++++++++++++++++++ + 2 files changed, 24 insertions(+) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index b53a582a..53eb3139 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -195,6 +195,10 @@ _VTE_PUBLIC + void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + _VTE_PUBLIC + void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); ++_VTE_PUBLIC ++void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row, ++ long end_col, long end_row) _VTE_GNUC_NONNULL(1); ++ + + /* By-word selection */ + _VTE_PUBLIC +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index b0039481..8ab4aa47 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2135,6 +2135,26 @@ vte_terminal_unselect_all(VteTerminal *terminal) + IMPL(terminal)->deselect_all(); + } + ++/** ++ * vte_terminal_select_text: ++ * @terminal: a #VteTerminal ++ * @start_col: the starting column for the selection ++ * @start_row: the starting row for the selection ++ * @end_col: the end column for the selection ++ * @end_row: the end row for the selection ++ * ++ * Sets the current selection region. ++ */ ++void ++vte_terminal_select_text(VteTerminal *terminal, ++ long start_col, long start_row, ++ long end_col, long end_row) ++{ ++ g_return_if_fail (VTE_IS_TERMINAL (terminal)); ++ ++ IMPL(terminal)->select_text(start_col, start_row, end_col, end_row); ++} ++ + /** + * vte_terminal_get_cursor_position: + * @terminal: a #VteTerminal diff --git a/x11-libs/vte/files/vte-0.48.3-ng/04-add-functions-to-get-set-block.patch b/x11-libs/vte/files/vte-0.48.3-ng/04-add-functions-to-get-set-block.patch new file mode 100644 index 0000000..e1f7e00 --- /dev/null +++ b/x11-libs/vte/files/vte-0.48.3-ng/04-add-functions-to-get-set-block.patch @@ -0,0 +1,62 @@ +add functions to get/set block selection mode + +From: Jelle van der Waa <jelle@vdwaa.nl> + + +--- + src/vte/vteterminal.h | 5 +++++ + src/vtegtk.cc | 25 +++++++++++++++++++++++++ + 2 files changed, 30 insertions(+) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index 53eb3139..7729500b 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -196,6 +196,11 @@ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + _VTE_PUBLIC + void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + _VTE_PUBLIC ++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); ++_VTE_PUBLIC ++void vte_terminal_set_selection_block_mode(VteTerminal *terminal, ++ gboolean block_mode) _VTE_GNUC_NONNULL(1); ++_VTE_PUBLIC + void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row, + long end_col, long end_row) _VTE_GNUC_NONNULL(1); + +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index 8ab4aa47..3059b492 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2134,6 +2134,31 @@ vte_terminal_unselect_all(VteTerminal *terminal) + + IMPL(terminal)->deselect_all(); + } ++/** ++ * vte_terminal_get_selection_block_mode: ++ * @terminal: a #VteTerminal ++ * ++ * Checks whether or not block selection is enabled. ++ * ++ * Returns: %TRUE if block selection is enabled, %FALSE if not ++ */ ++ ++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) { ++ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE); ++ return IMPL(terminal)->m_selection_block_mode; ++} ++/** ++ * vte_terminal_set_selection_block_mode: ++ * @terminal: a #VteTerminal ++ * @block_mode: whether block selection is enabled ++ * ++ * Sets whether or not block selection is enabled. ++ */ ++void ++vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) { ++ g_return_if_fail (VTE_IS_TERMINAL (terminal)); ++ IMPL(terminal)->m_selection_block_mode = block_mode; ++} + + /** + * vte_terminal_select_text: diff --git a/x11-libs/vte/files/vte-0.48.3-ng/05-expose-function-for-getting.patch b/x11-libs/vte/files/vte-0.48.3-ng/05-expose-function-for-getting.patch new file mode 100644 index 0000000..0461c88 --- /dev/null +++ b/x11-libs/vte/files/vte-0.48.3-ng/05-expose-function-for-getting.patch @@ -0,0 +1,43 @@ +expose function for getting the selected text + +From: Jelle van der Waa <jelle@vdwaa.nl> + + +--- + src/vte/vteterminal.h | 4 +++- + src/vtegtk.cc | 7 +++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index 7729500b..eab63647 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -203,7 +203,9 @@ void vte_terminal_set_selection_block_mode(VteTerminal *terminal, + _VTE_PUBLIC + void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row, + long end_col, long end_row) _VTE_GNUC_NONNULL(1); +- ++_VTE_PUBLIC ++char * ++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + + /* By-word selection */ + _VTE_PUBLIC +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index 3059b492..bce24da7 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2180,6 +2180,13 @@ vte_terminal_select_text(VteTerminal *terminal, + IMPL(terminal)->select_text(start_col, start_row, end_col, end_row); + } + ++char * ++vte_terminal_get_selection(VteTerminal *terminal) ++{ ++ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); ++ return g_strdup (IMPL(terminal)->m_selection_text[VTE_SELECTION_PRIMARY]); ++} ++ + /** + * vte_terminal_get_cursor_position: + * @terminal: a #VteTerminal diff --git a/x11-libs/vte/files/vte-0.48.3-ng/series b/x11-libs/vte/files/vte-0.48.3-ng/series new file mode 100644 index 0000000..132dcdf --- /dev/null +++ b/x11-libs/vte/files/vte-0.48.3-ng/series @@ -0,0 +1,6 @@ +# This series applies on GIT commit 992c481f21e266e7cdfcee1d425b18da4df9ef8d +01-expose-functions-for-pausing.patch +02-expose-function-for-setting.patch +03-add-function-for-setting-the.patch +04-add-functions-to-get-set-block.patch +05-expose-function-for-getting.patch diff --git a/x11-libs/vte/vte-0.48.3.ebuild b/x11-libs/vte/vte-0.48.3.ebuild index 69d2393..c2d0252 100644 --- a/x11-libs/vte/vte-0.48.3.ebuild +++ b/x11-libs/vte/vte-0.48.3.ebuild @@ -8,11 +8,11 @@ VALA_MIN_API_VERSION="0.32" inherit gnome2 vala DESCRIPTION="Library providing a virtual terminal emulator widget" -HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE" +HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE termite-patch? ( https://github.com/thestinger/vte-ng )" LICENSE="LGPL-2+" SLOT="2.91" -IUSE="+crypt debug glade +introspection vala vanilla" +IUSE="+crypt debug glade +introspection +termite-patch vala vanilla" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris" REQUIRED_USE="vala? ( introspection )" @@ -52,6 +52,10 @@ src_prepare() { eapply "${WORKDIR}/${PN}-${SLOT}-command-notify.patch" fi + if use termite-patch; then + eapply "$FILESDIR"/${P}-ng/*.patch + fi + use vala && vala_src_prepare # build fails because of -Werror with gcc-5.x |