diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix index 37076d242c44..25b3677b4989 100644 --- a/pkgs/applications/misc/termite/default.nix +++ b/pkgs/applications/misc/termite/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "termite-${version}"; - version = "8"; + version = "v8"; src = fetchgit { - url = "https://github.com/thestinger/termite.git"; - rev = "05f3bbf626245a344eb74859ef2aa49f715ebd55"; - sha256 = "01dfg4zg7sgw0cbh0j9sbwdvn43rw7xfcnijfh1dhd6n5yx00b18"; + url = "https://github.com/thestinger/termite"; + rev = "7f03ded7308ad0e26b72b150080e4f3e70401815"; + sha256 = "1yj4jvjwv73a02p8a0yip8q39znlhfc9zdr19zm1zik2k4h62c2l"; }; makeFlags = "VERSION=v${version}"; diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix new file mode 100644 index 000000000000..2c10eccb1e83 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/vte/0.38.0.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection, vala, libxml2 +, selectTextPatch ? false }: + +stdenv.mkDerivation rec { + versionMajor = "0.38"; + versionMinor = "0"; + moduleName = "vte"; + + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "1llg2xnjpn630vd86ci8csbjjacj3ia6syck2bsq4kinr66z5zsw"; + }; + + patches = with stdenv.lib; optional selectTextPatch ./expose_select_text.0.38.0.patch; + + buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses vala libxml2 ]; + + configureFlags = [ "--enable-introspection" ]; + + enableParallelBuilding = true; + + postInstall = '' + substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses}/lib -lncurses" + ''; + + meta = with stdenv.lib; { + homepage = http://www.gnome.org/; + description = "A library implementing a terminal emulator widget for GTK+"; + longDescription = '' + VTE is a library (libvte) implementing a terminal emulator widget for + GTK+, and a minimal sample application (vte) using that. Vte is + mainly used in gnome-terminal, but can also be used to embed a + console/terminal in games, editors, IDEs, etc. VTE supports Unicode and + character set conversion, as well as emulating any terminal known to + the system's terminfo database. + ''; + license = licenses.lgpl2; + maintainers = with maintainers; [ astsmtl antono lethalman ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix index f63ae98c4866..d3245e232edd 100644 --- a/pkgs/desktops/gnome-3/3.12/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/3.12/core/vte/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection, vala, libxml2 +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection , selectTextPatch ? false }: stdenv.mkDerivation rec { diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch new file mode 100644 index 000000000000..0a9b82a85982 --- /dev/null +++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.0.38.0.patch @@ -0,0 +1,227 @@ +Only in vte-0.38.0.new: expose_select_text.patch +diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c +--- vte-0.38.0/src/vteaccess.c 2014-08-13 08:00:38.000000000 -0400 ++++ vte-0.38.0.new/src/vteaccess.c 2014-09-21 17:05:23.934641193 -0400 +@@ -1427,7 +1427,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); +- return _vte_terminal_get_selection (terminal); ++ return vte_terminal_get_selection (terminal); + } + + static gboolean +diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c +--- vte-0.38.0/src/vte.c 2014-09-13 03:23:47.000000000 -0400 ++++ vte-0.38.0.new/src/vte.c 2014-09-21 17:03:04.671656749 -0400 +@@ -122,7 +122,6 @@ + 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); + +@@ -3267,9 +3266,10 @@ + _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; + } +@@ -3321,9 +3321,10 @@ + } + } + +-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); +@@ -6154,6 +6155,28 @@ + } + } + ++/** ++ * 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); ++ terminal->pvt->screen->cursor_current.col = column; ++ terminal->pvt->screen->cursor_current.row = row; ++ _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) + { +@@ -6319,7 +6342,7 @@ + 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 +@@ -6336,7 +6359,7 @@ + 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; + } +@@ -6834,6 +6857,50 @@ + vte_terminal_deselect_all (terminal); + } + ++/** ++ * 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); ++} ++ + /* Autoscroll a bit. */ + static gboolean + vte_terminal_autoscroll(VteTerminal *terminal) +@@ -8476,7 +8543,7 @@ + #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); +@@ -12533,7 +12600,7 @@ + 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) { +@@ -12588,7 +12655,7 @@ + _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"); + +@@ -12623,7 +12690,7 @@ + } + + char * +-_vte_terminal_get_selection(VteTerminal *terminal) ++vte_terminal_get_selection(VteTerminal *terminal) + { + g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); + +Only in vte-0.38.0.new/src: .vte.c.swp +diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h +--- vte-0.38.0/src/vteint.h 2014-05-16 13:51:26.000000000 -0400 ++++ vte-0.38.0.new/src/vteint.h 2014-09-21 17:05:44.934589281 -0400 +@@ -25,7 +25,6 @@ + G_BEGIN_DECLS + + 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); +diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h +--- vte-0.38.0/src/vteterminal.h 2014-09-13 03:23:47.000000000 -0400 ++++ vte-0.38.0.new/src/vteterminal.h 2014-09-21 17:03:39.094903032 -0400 +@@ -170,6 +170,18 @@ + + 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); ++void vte_terminal_select_text(VteTerminal *terminal, ++ long start_col, long start_row, ++ long end_col, long end_row) _VTE_GNUC_NONNULL(1); ++char * ++vte_terminal_get_selection(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); + + /* Set the terminal's size. */ + void vte_terminal_set_size(VteTerminal *terminal, +@@ -276,6 +288,8 @@ + void vte_terminal_get_cursor_position(VteTerminal *terminal, + glong *column, + glong *row) _VTE_GNUC_NONNULL(1); ++void vte_terminal_set_cursor_position(VteTerminal *terminal, ++ long column, long row) _VTE_GNUC_NONNULL(1); + + /* Add a matching expression, returning the tag the widget assigns to that + * expression. */ diff --git a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch index 80a2a445ec03..0a9b82a85982 100644 --- a/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch +++ b/pkgs/desktops/gnome-3/3.12/core/vte/expose_select_text.patch @@ -1,7 +1,20 @@ -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-13 21:09:04.003969877 -0400 -+++ vte-0.32.2/src/vte.c 2012-08-30 04:30:04.285924831 -0400 -@@ -129,7 +129,6 @@ +Only in vte-0.38.0.new: expose_select_text.patch +diff -aur vte-0.38.0/src/vteaccess.c vte-0.38.0.new/src/vteaccess.c +--- vte-0.38.0/src/vteaccess.c 2014-08-13 08:00:38.000000000 -0400 ++++ vte-0.38.0.new/src/vteaccess.c 2014-09-21 17:05:23.934641193 -0400 +@@ -1427,7 +1427,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); +- return _vte_terminal_get_selection (terminal); ++ return vte_terminal_get_selection (terminal); + } + + static gboolean +diff -aur vte-0.38.0/src/vte.c vte-0.38.0.new/src/vte.c +--- vte-0.38.0/src/vte.c 2014-09-13 03:23:47.000000000 -0400 ++++ vte-0.38.0.new/src/vte.c 2014-09-21 17:03:04.671656749 -0400 +@@ -122,7 +122,6 @@ gpointer data, GArray *attributes, gboolean include_trailing_spaces); @@ -9,7 +22,7 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c static void _vte_terminal_disconnect_pty_write(VteTerminal *terminal); static void vte_terminal_stop_processing (VteTerminal *terminal); -@@ -3508,8 +3507,8 @@ +@@ -3267,9 +3266,10 @@ _vte_debug_print (VTE_DEBUG_IO, "removed poll of vte_terminal_io_read\n"); terminal->pvt->pty_input_source = 0; } @@ -18,9 +31,11 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c +void +vte_terminal_connect_pty_read(VteTerminal *terminal) { ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); if (terminal->pvt->pty_channel == NULL) { return; -@@ -3560,8 +3559,8 @@ + } +@@ -3321,9 +3321,10 @@ } } @@ -29,29 +44,11 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c +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"); -@@ -3708,8 +3707,8 @@ - return NULL; - } - --static char * --_vte_terminal_get_user_shell_with_fallback (void) -+char * -+vte_terminal_get_user_shell_with_fallback (void) - { - char *command; - const gchar *env; -@@ -3744,7 +3743,7 @@ - char **argv2; - char *shell = NULL; - -- argv2 = __vte_pty_get_argv(command ? command : (shell = _vte_terminal_get_user_shell_with_fallback ()), -+ argv2 = __vte_pty_get_argv(command ? command : (shell = vte_terminal_get_user_shell_with_fallback ()), - argv, - flags); - g_free(shell); -@@ -6545,6 +6544,28 @@ + g_source_remove(terminal->pvt->pty_input_source); +@@ -6154,6 +6155,28 @@ } } @@ -80,8 +77,8 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c static GtkClipboard * vte_terminal_clipboard_get(VteTerminal *terminal, GdkAtom board) { -@@ -6676,7 +6697,7 @@ - terminal->pvt->selection_start.row); +@@ -6319,7 +6342,7 @@ + vte_terminal_extend_selection(terminal, x, y, FALSE, TRUE); /* Temporarily stop caring about input from the child. */ - _vte_terminal_disconnect_pty_read(terminal); @@ -89,7 +86,7 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c } static gboolean -@@ -6693,7 +6714,7 @@ +@@ -6336,7 +6359,7 @@ terminal->pvt->selecting = FALSE; /* Reconnect to input from the child if we paused it. */ @@ -98,35 +95,8 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c return TRUE; } -@@ -8994,7 +9015,7 @@ - #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); -@@ -14384,7 +14405,7 @@ - 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) { -@@ -14440,7 +14461,7 @@ - _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"); - g_object_notify(object, "pty-object"); -@@ -14567,6 +14588,50 @@ - } +@@ -6834,6 +6857,50 @@ + vte_terminal_deselect_all (terminal); } +/** @@ -173,21 +143,72 @@ diff -aur vte-0.32.2-old/src/vte.c vte-0.32.2/src/vte.c + _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-13 21:09:04.003969877 -0400 -+++ vte-0.32.2/src/vte.h 2012-08-30 04:30:09.695999432 -0400 -@@ -296,6 +296,15 @@ - /* 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); + /* Autoscroll a bit. */ + static gboolean + vte_terminal_autoscroll(VteTerminal *terminal) +@@ -8476,7 +8543,7 @@ + #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); +@@ -12533,7 +12600,7 @@ + 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) { +@@ -12588,7 +12655,7 @@ + _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"); + +@@ -12623,7 +12690,7 @@ + } + + char * +-_vte_terminal_get_selection(VteTerminal *terminal) ++vte_terminal_get_selection(VteTerminal *terminal) + { + g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); + +Only in vte-0.38.0.new/src: .vte.c.swp +diff -aur vte-0.38.0/src/vteint.h vte-0.38.0.new/src/vteint.h +--- vte-0.38.0/src/vteint.h 2014-05-16 13:51:26.000000000 -0400 ++++ vte-0.38.0.new/src/vteint.h 2014-09-21 17:05:44.934589281 -0400 +@@ -25,7 +25,6 @@ + G_BEGIN_DECLS + + 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); +diff -aur vte-0.38.0/src/vteterminal.h vte-0.38.0.new/src/vteterminal.h +--- vte-0.38.0/src/vteterminal.h 2014-09-13 03:23:47.000000000 -0400 ++++ vte-0.38.0.new/src/vteterminal.h 2014-09-21 17:03:39.094903032 -0400 +@@ -170,6 +170,18 @@ + + 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); +void vte_terminal_select_text(VteTerminal *terminal, + long start_col, long start_row, -+ long end_col, long end_row); ++ long end_col, long end_row) _VTE_GNUC_NONNULL(1); ++char * ++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + +/* pause and unpause output */ +void vte_terminal_disconnect_pty_read(VteTerminal *vte); @@ -195,20 +216,12 @@ diff -aur vte-0.32.2-old/src/vte.h vte-0.32.2/src/vte.h /* Set the terminal's size. */ void vte_terminal_set_size(VteTerminal *terminal, -@@ -435,6 +444,8 @@ - GArray *attributes); +@@ -276,6 +288,8 @@ void vte_terminal_get_cursor_position(VteTerminal *terminal, - glong *column, glong *row); + glong *column, + glong *row) _VTE_GNUC_NONNULL(1); +void vte_terminal_set_cursor_position(VteTerminal *terminal, -+ long column, long row); - /* Display string matching: clear all matching expressions. */ - void vte_terminal_match_clear_all(VteTerminal *terminal); ++ long column, long row) _VTE_GNUC_NONNULL(1); -@@ -484,6 +495,7 @@ - VtePty *vte_terminal_get_pty_object(VteTerminal *terminal); - - char *vte_get_user_shell (void); -+char *vte_terminal_get_user_shell_with_fallback(void); - - /* Accessors for bindings. */ - #if !GTK_CHECK_VERSION (2, 91, 2) + /* Add a matching expression, returning the tag the widget assigns to that + * expression. */ diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix index cff592cd063e..9551e0bae880 100644 --- a/pkgs/desktops/gnome-3/3.12/default.nix +++ b/pkgs/desktops/gnome-3/3.12/default.nix @@ -168,7 +168,9 @@ rec { vte = callPackage ./core/vte { }; - vte-select-text = callPackage ./core/vte { selectTextPatch = true; }; + vte_038 = callPackage ./core/vte/0.38.0.nix { }; # To be moved in gnome 3.14 when available + + vte-select-text = vte_038.override { selectTextPatch = true; }; vino = callPackage ./core/vino { };