Session.set_hooks
Set multiple indexed hooks at once.
Source and package
- set_hooks ( self, hook: str, values: Hook
Values , clear_existing: bool = False, global_: bool | None = None, scope: OptionScope | _DefaultOption | None = DEFAULT_OPTION_SCOPE, ) SelfScope -
Inherited from
libtmux.hooks.HooksMixinExamples#
Set hooks with explicit indices:
>>> session.set_hooks('session-renamed', {... 0: 'display-message "hook 0"',... 1: 'display-message "hook 1"',... })Session($...)>>> hooks = session.show_hook('session-renamed')>>> sorted(hooks.keys())[0, 1]>>> session.unset_hook('session-renamed')Session($...)Set hooks from a list (sequential indices):
>>> session.set_hooks('after-new-window', [... 'select-pane -t 0',... 'send-keys "clear" Enter',... ])Session($...)>>> hooks = session.show_hook('after-new-window')>>> sorted(hooks.keys())[0, 1]Replace all existing hooks with
clear_existing=True:>>> session.set_hooks(... 'session-renamed',... {0: 'display-message "new"'},... clear_existing=True,... )Session($...)>>> hooks = session.show_hook('session-renamed')>>> sorted(hooks.keys())[0]>>> session.unset_hook('session-renamed')Session($...)>>> session.unset_hook('after-new-window')Session($...)- Parameters
-
-
hook(str) # – Hook name, e.g. 'session-renamed' -
values(HookValues ) # – Values to set. Can be: - dict[int, str]: {0: 'cmd1', 1: 'cmd2'} - explicit indices - SparseArray[str]: preserves indices from another hook - list[str]: ['cmd1', 'cmd2'] - sequential indices starting at 0 -
clear_existing(bool) # – If True, unset all existing hook values first -
scope(OptionScope | _DefaultOption | None) # – Scope for the hookScope
-
- Returns
-
Self Returns self for method chaining.
tmux command#
The tmux commands behind set_hooks.
tmux C API#
The C declarations in tmux that implement these commands.
tmux hooks#
Events that run tmux commands, with the scope each hook belongs to and where tmux fires it.
In other ports#
Write a session hook and its indexed commands at once
| Language | Equivalent |
|---|---|
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | no equivalent on Session |
| Rust | session |
| Go | tmux |
| Java | no equivalent on Session |
| C# | no equivalent on Session |
| C++ | no equivalent on Session |
| Swift | no equivalent on Session |
| OCaml | No direct public OCaml equivalent is recorded for this operation. |
| Perl | No dedicated equivalent in the selected Perl surface. Explicit Server::cmd remains available for native tmux commands. |
No equivalent is recorded in Ruby, Lua, PowerShell, Julia, Erlang, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.