diff options
author | hut <hut@hut.pm> | 2017-07-16 06:48:11 +0200 |
---|---|---|
committer | hut <hut@hut.pm> | 2017-07-16 06:50:33 +0200 |
commit | 5c0555501aeb32301dacd4bf1c973b216b207644 (patch) | |
tree | c6dc55c6d4e813b7b639ae49c194c3e688191202 /ranger | |
parent | d7849c70acbb0704931abdb3869d961f189cb8e0 (diff) | |
download | ranger-5c0555501aeb32301dacd4bf1c973b216b207644.tar.gz |
add "F" key to toggle new "freeze_files" option
Excerpt from man page: Toggle "freeze_files" setting. When active, directories and files will not be loaded, improving performance when all the files you need are already loaded. This does not affect file previews, which can be toggled with "zI".
Diffstat (limited to 'ranger')
-rw-r--r-- | ranger/config/rc.conf | 1 | ||||
-rw-r--r-- | ranger/container/directory.py | 2 | ||||
-rw-r--r-- | ranger/container/fsobject.py | 5 | ||||
-rw-r--r-- | ranger/container/settings.py | 1 |
4 files changed, 8 insertions, 1 deletions
diff --git a/ranger/config/rc.conf b/ranger/config/rc.conf index e088b660..92428312 100644 --- a/ranger/config/rc.conf +++ b/ranger/config/rc.conf @@ -271,6 +271,7 @@ map q quit copymap q ZZ ZQ map R reload_cwd +map F set freeze_files! map <C-r> reset map <C-l> redraw_window map <C-c> abort diff --git a/ranger/container/directory.py b/ranger/container/directory.py index c73e2408..97a3f0aa 100644 --- a/ranger/container/directory.py +++ b/ranger/container/directory.py @@ -471,6 +471,8 @@ class Directory( # pylint: disable=too-many-instance-attributes,too-many-public Use this sparingly since it takes rather long. """ self.content_outdated = False + if self.settings.freeze_files: + return if not self.loading: if not self.loaded: diff --git a/ranger/container/fsobject.py b/ranger/container/fsobject.py index 121fac22..640d0c48 100644 --- a/ranger/container/fsobject.py +++ b/ranger/container/fsobject.py @@ -270,9 +270,12 @@ class FileSystemObject( # pylint: disable=too-many-instance-attributes,too-many filesystem and caches it for later use """ + self.loaded = True + if self.settings.freeze_files: + return + self.display_data = {} self.fm.update_preview(self.path) - self.loaded = True # Get the stat object, either from preload or from [l]stat self.permissions = None diff --git a/ranger/container/settings.py b/ranger/container/settings.py index 243e1eb8..521583c4 100644 --- a/ranger/container/settings.py +++ b/ranger/container/settings.py @@ -41,6 +41,7 @@ ALLOWED_SETTINGS = { 'draw_borders': bool, 'draw_progress_bar_in_status_bar': bool, 'flushinput': bool, + 'freeze_files': bool, 'global_inode_type_filter': str, 'hidden_filter': str, 'idle_delay': int, |