summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/defaults/options.py4
-rw-r--r--ranger/gui/widgets/browsercolumn.py9
-rw-r--r--ranger/gui/widgets/statusbar.py13
-rw-r--r--ranger/shared/settings.py2
4 files changed, 25 insertions, 3 deletions
diff --git a/ranger/defaults/options.py b/ranger/defaults/options.py
index 6e34c244..c34e2105 100644
--- a/ranger/defaults/options.py
+++ b/ranger/defaults/options.py
@@ -60,6 +60,10 @@ draw_bookmark_borders = True
 # How many columns are there, and what are their relative widths?
 column_ratios = (1, 1, 4, 3)
 
+# Display the file size in the main column or status bar?
+display_size_in_main_column = False
+display_size_in_status_bar = True
+
 # Set a title for the window?
 update_title = True
 
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index 9a7dfe9c..d8bfeb69 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -75,6 +75,12 @@ class BrowserColumn(Pager):
 		Widget.__init__(self, win)
 		self.level = level
 
+		self.settings.signal_bind('setopt.display_size_in_main_column',
+				self.request_redraw, weak=True)
+
+	def request_redraw(self):
+		self.need_redraw = True
+
 	def resize(self, y, x, hei, wid):
 		Widget.resize(self, y, x, hei, wid)
 
@@ -289,7 +295,8 @@ class BrowserColumn(Pager):
 				else:
 					self.win.addnstr(line, 0, text, self.wid)
 
-				if self.display_infostring and drawn.infostring:
+				if self.display_infostring and drawn.infostring \
+						and self.settings.display_size_in_main_column:
 					info = drawn.infostring
 					x = self.wid - 1 - len(info)
 					if x > self.x:
diff --git a/ranger/gui/widgets/statusbar.py b/ranger/gui/widgets/statusbar.py
index 6f52f8ef..75fbbe89 100644
--- a/ranger/gui/widgets/statusbar.py
+++ b/ranger/gui/widgets/statusbar.py
@@ -47,6 +47,11 @@ class StatusBar(Widget):
 	def __init__(self, win, column=None):
 		Widget.__init__(self, win)
 		self.column = column
+		self.settings.signal_bind('setopt.display_size_in_status_bar',
+				self.request_redraw, weak=True)
+	
+	def request_redraw(self):
+		self.need_redraw = True
 
 	def notify(self, text, duration=4, bad=False):
 		self.msg = Message(text, duration, bad)
@@ -157,12 +162,16 @@ class StatusBar(Widget):
 		left.add(self._get_owner(target), 'owner')
 		left.add_space()
 		left.add(self._get_group(target), 'group')
-		left.add_space()
 
 		if target.islink:
 			how = target.exists and 'good' or 'bad'
-			left.add('-> ' + target.readlink, 'link', how)
+			left.add(' -> ' + target.readlink, 'link', how)
 		else:
+			if self.settings.display_size_in_status_bar and target.infostring:
+				left.add(target.infostring)
+
+			left.add_space()
+
 			left.add(strftime(self.timeformat,
 					localtime(target.stat.st_mtime)), 'mtime')
 
diff --git a/ranger/shared/settings.py b/ranger/shared/settings.py
index 6342db25..a4a58e6e 100644
--- a/ranger/shared/settings.py
+++ b/ranger/shared/settings.py
@@ -24,6 +24,8 @@ ALLOWED_SETTINGS = {
 	'save_console_history': bool,
 	'collapse_preview': bool,
 	'column_ratios': (tuple, list, set),
+	'display_size_in_main_column': bool,
+	'display_size_in_status_bar': bool,
 	'draw_borders': bool,
 	'draw_bookmark_borders': bool,
 	'sort': str,
s masterfunctions which call atomic ones)' href='/acidbong/suckless/dwm/commit/config.arg.h?h=5.0&id=19390b1a91da680a502ce5acebd086cfbe32627c'>19390b1 ^
97ced11 ^
19390b1 ^
a73a882 ^
b38905b ^
a73a882 ^
19dcbc5 ^

0982e47 ^
19dcbc5 ^
b60406c ^


19dcbc5 ^




42fd392 ^
19dcbc5 ^










42fd392 ^
19dcbc5 ^








a73a882 ^



d6a6eca ^
a08d83b ^



a73a882 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69