summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephane Fontaine <stefont@gmail.com>2018-02-24 21:10:35 +0400
committerStephane Fontaine <stefont@gmail.com>2018-02-24 21:10:35 +0400
commited4eb4bf282354886e52ae6fa92bf68078edfef6 (patch)
treeb5ded6d408475add270e35521ef7e3f649b17b20
parentc2b9dd31de649f19805f07f58814d3054d3c9c54 (diff)
Add new option to disable display of free disk space in statusbar
Fixes #1087 Useful on high-latency filesystems as it avoid calls to statvfs system call which costs: (number of redraw) * latency.
-rw-r--r--doc/ranger.13
-rw-r--r--doc/ranger.pod4
-rw-r--r--examples/rc_emacs.conf3
-rw-r--r--ranger/config/rc.conf3
-rw-r--r--ranger/container/settings.py1
-rw-r--r--ranger/gui/widgets/statusbar.py15
6 files changed, 22 insertions, 7 deletions
diff --git a/doc/ranger.1 b/doc/ranger.1
index fca30604..9ec79cfd 100644
--- a/doc/ranger.1
+++ b/doc/ranger.1
@@ -766,6 +766,9 @@ Display the file size in the main column?
Display the file size in the status bar?
.IP "display_tags_in_all_columns [bool]" 4
.IX Item "display_tags_in_all_columns [bool]"
+Display the free disk space in the status bar?
+.IP "display_free_space_in_status_bar [bool]" 4
+.IX Item "display_free_space_in_status_bar [bool]"
Display tags in all columns?
.IP "draw_borders [bool]" 4
.IX Item "draw_borders [bool]"
diff --git a/doc/ranger.pod b/doc/ranger.pod
index 523d8d9d..04598bd2 100644
--- a/doc/ranger.pod
+++ b/doc/ranger.pod
@@ -752,6 +752,10 @@ Display the file size in the main column?
Display the file size in the status bar?
+=item display_free_space_in_status_bar [bool]
+
+Display the free disk space in the status bar?
+
=item display_tags_in_all_columns [bool]
Display tags in all columns?
diff --git a/examples/rc_emacs.conf b/examples/rc_emacs.conf
index 26074a42..4743f8a3 100644
--- a/examples/rc_emacs.conf
+++ b/examples/rc_emacs.conf
@@ -122,6 +122,9 @@ set mouse_enabled true
set display_size_in_main_column true
set display_size_in_status_bar true
+# Display the free disk space in the status bar?
+set display_free_space_in_status_bar true
+
# Display files tags in all columns or only in main column?
set display_tags_in_all_columns true
diff --git a/ranger/config/rc.conf b/ranger/config/rc.conf
index 676090fb..51d18ff2 100644
--- a/ranger/config/rc.conf
+++ b/ranger/config/rc.conf
@@ -137,6 +137,9 @@ set mouse_enabled true
set display_size_in_main_column true
set display_size_in_status_bar true
+# Display the free disk space in the status bar?
+set display_free_space_in_status_bar true
+
# Display files tags in all columns or only in main column?
set display_tags_in_all_columns true
diff --git a/ranger/container/settings.py b/ranger/container/settings.py
index d0b094d0..e87b6e48 100644
--- a/ranger/container/settings.py
+++ b/ranger/container/settings.py
@@ -38,6 +38,7 @@ ALLOWED_SETTINGS = {
'dirname_in_tabs': bool,
'display_size_in_main_column': bool,
'display_size_in_status_bar': bool,
+ "display_free_space_in_status_bar": bool,
'display_tags_in_all_columns': bool,
'draw_borders': bool,
'draw_progress_bar_in_status_bar': bool,
diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py
index 266d48ca..3457955e 100644
--- a/ranger/gui/widgets/statusbar.py
+++ b/ranger/gui/widgets/statusbar.py
@@ -275,13 +275,14 @@ class StatusBar(Widget): # pylint: disable=too-many-instance-attributes
right.add("/" + str(len(target.marked_items)))
else:
right.add(human_readable(target.disk_usage, separator='') + " sum")
- try:
- free = get_free_space(target.mount_path)
- except OSError:
- pass
- else:
- right.add(", ", "space")
- right.add(human_readable(free, separator='') + " free")
+ if self.settings.display_free_space_in_status_bar:
+ try:
+ free = get_free_space(target.mount_path)
+ except OSError:
+ pass
+ else:
+ right.add(", ", "space")
+ right.add(human_readable(free, separator='') + " free")
right.add(" ", "space")
if target.marked_items: