about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJamie McClymont <jamie@kwiius.com>2020-11-14 03:25:59 +1300
committerMatthieu Coudron <mattator@gmail.com>2020-11-14 14:16:14 +0100
commit2ac6d50e1696250eabee99e50fb830e741692c33 (patch)
tree2e3ab1619990503cc4a34244312673417a1a984e
parentc6f7b2a7bc2a583c4c15929aa492219038b40e28 (diff)
vte-ng: update patches to apply on vte 0.62
-rw-r--r--pkgs/applications/terminal-emulators/termite/default.nix23
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch61
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch56
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch29
4 files changed, 154 insertions, 15 deletions
diff --git a/pkgs/applications/terminal-emulators/termite/default.nix b/pkgs/applications/terminal-emulators/termite/default.nix
index 63565e207f77f..2f991ca1c7e68 100644
--- a/pkgs/applications/terminal-emulators/termite/default.nix
+++ b/pkgs/applications/terminal-emulators/termite/default.nix
@@ -4,6 +4,8 @@ let
 
   # termite requires VTE with some internals exposed
   # https://github.com/thestinger/vte-ng
+  #
+  # three of the patches have been locally modified to cleanly apply on 0.62
   vte-ng =  vte.overrideAttrs (attrs: {
     patches = attrs.patches or [] ++ [
       (fetchpatch {
@@ -11,26 +13,17 @@ let
         url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch";
         sha256 = "1b0k9ys545q85vfki417p21kis9f36yd0hyp12phayynss6fn715";
       })
-      (fetchpatch {
-        name = "0002-expose-function-for-setting-cursor-position.patch";
-        url = "https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch";
-        sha256 = "091sb44g2pl0zbxnxidpfmsqqc65dmkakhjb0wvlnsjckqalhs89";
-      })
-      (fetchpatch {
-        name = "0003-add-function-for-setting-the-text-selections.patch";
-        url = "https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch";
-        sha256 = "12rq3svbj1nzridbssxsvmmb8njky3w8qdnkymz7850b3kqg277x";
-      })
+      # Derived from https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch
+      ./vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
+      # Derived from https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch
+      ./vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
       (fetchpatch {
         name = "0004-add-functions-to-get-set-block-selection-mode.patch";
         url = "https://github.com/thestinger/vte-ng/commit/08748fd9cb82bd191e5c476b1682ca71f7732572.patch";
         sha256 = "1cnhd8f7ywdgcyd6xmcd2nn39jjxzkxp4d0zsj2k7m5v74nhcs1g";
       })
-      (fetchpatch {
-        name = "0005-expose-function-for-getting-the-selected-text.patch";
-        url = "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
-        sha256 = "0pbnbkwqxm4p9xsgvqwayvh8srk5z1kyjnigmahf9mlqn7hi6v27";
-      })
+      # Derived from "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
+      ./vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
     ];
   });
 
diff --git a/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
new file mode 100644
index 0000000000000..8f5c0dab39ad3
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch
@@ -0,0 +1,61 @@
+From 5ae3acb69474fe5bc43767a4a3625e9ed23607a1 Mon Sep 17 00:00:00 2001
+From: Jelle van der Waa <jelle@vdwaa.nl>
+Date: Sat, 13 Feb 2016 22:18:01 +0100
+Subject: [PATCH] expose function for setting cursor position
+
+---
+ 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 a607e5da..9701320d 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -378,6 +378,11 @@ _VTE_PUBLIC
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ 				      glong *column,
+                                       glong *row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++                                      glong column,
++                                      glong row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++
+ 
+ _VTE_PUBLIC
+ char *vte_terminal_hyperlink_check_event(VteTerminal *terminal,
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index b11b780b..bdf36eac 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2415,6 +2415,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) noexcept
++{
++	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/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
new file mode 100644
index 0000000000000..203228dae34d7
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch
@@ -0,0 +1,56 @@
+From 742d57ecf15e24f6a5f2133a81b6c70acc8ff03c Mon Sep 17 00:00:00 2001
+From: Jelle van der Waa <jelle@vdwaa.nl>
+Date: Sat, 13 Feb 2016 22:25:19 +0100
+Subject: [PATCH] add function for setting the text selections
+
+---
+ 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 9701320d..a11b4cb7 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -196,6 +196,10 @@ _VTE_PUBLIC
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
+ _VTE_PUBLIC
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _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_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
++
+ 
+ /* By-word selection */
+ _VTE_PUBLIC
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index bdf36eac..d9e9f2ed 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2390,6 +2390,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) noexcept
++{
++	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/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
new file mode 100644
index 0000000000000..0a2c52722268f
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch
@@ -0,0 +1,29 @@
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -204,7 +204,9 @@
+ _VTE_PUBLIC
+ void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
+ 			      long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
+-
++_VTE_PUBLIC
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1);
+ 
+ /* By-word selection */
+ _VTE_PUBLIC
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2435,6 +2435,13 @@
+         IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
+ }
+ 
++char *
++vte_terminal_get_selection(VteTerminal *terminal) noexcept
++{
++	g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
++	return g_strdup (IMPL(terminal)->m_selection[VTE_SELECTION_PRIMARY]->str);
++}
++
+ /**
+  * vte_terminal_get_cursor_position:
+  * @terminal: a #VteTerminal