summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--doc/ranger.17
-rw-r--r--doc/ranger.pod6
-rw-r--r--ranger/config/rc.conf5
-rw-r--r--ranger/container/settings.py1
-rw-r--r--ranger/gui/ui.py4
5 files changed, 21 insertions, 2 deletions
diff --git a/doc/ranger.1 b/doc/ranger.1
index 2c19a1a5..9aa4e318 100644
--- a/doc/ranger.1
+++ b/doc/ranger.1
@@ -133,7 +133,7 @@
 .\" ========================================================================
 .\"
 .IX Title "RANGER 1"
-.TH RANGER 1 "ranger-1.6.1" "10/15/2014" "ranger manual"
+.TH RANGER 1 "ranger-1.6.1" "10/31/2014" "ranger manual"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -669,6 +669,11 @@ this pattern will hide all files that start with a dot or end with a tilde.
 .Vb 1
 \& set hidden_filter ^\e.|~$
 .Ve
+.IP "idle_delay [integer]" 4
+.IX Item "idle_delay [integer]"
+The delay that ranger idly waits for user input, in milliseconds, with a
+resolution of 100ms.  Lower delay reduces lag between directory updates but
+increases \s-1CPU\s0 load.
 .IP "max_console_history_size [integer, none]" 4
 .IX Item "max_console_history_size [integer, none]"
 How many console commands should be kept in history?  \*(L"none\*(R" will disable the
diff --git a/doc/ranger.pod b/doc/ranger.pod
index 07c6a3bc..370bbb85 100644
--- a/doc/ranger.pod
+++ b/doc/ranger.pod
@@ -655,6 +655,12 @@ this pattern will hide all files that start with a dot or end with a tilde.
 
  set hidden_filter ^\.|~$
 
+=item idle_delay [integer]
+
+The delay that ranger idly waits for user input, in milliseconds, with a
+resolution of 100ms.  Lower delay reduces lag between directory updates but
+increases CPU load.
+
 =item max_console_history_size [integer, none]
 
 How many console commands should be kept in history?  "none" will disable the
diff --git a/ranger/config/rc.conf b/ranger/config/rc.conf
index 644706e8..23cd2e10 100644
--- a/ranger/config/rc.conf
+++ b/ranger/config/rc.conf
@@ -169,6 +169,11 @@ set preview_max_size 0
 # Add the highlighted file to the path in the titlebar
 set show_selection_in_titlebar true
 
+# The delay that ranger idly waits for user input, in milliseconds, with a
+# resolution of 100ms.  Lower delay reduces lag between directory updates but
+# increases CPU load.
+set idle_delay 2000
+
 # ===================================================================
 # == Local Options
 # ===================================================================
diff --git a/ranger/container/settings.py b/ranger/container/settings.py
index 0d8b6906..f75c274f 100644
--- a/ranger/container/settings.py
+++ b/ranger/container/settings.py
@@ -25,6 +25,7 @@ ALLOWED_SETTINGS = {
     'draw_progress_bar_in_status_bar': bool,
     'flushinput': bool,
     'hidden_filter': str,
+    'idle_delay': int,
     'max_console_history_size': (int, type(None)),
     'max_history_size': (int, type(None)),
     'mouse_enabled': bool,
diff --git a/ranger/gui/ui.py b/ranger/gui/ui.py
index 1f95ac59..1c76de05 100644
--- a/ranger/gui/ui.py
+++ b/ranger/gui/ui.py
@@ -117,7 +117,9 @@ class UI(DisplayableContainer):
                 self.win.nodelay(1)
             else:
                 self.win.nodelay(0)
-                curses.halfdelay(20)
+                # Sanitize halfdelay setting
+                halfdelay = min(255, max(1, self.settings.idle_delay // 100))
+                curses.halfdelay(halfdelay)
 
     def destroy(self):
         """Destroy all widgets and turn off curses"""