diff options
Diffstat (limited to 'doc/examples/plugin_chmod_keybindings.py')
-rw-r--r-- | doc/examples/plugin_chmod_keybindings.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/examples/plugin_chmod_keybindings.py b/doc/examples/plugin_chmod_keybindings.py new file mode 100644 index 00000000..0ab975ed --- /dev/null +++ b/doc/examples/plugin_chmod_keybindings.py @@ -0,0 +1,20 @@ +# Compatible with ranger 1.6.* +# +# This plugin serves as an example for adding key bindings through a plugin. +# It could replace the ten lines in the rc.conf that create the key bindings +# for the "chmod" command. + +import ranger.api +old_hook_init = ranger.api.hook_init + +def hook_init(fm): + old_hook_init(fm) + + # Generate key bindings for the chmod command + command = "map {0}{1}{2} shell -d chmod {1}{0}{2} %s" + for mode in list('ugoa') + ['']: + for perm in "rwxXst": + fm.execute_console(command.format('-', mode, perm)) + fm.execute_console(command.format('+', mode, perm)) + +ranger.api.hook_init = hook_init |