2015-04-10 06:13:26 +02:00
|
|
|
Only in vte-0.40.0.new: .git
|
|
|
|
diff --unified -aur vte-0.40.0/src/vteaccess.c vte-0.40.0.new/src/vteaccess.c
|
|
|
|
--- vte-0.40.0/src/vteaccess.c 2015-03-16 06:34:37.000000000 -0400
|
|
|
|
+++ vte-0.40.0.new/src/vteaccess.c 2015-04-10 00:08:53.146853382 -0400
|
|
|
|
@@ -1444,7 +1444,7 @@
|
|
|
|
*start_offset = offset_from_xy (priv, start_x, start_y);
|
|
|
|
_vte_terminal_get_end_selection (terminal, &end_x, &end_y);
|
|
|
|
*end_offset = offset_from_xy (priv, end_x, end_y);
|
2014-09-21 23:14:29 +02:00
|
|
|
- return _vte_terminal_get_selection (terminal);
|
|
|
|
+ return vte_terminal_get_selection (terminal);
|
|
|
|
}
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
static gboolean
|
2015-04-10 06:13:26 +02:00
|
|
|
diff --unified -aur vte-0.40.0/src/vte.c vte-0.40.0.new/src/vte.c
|
|
|
|
--- vte-0.40.0/src/vte.c 2015-03-18 12:38:09.000000000 -0400
|
|
|
|
+++ vte-0.40.0.new/src/vte.c 2015-04-10 00:08:53.150186722 -0400
|
|
|
|
@@ -123,7 +123,6 @@
|
2012-08-27 06:46:52 +02:00
|
|
|
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);
|
|
|
|
|
2015-04-10 06:13:26 +02:00
|
|
|
@@ -3344,9 +3343,10 @@
|
2012-08-27 06:46:52 +02:00
|
|
|
_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)
|
|
|
|
{
|
2014-09-21 23:14:29 +02:00
|
|
|
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
2012-08-27 06:46:52 +02:00
|
|
|
if (terminal->pvt->pty_channel == NULL) {
|
|
|
|
return;
|
2015-04-10 06:13:26 +02:00
|
|
|
}
|
|
|
|
@@ -3398,9 +3398,10 @@
|
2012-08-27 06:46:52 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-static void
|
|
|
|
-_vte_terminal_disconnect_pty_read(VteTerminal *terminal)
|
|
|
|
+void
|
|
|
|
+vte_terminal_disconnect_pty_read(VteTerminal *terminal)
|
|
|
|
{
|
2014-09-21 23:14:29 +02:00
|
|
|
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
2012-08-27 06:46:52 +02:00
|
|
|
if (terminal->pvt->pty_input_source != 0) {
|
|
|
|
_vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
|
2015-04-10 06:13:26 +02:00
|
|
|
g_source_remove(terminal->pvt->pty_input_source);
|
|
|
|
@@ -6302,6 +6303,28 @@
|
2012-08-30 10:27:01 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * 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));
|
|
|
|
+
|
|
|
|
+ _vte_invalidate_cursor_once(terminal, FALSE);
|
2015-04-10 06:13:26 +02:00
|
|
|
+ terminal->pvt->cursor.col = column;
|
|
|
|
+ terminal->pvt->cursor.row = row;
|
2012-08-30 10:27:01 +02:00
|
|
|
+ _vte_invalidate_cursor_once(terminal, FALSE);
|
|
|
|
+ _vte_check_cursor_blink(terminal);
|
|
|
|
+ vte_terminal_queue_cursor_moved(terminal);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
static GtkClipboard *
|
|
|
|
vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board)
|
|
|
|
{
|
2015-04-10 06:13:26 +02:00
|
|
|
@@ -6465,7 +6488,7 @@
|
2014-09-21 23:14:29 +02:00
|
|
|
vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE);
|
2012-08-27 06:46:52 +02:00
|
|
|
|
|
|
|
/* Temporarily stop caring about input from the child. */
|
|
|
|
- _vte_terminal_disconnect_pty_read(terminal);
|
|
|
|
+ vte_terminal_disconnect_pty_read(terminal);
|
|
|
|
}
|
|
|
|
|
|
|
|
static gboolean
|
2015-04-10 06:13:26 +02:00
|
|
|
@@ -6482,7 +6505,7 @@
|
2012-08-27 06:46:52 +02:00
|
|
|
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;
|
|
|
|
}
|
2015-04-10 06:13:26 +02:00
|
|
|
@@ -6982,6 +7005,50 @@
|
|
|
|
vte_terminal_deselect_all (terminal);
|
2012-07-07 04:46:00 +02:00
|
|
|
}
|
|
|
|
|
2012-07-10 04:44:53 +02:00
|
|
|
+/**
|
|
|
|
+ * 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
|
|
|
|
+ */
|
2012-07-07 04:46:00 +02:00
|
|
|
+gboolean
|
|
|
|
+vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
|
2012-07-10 04:44:53 +02:00
|
|
|
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
|
2012-07-07 04:46:00 +02:00
|
|
|
+ return terminal->pvt->selection_block_mode;
|
|
|
|
+}
|
|
|
|
+
|
2012-07-10 04:44:53 +02:00
|
|
|
+/**
|
|
|
|
+ * vte_terminal_set_selection_block_mode:
|
|
|
|
+ * @terminal: a #VteTerminal
|
|
|
|
+ * @block_mode: whether block selection is enabled
|
|
|
|
+ *
|
|
|
|
+ * Sets whether or not block selection is enabled.
|
|
|
|
+ */
|
2012-07-07 04:46:00 +02:00
|
|
|
+void
|
|
|
|
+vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
|
2012-07-10 04:44:53 +02:00
|
|
|
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
|
|
|
+ terminal->pvt->selection_block_mode = block_mode;
|
2012-07-07 04:46:00 +02:00
|
|
|
+}
|
2012-07-10 04:44:53 +02:00
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 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) {
|
|
|
|
+ _vte_terminal_select_text(terminal, start_col, start_row, end_col, end_row, 0, 0);
|
|
|
|
+}
|
2012-07-07 04:46:00 +02:00
|
|
|
+
|
2014-09-21 23:14:29 +02:00
|
|
|
/* Autoscroll a bit. */
|
|
|
|
static gboolean
|
|
|
|
vte_terminal_autoscroll(VteTerminal *terminal)
|
2015-04-10 06:13:26 +02:00
|
|
|
@@ -8631,7 +8698,7 @@
|
2014-09-21 23:14:29 +02:00
|
|
|
#endif
|
2015-04-10 06:13:26 +02:00
|
|
|
kill(terminal->pvt->pty_pid, SIGHUP);
|
|
|
|
}
|
2014-09-21 23:14:29 +02:00
|
|
|
- _vte_terminal_disconnect_pty_read(terminal);
|
|
|
|
+ vte_terminal_disconnect_pty_read(terminal);
|
2015-04-10 06:13:26 +02:00
|
|
|
_vte_terminal_disconnect_pty_write(terminal);
|
|
|
|
if (terminal->pvt->pty_channel != NULL) {
|
|
|
|
g_io_channel_unref (terminal->pvt->pty_channel);
|
|
|
|
@@ -12188,7 +12255,7 @@
|
2014-09-21 23:14:29 +02:00
|
|
|
g_object_freeze_notify(object);
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
if (pvt->pty != NULL) {
|
|
|
|
- _vte_terminal_disconnect_pty_read(terminal);
|
|
|
|
+ vte_terminal_disconnect_pty_read(terminal);
|
|
|
|
_vte_terminal_disconnect_pty_write(terminal);
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
if (terminal->pvt->pty_channel != NULL) {
|
2015-04-10 06:13:26 +02:00
|
|
|
@@ -12243,7 +12310,7 @@
|
2014-09-21 23:14:29 +02:00
|
|
|
_vte_terminal_setup_utf8 (terminal);
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
/* Open channels to listen for input on. */
|
|
|
|
- _vte_terminal_connect_pty_read (terminal);
|
|
|
|
+ vte_terminal_connect_pty_read (terminal);
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
g_object_notify(object, "pty");
|
2015-04-10 06:13:26 +02:00
|
|
|
|
|
|
|
@@ -12276,7 +12343,7 @@
|
2014-09-21 23:14:29 +02:00
|
|
|
}
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
char *
|
|
|
|
-_vte_terminal_get_selection(VteTerminal *terminal)
|
|
|
|
+vte_terminal_get_selection(VteTerminal *terminal)
|
|
|
|
{
|
2015-04-10 06:13:26 +02:00
|
|
|
g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
|
|
|
|
|
|
|
|
diff --unified -aur vte-0.40.0/src/vteint.h vte-0.40.0.new/src/vteint.h
|
|
|
|
--- vte-0.40.0/src/vteint.h 2014-05-28 08:22:48.000000000 -0400
|
|
|
|
+++ vte-0.40.0.new/src/vteint.h 2015-04-10 00:08:53.153520062 -0400
|
2014-09-21 23:14:29 +02:00
|
|
|
@@ -25,7 +25,6 @@
|
|
|
|
G_BEGIN_DECLS
|
2015-04-10 06:13:26 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
void _vte_terminal_accessible_ref(VteTerminal *terminal);
|
|
|
|
-char* _vte_terminal_get_selection(VteTerminal *terminal);
|
|
|
|
void _vte_terminal_get_start_selection(VteTerminal *terminal, long *x, long *y);
|
|
|
|
void _vte_terminal_get_end_selection(VteTerminal *terminal, long *x, long *y);
|
|
|
|
void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, int start_offset, int end_offset);
|
2015-04-10 06:13:26 +02:00
|
|
|
diff --unified -aur vte-0.40.0/src/vteterminal.h vte-0.40.0.new/src/vteterminal.h
|
|
|
|
--- vte-0.40.0/src/vteterminal.h 2015-03-18 12:38:09.000000000 -0400
|
|
|
|
+++ vte-0.40.0.new/src/vteterminal.h 2015-04-10 00:08:53.150186722 -0400
|
|
|
|
@@ -169,6 +169,18 @@
|
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
|
|
|
void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
|
|
|
+gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
|
|
|
+void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
|
|
|
|
+ gboolean block_mode) _VTE_GNUC_NONNULL(1);
|
2012-07-10 04:44:53 +02:00
|
|
|
+void vte_terminal_select_text(VteTerminal *terminal,
|
|
|
|
+ long start_col, long start_row,
|
2014-09-21 23:14:29 +02:00
|
|
|
+ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
|
|
|
|
+char *
|
|
|
|
+vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
|
2012-08-27 06:46:52 +02:00
|
|
|
+
|
|
|
|
+/* pause and unpause output */
|
|
|
|
+void vte_terminal_disconnect_pty_read(VteTerminal *vte);
|
|
|
|
+void vte_terminal_connect_pty_read(VteTerminal *vte);
|
2012-07-07 04:46:00 +02:00
|
|
|
|
2015-04-10 06:13:26 +02:00
|
|
|
/* By-word selection */
|
|
|
|
void vte_terminal_set_word_char_exceptions(VteTerminal *terminal,
|
|
|
|
@@ -280,6 +292,8 @@
|
2012-08-30 10:27:01 +02:00
|
|
|
void vte_terminal_get_cursor_position(VteTerminal *terminal,
|
2015-04-10 06:13:26 +02:00
|
|
|
glong *column,
|
2014-09-21 23:14:29 +02:00
|
|
|
glong *row) _VTE_GNUC_NONNULL(1);
|
2012-08-30 10:27:01 +02:00
|
|
|
+void vte_terminal_set_cursor_position(VteTerminal *terminal,
|
2014-09-21 23:14:29 +02:00
|
|
|
+ long column, long row) _VTE_GNUC_NONNULL(1);
|
2012-08-30 07:03:15 +02:00
|
|
|
|
2014-09-21 23:14:29 +02:00
|
|
|
/* Add a matching expression, returning the tag the widget assigns to that
|
|
|
|
* expression. */
|