From 1481d2a6136052ceb5f4410e2922564229721cb4 Mon Sep 17 00:00:00 2001 From: Myk Date: Sat, 1 Aug 2020 18:35:14 +1000 Subject: Test for and follow tab changes in multipane mode --- ranger/gui/widgets/statusbar.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py index fd44613e..6499135f 100644 --- a/ranger/gui/widgets/statusbar.py +++ b/ranger/gui/widgets/statusbar.py @@ -42,6 +42,7 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes self.column = column self.settings.signal_bind('setopt.display_size_in_status_bar', self.request_redraw, weak=True) + self.fm.signal_bind('tab.change', self.request_redraw, weak=True) def request_redraw(self): self.need_redraw = True @@ -52,9 +53,14 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes def clear_message(self): self.msg = None - def draw(self): + def draw(self): # pylint: disable=too-many-branches """Draw the statusbar""" + if self.fm.ui.viewmode == self.fm.ui.ALLOWED_VIEWMODES[1]: + if self.column != self.fm.ui.browser.main_column: + self.column = self.fm.ui.browser.main_column + self.need_redraw = True + if self.hint and isinstance(self.hint, str): if self.old_hint != self.hint: self.need_redraw = True -- cgit 1.4.1-2-gfad0 From c5229b4f56c1c6fb6ec3bc5c6e7c621fa53cfe05 Mon Sep 17 00:00:00 2001 From: Myk Date: Sat, 1 Aug 2020 22:04:52 +1000 Subject: Handle all column changes --- ranger/gui/widgets/statusbar.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py index 6499135f..b3484ac4 100644 --- a/ranger/gui/widgets/statusbar.py +++ b/ranger/gui/widgets/statusbar.py @@ -43,6 +43,7 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes self.settings.signal_bind('setopt.display_size_in_status_bar', self.request_redraw, weak=True) self.fm.signal_bind('tab.change', self.request_redraw, weak=True) + self.fm.signal_bind('setop.viewmode', self.request_redraw, weak=True) def request_redraw(self): self.need_redraw = True @@ -56,10 +57,9 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes def draw(self): # pylint: disable=too-many-branches """Draw the statusbar""" - if self.fm.ui.viewmode == self.fm.ui.ALLOWED_VIEWMODES[1]: - if self.column != self.fm.ui.browser.main_column: - self.column = self.fm.ui.browser.main_column - self.need_redraw = True + if self.column != self.fm.ui.browser.main_column: + self.column = self.fm.ui.browser.main_column + self.need_redraw = True if self.hint and isinstance(self.hint, str): if self.old_hint != self.hint: -- cgit 1.4.1-2-gfad0 From 4cb09a536923334d443853f3da5b7481d0c40d03 Mon Sep 17 00:00:00 2001 From: Myk Date: Sun, 2 Aug 2020 20:02:52 +1000 Subject: Add handler for tab.layoutchange --- ranger/gui/widgets/statusbar.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py index b3484ac4..06893b46 100644 --- a/ranger/gui/widgets/statusbar.py +++ b/ranger/gui/widgets/statusbar.py @@ -43,6 +43,7 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes self.settings.signal_bind('setopt.display_size_in_status_bar', self.request_redraw, weak=True) self.fm.signal_bind('tab.change', self.request_redraw, weak=True) + self.fm.signal_bind('tab.layoutchange', self.request_redraw, weak=True) self.fm.signal_bind('setop.viewmode', self.request_redraw, weak=True) def request_redraw(self): -- cgit 1.4.1-2-gfad0 From ab71442b4a4f19784b01cfc4cb9c2995fdb7d6f3 Mon Sep 17 00:00:00 2001 From: Myk Date: Thu, 6 Aug 2020 21:59:46 +1000 Subject: unbind from tab.change --- ranger/gui/widgets/statusbar.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py index 06893b46..4873c07a 100644 --- a/ranger/gui/widgets/statusbar.py +++ b/ranger/gui/widgets/statusbar.py @@ -42,7 +42,6 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes self.column = column self.settings.signal_bind('setopt.display_size_in_status_bar', self.request_redraw, weak=True) - self.fm.signal_bind('tab.change', self.request_redraw, weak=True) self.fm.signal_bind('tab.layoutchange', self.request_redraw, weak=True) self.fm.signal_bind('setop.viewmode', self.request_redraw, weak=True) -- cgit 1.4.1-2-gfad0