summary refs log tree commit diff stats
path: root/examples/plugin_hello_world.py
blob: 187f428e98843061759df774f2feedaf4cc5cfb3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# This is a sample plugin that displays "Hello World" in ranger's console after
# it started.

# We are going to extend the hook "ranger.api.hook_ready", so first we need
# to import ranger.api:
import ranger.api

# Save the previously existing hook, because maybe another module already
# extended that hook and we don't want to lose it:
old_hook_ready = ranger.api.hook_ready

# Create a replacement for the hook that...
def hook_ready(fm):
  # ...does the desired action...
  fm.notify("Hello World")
  # ...and calls the saved hook.  If you don't care about the return value, simply
  # return the return value of the previous hook to be on the safe side.
  return old_hook_ready(fm)

# Finally, "monkey patch" the existing hook_ready function with our replacement:
ranger.api.hook_ready = hook_ready