diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c --- vte-0.32.2-old/src/vte.c 2012-07-09 22:28:18.307063631 -0400 +++ vte-0.32.2/src/vte.c 2012-07-09 22:31:58.323320464 -0400 @@ -14567,6 +14567,51 @@ } } +/** + * 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 terminal->pvt->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)); + terminal->pvt->selection_block_mode = block_mode; +} + +/** + * 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); +} + + void _vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row, diff -aur vte-0.32.2-old/src/vte.h vte-0.32.2/src/vte.h --- vte-0.32.2-old/src/vte.h 2012-07-09 22:28:18.307063631 -0400 +++ vte-0.32.2/src/vte.h 2012-07-09 22:28:21.587107210 -0400 @@ -296,6 +296,11 @@ /* simple manipulation of selection */ void vte_terminal_select_all(VteTerminal *terminal); void vte_terminal_select_none(VteTerminal *terminal); +gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal); +void vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode); +void vte_terminal_select_text(VteTerminal *terminal, + long start_col, long start_row, + long end_col, long end_row); /* Set the terminal's size. */ void vte_terminal_set_size(VteTerminal *terminal,