summary refs log tree commit diff stats
path: root/ranger/applications.py
diff options
context:
space:
mode:
Diffstat (limited to 'ranger/applications.py')
-rw-r--r--ranger/applications.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ranger/applications.py b/ranger/applications.py
index c9f2ec18..d5c0f5fb 100644
--- a/ranger/applications.py
+++ b/ranger/applications.py
@@ -1,3 +1,11 @@
+"""
+List of allowed flags:
+s: silent mode. output will be discarded.
+d: detach the process.
+p: redirect output to the pager
+
+An uppercase key ensures that a certain flag will not be used.
+"""
 ALLOWED_FLAGS = 'sdpSDP'
 
 class Applications(object):
@@ -35,6 +43,10 @@ def run(*args, **kw):
 	popen_kw = {}
 	popen_kw['stdout'] = sys.stderr
 
+	for word in ('shell', 'stdout', 'stdin', 'stderr'):
+		if word in kw:
+			popen_kw[word] = kw[word]
+
 	if kw['stdin'] is not None:
 		popen_kw['stdin'] = kw['stdin']