Provider Actions
Walker gives you the freedom to provide multiple actions/keybinds for a list item. These are configured in the [providers.actions]
section of the config. This section will be merged with the default configuration.
[providers.actions]
runner = [
{ action = "run", default = true, bind = "Return" },
{ action = "runterminal", label = "run in terminal", bind = "shift Return" },
]
There is a bit of magic behavior going on:
item has only 1 action and no bind set ⇒ automatic fallback
default
bind
key ⇒Return
default
after
key ⇒Close
default
label
key ⇒action
key
Possible after
keys and their behavior
after
keys and their behaviorKeepOpen
Activate item + select next
Close
Close
Nothing
Nothing
Reload
Reload with current query
ClearReload
Clear query and reload
AsyncClearReload
Reload gets triggered by backend
AsyncReload
Reload gets triggered by backend
Special actions
provider:<provider>
switches to a given provider
set:<set>
switches to a given set
Fallbacks
Often times, you have multiple providers with the same actions, example: menus:open
is a common action for custom menus. Instead of having to define this action for every provider, Walker allows you to set fallbacks, f.e.:
[providers.actions]
fallback = [
{ action = "menus:open", label = "open", after = "Nothing" },
{ action = "erase_history", label = "clear hist", bind = "ctrl h", after = "AsyncReload" },
]
You can define your own fallbacks in a similar fashion.
Last updated