summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/actions.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ranger/actions.py b/ranger/actions.py
index d51b2119..19e0028d 100644
--- a/ranger/actions.py
+++ b/ranger/actions.py
@@ -118,6 +118,16 @@ class Actions(EnvironmentAware, SettingsAware):
 		self.env.cf = self.env.pwd.move_pointer(
 				relative = int(relative * self.env.termsize[0]))
 
+	def move_pointer_by_percentage(self, relative=0, absolute=None):
+		"""Move the pointer down by <relative>% or to <absolute>%"""
+		try:
+			factor = len(self.env.pwd) / 100.0
+		except:
+			return
+		self.env.cf = self.env.pwd.move_pointer( \
+				relative=int(relative * factor), \
+				absolute=int(absolute * factor) )
+
 	def scroll(self, relative):
 		"""Scroll down by <relative> lines"""
 		if hasattr(self.ui, 'scroll'):