From 391f3adb81ebc4cedf4d301153dd6653aac269ed Mon Sep 17 00:00:00 2001 From: Matt Rose Date: Mon, 15 Jun 2020 20:02:12 -0400 Subject: [PATCH 1/2] dont cycle through open tabs and focus them --- terminatorlib/terminator.py | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/terminatorlib/terminator.py b/terminatorlib/terminator.py index a966d8e2..125779f3 100644 --- a/terminatorlib/terminator.py +++ b/terminatorlib/terminator.py @@ -356,35 +356,7 @@ class Terminator(Borg): terminal.spawn_child() for window in self.windows: - if window.is_child_notebook(): - # For windows with a notebook - notebook = window.get_toplevel().get_children()[0] - # Cycle through pages by number - for page in range(0, notebook.get_n_pages()): - # Try and get the entry in the previously saved mapping - mapping = window_last_active_term_mapping[window] - page_last_active_term = mapping.get(notebook.get_nth_page(page), None) - if page_last_active_term is None: - # Couldn't find entry, so we find the first child of type Terminal - children = notebook.get_nth_page(page).get_children() - for page_last_active_term in children: - if maker.isinstance(page_last_active_term, 'Terminal'): - page_last_active_term = page_last_active_term.uuid - break - else: - err('Should never reach here!') - page_last_active_term = None - if page_last_active_term is None: - # Bail on this tab as we're having no luck here, continue with the next - continue - # Set the notebook entry, then ensure Terminal is visible and focussed - urn = page_last_active_term.urn - notebook.last_active_term[notebook.get_nth_page(page)] = page_last_active_term - if urn: - term = self.find_terminal_by_uuid(urn) - if term: - term.ensure_visible_and_focussed() - else: + if not window.is_child_notebook(): # For windows without a notebook ensure Terminal is visible and focussed if window_last_active_term_mapping[window]: term = self.find_terminal_by_uuid(window_last_active_term_mapping[window].urn) From decd21e15f716ad6abdf92eab4112ecf11bdb4e3 Mon Sep 17 00:00:00 2001 From: Matt Rose Date: Mon, 15 Jun 2020 20:59:09 -0400 Subject: [PATCH 2/2] dont traceback if we cant find a last active term --- terminatorlib/notebook.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/terminatorlib/notebook.py b/terminatorlib/notebook.py index 55266e28..52e70b9e 100644 --- a/terminatorlib/notebook.py +++ b/terminatorlib/notebook.py @@ -492,7 +492,9 @@ class Notebook(Container, Gtk.Notebook): tabs_last_active_term = data['tabs_last_active_term'] if tabs_last_active_term: term = self.terminator.find_terminal_by_uuid(tabs_last_active_term.urn) - GObject.idle_add(term.ensure_visible_and_focussed) + # if we can't find a last active term we must be starting up + if term is not None: + GObject.idle_add(term.ensure_visible_and_focussed) return True def on_scroll_event(self, notebook, event):