summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--TODO2
-rw-r--r--ranger/gui/widgets/browsercolumn.py25
2 files changed, 25 insertions, 2 deletions
diff --git a/TODO b/TODO
index efa27548..1c4ab908 100644
--- a/TODO
+++ b/TODO
@@ -34,7 +34,7 @@ General
    (X) #42  10/01/17  memorize directory for `` when using :cd
    (X) #43  10/01/18  internally treat the bookmarks ` and ' the same
    ( ) #44  10/01/18  more error messages :P
-   ( ) #47  10/01/19  less restricive auto preview
+   (X) #47  10/01/19  less restricive auto preview
    (X) #48  10/01/19  abbreviate commands with first unambiguous substring
 
 
diff --git a/ranger/gui/widgets/browsercolumn.py b/ranger/gui/widgets/browsercolumn.py
index 8544da19..c8a0cfe3 100644
--- a/ranger/gui/widgets/browsercolumn.py
+++ b/ranger/gui/widgets/browsercolumn.py
@@ -13,11 +13,33 @@
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 """The BrowserColumn widget displays the contents of a directory or file."""
+import re
 from time import time
 
 from . import Widget
 from .pager import Pager
 
+# Don't even try to preview files which mach this regular expression:
+PREVIEW_BLACKLIST = re.compile(r"""
+		# look at the extension:
+		\.(
+			# one character extensions:
+				[oa]
+			# media formats:
+				| avi | [mj]pe?g | mp\d | og[gmv] | wm[av] | mkv | flv
+				| png | bmp | vob | wav | mpc | flac | divx? | xcf | pdf
+			# binary files:
+				| torrent | class | so | img | py[co]
+			# containers:
+				| iso | rar | zip | 7z | tar | gz | bz
+		)
+		# ignore dummy suffixes:
+			(\.bak|~)?
+		# ignore fully numerical file extensions:
+			(\.\d+)*?
+		$
+""", re.VERBOSE | re.IGNORECASE)
+
 class BrowserColumn(Pager, Widget):
 	main_column = False
 	display_infostring = False
@@ -123,7 +145,8 @@ class BrowserColumn(Pager, Widget):
 			self.last_redraw_time = time()
 
 	def _preview_this_file(self, target):
-		return target.document and self.settings.preview_files
+		return not PREVIEW_BLACKLIST.search(target.basename) \
+				and self.settings.preview_files
 
 	def _draw_file(self):
 		"""Draw a preview of the file, if the settings allow it"""
committer Kartik Agaram <vc@akkartik.com> 2018-06-17 00:29:22 -0700 4261 - start using literals for 'true' and 'false'' href='/akkartik/mu/commit/022constant.cc?h=hlt&id=dd66068298b0a11f2a1f195376cba98e0c8570b5'>dd660682 ^
01ce563d ^


92a3d082 ^


01ce563d ^



92a3d082 ^
01ce563d ^









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