summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--examples/plugin_fasd_add.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/examples/plugin_fasd_add.py b/examples/plugin_fasd_add.py
new file mode 100644
index 00000000..c107ecc1
--- /dev/null
+++ b/examples/plugin_fasd_add.py
@@ -0,0 +1,25 @@
+# This plugin adds opened files to `fasd`
+
+from __future__ import (absolute_import, division, print_function)
+
+import subprocess
+
+import ranger.api
+from ranger.ext.spawn import check_output
+
+
+HOOK_INIT_OLD = ranger.api.hook_init
+
+
+def hook_init(fm):
+    def fasd_add():
+        for fobj in fm.thistab.get_selection():
+            try:
+                check_output(['fasd', '--add', fobj.path])
+            except subprocess.CalledProcessError:
+                pass
+    fm.signal_bind('execute.before', fasd_add)
+    return HOOK_INIT_OLD(fm)
+
+
+ranger.api.hook_init = hook_init