about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2021-05-30 03:05:52 +0200
committerSören Tempel <soeren+git@soeren-tempel.net>2021-05-30 03:05:52 +0200
commit170d4f003f2b530a6e892b33caaf71baa258d754 (patch)
treed7e6dd45f7982753c160bc5aeb66556dcf8a4d2d
parent6a9136beee57534022f46ff5586bd21288688066 (diff)
Scroll to string matched by SearchBar
-rw-r--r--saneterm/search.py9
-rw-r--r--saneterm/terminal.py2
2 files changed, 7 insertions, 4 deletions
diff --git a/saneterm/search.py b/saneterm/search.py
index 98cfb34..82e07db 100644
--- a/saneterm/search.py
+++ b/saneterm/search.py
@@ -6,12 +6,14 @@ class SearchBar(Gtk.SearchBar):
     BG_COLOR = "yellow"
     FG_COLOR = "black"
 
-    def __init__(self, buffer):
+    def __init__(self, view):
         Gtk.SearchBar.__init__(self)
-        self.__buffer = buffer
+
+        self.__view = view
+        self.__buffer = view.get_buffer()
 
         self.__match = None
-        self.__tag = buffer.create_tag("search-match",
+        self.__tag = self.__buffer.create_tag("search-match",
                 background=self.BG_COLOR,
                 foreground=self.FG_COLOR)
 
@@ -41,6 +43,7 @@ class SearchBar(Gtk.SearchBar):
         if self.__match:
             mstart, mend = self.__match
             buf.apply_tag(self.__tag, mstart, mend)
+            self.__view.scroll_to_iter(mstart, 0.1, False, 0.0, 0.0)
 
     def __search_changed(self, entry):
         self.__find_match(entry, self.__buffer.get_start_iter())
diff --git a/saneterm/terminal.py b/saneterm/terminal.py
index 9a254c1..96eb49f 100644
--- a/saneterm/terminal.py
+++ b/saneterm/terminal.py
@@ -97,7 +97,7 @@ class Terminal(Gtk.Window):
         self.update_wrapmode()
         vbox.pack_start(self.scroll, True, True, 0)
 
-        self.search_bar = SearchBar(self.termview.get_buffer())
+        self.search_bar = SearchBar(self.termview)
         vbox.pack_start(self.search_bar, False, True, 0)
 
         GObject.signal_new("toggle-search", self.termview,