From 02710dbfe9f0d2960d6cf964feea93a28619afd7 Mon Sep 17 00:00:00 2001 From: Pol Rivero <65060696+pol-rivero@users.noreply.github.com> Date: Thu, 2 Jan 2025 17:42:39 +0100 Subject: [PATCH] Searchbar improvements - Fix bug where search is always initialized as case-sensitive, even if the "March Case" checkbox is unchecked. - If search order is inverted, Shift+Enter will now search forward (instead of searching in the same direction as just Enter). - While we're at it, add some margin to the "Search:" label to improve how it looks --- terminatorlib/searchbar.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/terminatorlib/searchbar.py b/terminatorlib/searchbar.py index 71014a3e..25f60645 100644 --- a/terminatorlib/searchbar.py +++ b/terminatorlib/searchbar.py @@ -43,6 +43,10 @@ def __init__(self): self.config = Config() + if not self.config.base.get_item('case_sensitive'): + self.regex_flags_pcre2 |= regex.PCRE2_CASELESS + self.regex_flags_glib |= regex.GLIB_CASELESS + self.get_style_context().add_class("terminator-terminal-searchbar") # Search text @@ -55,6 +59,8 @@ def __init__(self): # Label label = Gtk.Label(label=_('Search:')) label.show() + label.set_margin_start(10) + label.set_margin_end(5) # Close Button close = Gtk.Button() @@ -166,7 +172,10 @@ def search_keypress(self, widget, event): self.end_search() elif (event.state & Gdk.ModifierType.SHIFT_MASK)\ and (event.keyval == Gdk.KEY_Return or event.keyval == Gdk.KEY_KP_Enter): - self.prev_search(None) + if self.search_is_inverted: + self.next_search(None) + else: + self.prev_search(None) return True def start_search(self):