summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/core/runner.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/ranger/core/runner.py b/ranger/core/runner.py
index 713f8027..0e5d9fa3 100644
--- a/ranger/core/runner.py
+++ b/ranger/core/runner.py
@@ -142,9 +142,12 @@ class Runner(object):
 
         if 'shell' not in popen_kws:
             popen_kws['shell'] = isinstance(action, str)
+
+        # Set default shell for Popen
         if popen_kws['shell']:
-            # Set default shell for Popen
-            popen_kws['executable'] = os.environ['SHELL']
+            # This doesn't work with fish, see #300
+            if os.environ['SHELL'] != 'fish':
+                popen_kws['executable'] = os.environ['SHELL']
 
         if 'stdout' not in popen_kws:
             popen_kws['stdout'] = sys.stdout