about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/gui/widgets/statusbar.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py
index fd44613e..4873c07a 100644
--- a/ranger/gui/widgets/statusbar.py
+++ b/ranger/gui/widgets/statusbar.py
@@ -42,6 +42,8 @@ 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.layoutchange', self.request_redraw, weak=True)
+        self.fm.signal_bind('setop.viewmode', self.request_redraw, weak=True)
 
     def request_redraw(self):
         self.need_redraw = True
@@ -52,9 +54,13 @@ 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.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