libtmux Reference MCP Search
On this page

libtmux.Server.set_hooks

View as Markdown

Module
libtmux
Declared in
Server
Package
libtmux
Source
src/libtmux/hooks.py
set_hooks ( self , hook : str , values : HookValues , clear_existing : bool = False , global_ : bool | None = None , scope : OptionScope | _DefaultOptionScope | None = DEFAULT_OPTION_SCOPE ) Self
method [source]
method [source]
set_hooks

Inherited from libtmux.hooks.HooksMixin

Set multiple indexed hooks at once.

Examples

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

  • global_ ( bool | None ) – Use global hooks

  • scope ( OptionScope | _DefaultOptionScope | None ) – Scope for the hook

Returns

Self Returns self for method chaining.

0 declared, 0 inherited

Esc

Type to search.